Celeritas 0.6.0-93+develop.7a7d9941
|
Generate optical primaries from user-configurable distributions. More...
#include <PrimaryGeneratorAction.hh>
Public Types | |
Type aliases | |
using | Input = inp::OpticalPrimaryGenerator |
![]() | |
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 | |
PrimaryGeneratorAction (ActionId, AuxId, GeneratorId, Input) | |
Construct with IDs and distribution. | |
template<MemSpace M> | |
void | queue_primaries (CoreState< M > &) const |
Set the number of pending tracks. | |
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< PrimaryGeneratorAction > | 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 optical primaries from user-configurable distributions.
This reproducibly samples and initializes optical photons directly in track slots.
celeritas::optical::PrimaryGeneratorAction::PrimaryGeneratorAction | ( | ActionId | id, |
AuxId | aux_id, | ||
GeneratorId | gen_id, | ||
Input | inp | ||
) |
Construct with IDs and distribution.
|
finalvirtual |
Build state data for a stream.
Implements celeritas::AuxParamsInterface.
|
inline |
Set the number of pending tracks.
The number of tracks to generate must be set at the beginning of each event before the optical loop is launched.