Celeritas 0.6.0-93+develop.7a7d9941
|
Common interface for generating optical photons. More...
#include <GeneratorBase.hh>
Public Member Functions | |
GeneratorBase (ActionId id, AuxId aux_id, GeneratorId gen_id, std::string_view label, std::string_view description) noexcept(!CELERITAS_DEBUG) | |
Construct with IDs, label, and description. | |
template<MemSpace M> | |
void | update_counters (optical::CoreState< M > &) const |
Update the generator and state counters. | |
Aux interface | |
AuxId | aux_id () const final |
Index of this class instance in its registry. | |
Action interface | |
ActionId | action_id () const final |
ID of the action. | |
std::string_view | label () const final |
Short name for the action. | |
std::string_view | description () const final |
Description of the action. | |
StepAction interface | |
StepActionOrder | order () const final |
Dependency ordering of the action. | |
Generator interface | |
GeneratorId | generator_id () const final |
ID of the generator. | |
GeneratorStateBase & | counters (AuxStateVec &) const final |
Get generator counters (mutable). | |
GeneratorStateBase const & | counters (AuxStateVec const &) const final |
Get generator counters. | |
![]() | |
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. | |
![]() | |
virtual | ~ActionInterface () noexcept=0 |
Default destructor. | |
![]() | |
virtual | ~AuxParamsInterface () |
Default destructor. | |
virtual UPState | create_state (MemSpace, StreamId, size_type size) const =0 |
Factory function for building multithread state for a stream. | |
![]() | |
virtual | ~GeneratorInterface () |
Default destructor. | |
Additional Inherited Members | |
![]() | |
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 > |
![]() | |
using | UPState = std::unique_ptr< AuxStateInterface > |
Default destructor. | |
![]() | |
CELER_DEFAULT_COPY_MOVE (ActionInterface) | |
![]() | |
AuxParamsInterface ()=default | |
CELER_DEFAULT_COPY_MOVE (AuxParamsInterface) | |
Default destructor. | |
![]() | |
CELER_DEFAULT_COPY_MOVE (GeneratorInterface) | |
Common interface for generating optical photons.
|
inlinefinalvirtual |
ID of the action.
Implements celeritas::ActionInterface.
|
inlinefinalvirtual |
Index of this class instance in its registry.
Implements celeritas::AuxParamsInterface.
|
finalvirtual |
Get generator counters (mutable).
Implements celeritas::GeneratorInterface.
|
finalvirtual |
Get generator counters.
Implements celeritas::GeneratorInterface.
|
inlinefinalvirtual |
Description of the action.
Implements celeritas::ActionInterface.
|
inlinefinalvirtual |
ID of the generator.
Implements celeritas::GeneratorInterface.
|
inlinefinalvirtual |
Short name for the action.
Implements celeritas::ActionInterface.
|
inlinefinalvirtual |
Dependency ordering of the action.
Implements celeritas::StepActionInterface< P, S >.