|
Celeritas 0.7+cf8d83d
|
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. | |
| SurfacePhysicsTrackView & | operator= (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 const & | facet_normal () const |
| Get local facet normal after roughness sampling. | |
| void | facet_normal (Real3 const &) |
| Assign local facet normal from roughness sampling. | |
| ReflectivityAction | reflectivity_action () const |
| Get the reflectivity action for this step. | |
| void | reflectivity_action (ReflectivityAction) |
| Assign the reflectivity action for this step. | |
| 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 const & | scalars () const |
| Access scalar data for surface physics. | |
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 (pre/post volume when the crossing began) and traversal direction (current state) to access relevant material and interface data in storage.
|
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.
|
inline |
Whether the track is undergoing boundary crossing.
Returns true if there's a valid surface ID, otherwise false.
|
inline |
Reset the state of a track.
Invalidates the surface ID, indicating the track is no longer undergoing boundary crossing.