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

Optical surface physics data for a track. More...

#include <SurfacePhysicsTrackView.hh>

Classes

struct  Initializer
 

Public Types

Type aliases
using SurfaceParamsRef = NativeCRef< SurfacePhysicsParamsData >
 
using SurfaceStateRef = NativeRef< SurfacePhysicsStateData >
 

Public Member Functions

CELER_FUNCTION SurfacePhysicsTrackView (SurfaceParamsRef const &, SurfaceStateRef const &, TrackSlotId)
 Initialize view from surface physics data and state for a given track.
 
CELER_FUNCTION SurfacePhysicsTrackViewoperator= (Initializer const &)
 Initialize track state with given initializer data.
 
CELER_FUNCTION void reset ()
 Reset the state of a track.
 
CELER_FUNCTION bool is_crossing_boundary () const
 Whether the track is undergoing boundary crossing.
 
CELER_FUNCTION OptMatId material () const
 Get current subsurface material.
 
CELER_FUNCTION OptMatId next_material () const
 Get next subsurface material.
 
CELER_FUNCTION SurfacePhysicsMapView interface (SurfacePhysicsOrder) const
 Get surface physics map for next surface.
 
CELER_FUNCTION void update_traversal_direction (Real3 const &)
 Calculate and update traversal direction from track momentum.
 
CELER_FUNCTION Real3 constglobal_normal () const
 Get global surface normal.
 
CELER_FUNCTION Real3 constfacet_normal () const
 Get local facet normal after roughness sampling.
 
CELER_FUNCTION void facet_normal (Real3 const &)
 Assign local facet normal from roughness sampling.
 
CELER_FUNCTION SurfaceTraversalView traversal () const
 Construct a traversal view for this track.
 
CELER_FUNCTION SurfacePhysicsView surface () const
 Construct a surface physics view, whose orientation is based on this track.
 
CELER_FUNCTION SurfacePhysicsParamsScalars constscalars () const
 Access scalar data for surface physics.
 

Detailed Description

Optical surface physics data for a track.

Tracks maintain a position while traversing the interstitial materials of an optical surface. This class provides transformations from this position based on the surface orientation and traversal direction to access relevant material and interface data in storage.

Member Function Documentation

◆ global_normal()

CELER_FUNCTION Real3 const & celeritas::optical::SurfacePhysicsTrackView::global_normal ( ) const
inline

Get global surface normal.

The global surface normal is the normal defined by the geometry and does not include any roughness effects. By convention it points from the post-volume into the pre-volume.

◆ is_crossing_boundary()

CELER_FUNCTION bool celeritas::optical::SurfacePhysicsTrackView::is_crossing_boundary ( ) const
inline

Whether the track is undergoing boundary crossing.

Returns true if there's a valid surface ID, otherwise false.

◆ reset()

CELER_FUNCTION void celeritas::optical::SurfacePhysicsTrackView::reset ( )
inline

Reset the state of a track.

Invalidates the surface ID, indicating the track is no longer undergoing boundary crossing.


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