Celeritas 0.7.0-dev.79+develop.b3dc2e108
Loading...
Searching...
No Matches
Public Member Functions | List of all members
celeritas::optical::SurfacePhysicsParams Class Referencefinal

Manage properties for optical surface physics. More...

#include <SurfacePhysicsParams.hh>

Inheritance diagram for celeritas::optical::SurfacePhysicsParams:
Inheritance graph
[legend]

Public Types

Type aliases
using SPModel = std::shared_ptr< SurfaceModel >
 
using SurfaceStepModels = EnumArray< SurfacePhysicsOrder, std::vector< SPModel > >
 
- Public Types inherited from celeritas::ParamsDataInterface< SurfacePhysicsParamsData >
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 consthost_ref () const final
 Access surface physics data on host.
 
DeviceRef constdevice_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 > constmodels (SurfacePhysicsOrder step) const
 Get models for a given sub-step.
 
- Public Member Functions inherited from celeritas::ParamsDataInterface< SurfacePhysicsParamsData >
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

- Protected Member Functions inherited from celeritas::ParamsDataInterface< SurfacePhysicsParamsData >
 CELER_DEFAULT_COPY_MOVE (ParamsDataInterface)
 

Detailed Description

Manage properties for optical surface physics.

Surface physics during boundary crossing is split into three phases:

  1. Initialize boundary crossing
  2. Surface physics stepping
  3. Post boundary crossing

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.

Member Function Documentation

◆ device_ref()

DeviceRef const & celeritas::optical::SurfacePhysicsParams::device_ref ( ) const
inlinefinalvirtual

Access surface physics data on device.

Implements celeritas::ParamsDataInterface< SurfacePhysicsParamsData >.

◆ host_ref()

HostRef const & celeritas::optical::SurfacePhysicsParams::host_ref ( ) const
inlinefinalvirtual

Access surface physics data on host.

Implements celeritas::ParamsDataInterface< SurfacePhysicsParamsData >.


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