Celeritas 0.7.0-dev.79+develop.b3dc2e108
|
Optical surface physics model. More...
#include <SurfaceModel.hh>
Public Types | |
Type aliases | |
using | CoreStateHost = CoreState< MemSpace::host > |
using | CoreStateDevice = CoreState< MemSpace::device > |
![]() | |
using | VecSurfaceLayer = std::vector< PhysSurfaceId > |
Vector of surfaces. | |
using | InternalSurfaceId = OpaqueId< struct InternalModelSurface_ > |
Opaque index of surface data in the list for a particular surface model. | |
Public Member Functions | |
virtual void | step (CoreParams const &, CoreStateHost &) const =0 |
Execute the model with host data. | |
virtual void | step (CoreParams const &, CoreStateDevice &) const =0 |
Execute the model with device data. | |
![]() | |
virtual | ~SurfaceModel ()=0 |
Anchored default destructor. | |
virtual VecSurfaceLayer | get_surfaces () const =0 |
Get the list of surfaces/layers this applies to. | |
SurfaceModelId | surface_model_id () const |
Opaque ID of this surface model. | |
std::string_view | label () const |
Short descriptive name of this model. | |
Additional Inherited Members | |
![]() | |
SurfaceModel (SurfaceModelId, std::string_view) | |
Construct with label and model ID. | |
CELER_DEFAULT_COPY_MOVE (SurfaceModel) | |
Optical surface physics model.
Base class for implementing an optical surface physics model for a given physics sub-step. Adds step
functions to the core phys::SurfaceModel
.