Celeritas 0.7.0-dev.252+develop.478e7a17
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

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

Real3 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()

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()

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: