Celeritas 0.6.0-93+develop.7a7d9941
|
Generate photons from optical distribution data. More...
#include <GeneratorAction.hh>
Classes | |
struct | Input |
Generator input data. More... | |
Public Types | |
Type aliases | |
using | TraitsT = detail::GeneratorTraits< G > |
template<Ownership W, MemSpace M> | |
using | Data = typename TraitsT::template Data< W, M > |
using | SPConstParams = std::shared_ptr< typename TraitsT::Params const > |
using | SPConstMaterial = std::shared_ptr< MaterialParams const > |
![]() | |
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. | |
Public Member Functions | |
GeneratorAction (ActionId, AuxId, GeneratorId, Input &&) | |
Construct with action ID, data IDs, and optical properties. | |
Aux interface | |
UPState | create_state (MemSpace, StreamId, size_type) const final |
Build state data for a stream. | |
StepAction interface | |
void | step (CoreParams const &, CoreStateHost &) const final |
Execute the action with host data. | |
void | step (CoreParams const &, CoreStateDevice &) const final |
Execute the action with device data. | |
![]() | |
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. | |
AuxId | aux_id () const final |
Index of this class instance in its registry. | |
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. | |
StepActionOrder | order () const final |
Dependency ordering of the action. | |
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 | ~GeneratorInterface () |
Default destructor. | |
Static Public Member Functions | |
static std::shared_ptr< GeneratorAction > | make_and_insert (::celeritas::CoreParams const &, CoreParams const &, Input &&) |
Construct and add to core params. | |
Additional Inherited Members | |
![]() | |
CELER_DEFAULT_COPY_MOVE (ActionInterface) | |
![]() | |
AuxParamsInterface ()=default | |
CELER_DEFAULT_COPY_MOVE (AuxParamsInterface) | |
Default destructor. | |
![]() | |
CELER_DEFAULT_COPY_MOVE (GeneratorInterface) | |
Generate photons from optical distribution data.
This samples and initializes optical photons directly in a track slot in a reproducible way. Multiple threads may generate initializers from a single distribution.
|
finalvirtual |
Build state data for a stream.
Implements celeritas::AuxParamsInterface.