Celeritas 0.6.0-dev.115+3b60a5fd
Loading...
Searching...
No Matches
Public Member Functions | List of all members
celeritas::optical::Model Class Referenceabstract

Base class for discrete, volumetric optical models. More...

#include <Model.hh>

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

Public Types

Type aliases
using ModelBuilder = std::function< std::shared_ptr< Model >(ActionId)>
 Function to build optical models with a given action id.
 
- Public Types inherited from celeritas::ActionTypeTraits< P, S >
using CoreParams = P
 
using CoreStateHost = S< MemSpace::host >
 
using CoreStateDevice = S< MemSpace::device >
 
using SpanCoreStateHost = Span< S< MemSpace::host > *const >
 
using SpanCoreStateDevice = Span< S< MemSpace::device > *const >
 

Public Member Functions

StepActionOrder order () const override
 Action order for optical models is always post-step.
 
virtual void build_mfps (OpticalMaterialId mat, MfpBuilder &build) const =0
 Build mean free path grids for all optical materials.
 
 ConcreteAction (ActionId id, std::string label) noexcept(!CELERITAS_DEBUG)
 Construct a concrete action from a label and ID.
 
 ConcreteAction (ActionId id, std::string label, std::string description) noexcept(!CELERITAS_DEBUG)
 Construct a concrete action from an ID, a unique label, and a description.
 
- Public Member Functions inherited from celeritas::StepActionInterface< P, S >
virtual void step (P const &, S< MemSpace::host > &) const =0
 Execute the action with host data.
 
virtual void step (P const &, S< MemSpace::device > &) const =0
 Execute the action with device data.
 
- Public Member Functions inherited from celeritas::ActionInterface
virtual ~ActionInterface () noexcept=0
 Default destructor.
 
- Public Member Functions inherited from celeritas::ConcreteAction
 ConcreteAction (ActionId id, std::string label) noexcept(!CELERITAS_DEBUG)
 Construct a concrete action from a label and ID.
 
 ConcreteAction (ActionId id, std::string label, std::string description) noexcept(!CELERITAS_DEBUG)
 Construct a concrete action from an ID, a unique label, and a description.
 
 ~ConcreteAction () noexcept override
 Default destructor.
 
 CELER_DELETE_COPY_MOVE (ConcreteAction)
 
ActionId action_id () const final
 ID of this action for verification.
 
std::string_view label () const final
 Short label.
 
std::string_view description () const final
 Descriptive label.
 

Additional Inherited Members

- Protected Member Functions inherited from celeritas::ActionInterface
 CELER_DEFAULT_COPY_MOVE (ActionInterface)
 

Detailed Description

Base class for discrete, volumetric optical models.

For optical physics, there is precisely one particle (optical photons) and one energy range (optical wavelengths), so only models and no processes are used in optical physics.

Member Function Documentation

◆ build_mfps()

virtual void celeritas::optical::Model::build_mfps ( OpticalMaterialId  mat,
MfpBuilder build 
) const
pure virtual

Build mean free path grids for all optical materials.

Implemented in celeritas::optical::AbsorptionModel, and celeritas::optical::RayleighModel.

◆ order()

StepActionOrder celeritas::optical::Model::order ( ) const
inlineoverridevirtual

Action order for optical models is always post-step.

Implements celeritas::StepActionInterface< P, S >.


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