|
Celeritas 0.7.0-dev.168+develop.6e17e5869
|
Optical surface physics model. More...
#include <SurfaceModel.hh>

Public Types | |
Type aliases | |
| using | CoreStateHost = CoreState< MemSpace::host > |
| using | CoreStateDevice = CoreState< MemSpace::device > |
Public Types inherited from celeritas::SurfaceModel | |
| using | VecSurfaceLayer = std::vector< PhysSurfaceId > |
| Vector of surfaces. | |
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. | |
Public Member Functions inherited from celeritas::SurfaceModel | |
| virtual | ~SurfaceModel ()=0 |
| Anchored default destructor. | |
| virtual VecSurfaceLayer const & | 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 | |
Protected Member Functions inherited from celeritas::SurfaceModel | |
| 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.
|
pure virtual |
Execute the model with device data.
Implemented in celeritas::optical::DielectricInteractionModel, celeritas::optical::PolishedRoughnessModel, celeritas::optical::TrivialInteractionModel, celeritas::optical::DielectricInteractionModel, celeritas::optical::PolishedRoughnessModel, and celeritas::optical::TrivialInteractionModel.
|
pure virtual |
Execute the model with host data.
Implemented in celeritas::optical::DielectricInteractionModel, celeritas::optical::PolishedRoughnessModel, celeritas::optical::TrivialInteractionModel, celeritas::optical::DielectricInteractionModel, celeritas::optical::PolishedRoughnessModel, and celeritas::optical::TrivialInteractionModel.