Celeritas 0.7.0-dev.127+develop.e63889793
|
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. | |
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.
|
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.
|
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.
|
inline |
Get geometric surface ID the track is currently on.
The ID is invalid if the track is not undergoing a boundary crossing.