Celeritas 0.7.0-dev.127+develop.e63889793
Loading...
Searching...
No Matches
Public Member Functions | List of all members
celeritas::optical::SurfacePhysicsView Class Reference

Optical surface physics data. More...

#include <SurfacePhysicsView.hh>

Public Types

Type aliases
using SurfaceParamsRef = NativeCRef< SurfacePhysicsParamsData >
 

Public Member Functions

CELER_FUNCTION SurfacePhysicsView (SurfaceParamsRef const &, SurfaceId, SubsurfaceDirection)
 Construct from data, states, and a given track ID.
 
CELER_FUNCTION SurfaceId surface () const
 Get geometric surface ID the track is currently on.
 
CELER_FUNCTION SubsurfaceDirection orientation () const
 Get traversal orientation of the current surface.
 
CELER_FUNCTION OptMatId interstitial_material (SurfaceTrackPosition) const
 Return the interstitial material ID of the given track position.
 
CELER_FUNCTION PhysSurfaceId interface (SurfaceTrackPosition, SubsurfaceDirection) const
 Return the subsurface interface ID of the given track position and direction.
 

Detailed Description

Optical surface physics data.

Maps surface track position to interstitial optical material and interface data for a given optical surface. The optical surface may be oriented (forward or reverse) relative to its layout in the data record.

Member Function Documentation

◆ interstitial_material()

CELER_FUNCTION OptMatId celeritas::optical::SurfacePhysicsView::interstitial_material ( SurfaceTrackPosition  pos) const
inline

Return the interstitial material ID of the given track position.

Position should be in the range [1,N] where N is the number of subsurface materials.

◆ orientation()

CELER_FUNCTION SubsurfaceDirection celeritas::optical::SurfacePhysicsView::orientation ( ) const
inline

Get traversal orientation of the current surface.

Subsurfaces are ordered in storage between two volumes. This orientation specifies if the track is traversing the stored list of sub-surfaces in forward or reverse order.

◆ surface()

CELER_FUNCTION SurfaceId celeritas::optical::SurfacePhysicsView::surface ( ) const
inline

Get geometric surface ID the track is currently on.

The ID is invalid if the track is not undergoing a boundary crossing.


The documentation for this class was generated from the following file: