Celeritas 0.7.0-dev.79+develop.b3dc2e108
|
Manage properties for optical surface physics. More...
#include <SurfacePhysicsParams.hh>
Public Types | |
Type aliases | |
using | SPModel = std::shared_ptr< SurfaceModel > |
using | SurfaceStepModels = EnumArray< SurfacePhysicsOrder, std::vector< SPModel > > |
![]() | |
using | HostRef = HostCRef< SurfacePhysicsParamsData > |
using | DeviceRef = DeviceCRef< SurfacePhysicsParamsData > |
Public Member Functions | |
SurfacePhysicsParams (ActionRegistry *action_reg, inp::SurfacePhysics const &input) | |
Construct surface physics parameters from input. | |
HostRef const & | host_ref () const final |
Access surface physics data on host. | |
DeviceRef const & | device_ref () const final |
Access surface physics data on device. | |
ActionId | init_boundary_action () const |
Action ID for initializing boundary interactions. | |
ActionId | surface_stepping_action () const |
Action ID for surface stepping loop action. | |
ActionId | post_boundary_action () const |
Action ID for finishing boundary interactions. | |
std::vector< SPModel > const & | models (SurfacePhysicsOrder step) const |
Get models for a given sub-step. | |
![]() | |
SurfacePhysicsParamsData< Ownership::const_reference, M > const & | ref () const |
SurfacePhysicsParamsData< Ownership::const_reference, M > const & | ref () const |
Dispatch a "ref" call to host or device data. | |
Additional Inherited Members | |
![]() | |
CELER_DEFAULT_COPY_MOVE (ParamsDataInterface) | |
Manage properties for optical surface physics.
Surface physics during boundary crossing is split into three phases:
When a surface is crossed in the geometry traversal, the InitBoundaryAction
is called which initializes the surface physics state for the track. The standard stepping loop is replaced with the surface physics stepping action which calls each surface physics model in appropriate order. When the track is leaving the surface, the PostBoundaryAction
is called to clean up the state and update the geometry.
|
inlinefinalvirtual |
Access surface physics data on device.
Implements celeritas::ParamsDataInterface< SurfacePhysicsParamsData >.
|
inlinefinalvirtual |
Access surface physics data on host.
Implements celeritas::ParamsDataInterface< SurfacePhysicsParamsData >.