Celeritas 0.6.0-93+develop.7a7d9941
Loading...
Searching...
No Matches
Classes | Public Member Functions | Static Public Member Functions | List of all members
celeritas::optical::GeneratorAction< G > Class Template Referencefinal

Generate photons from optical distribution data. More...

#include <GeneratorAction.hh>

Inheritance diagram for celeritas::optical::GeneratorAction< G >:
Inheritance graph
[legend]

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 >
 
- 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 Types inherited from celeritas::AuxParamsInterface
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.
 
- Public Member Functions inherited from celeritas::optical::GeneratorBase
 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.
 
GeneratorStateBasecounters (AuxStateVec &) const final
 Get generator counters (mutable).
 
GeneratorStateBase constcounters (AuxStateVec const &) const final
 Get generator counters.
 
- 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::AuxParamsInterface
virtual ~AuxParamsInterface ()
 Default destructor.
 
- Public Member Functions inherited from celeritas::GeneratorInterface
virtual ~GeneratorInterface ()
 Default destructor.
 

Static Public Member Functions

static std::shared_ptr< GeneratorActionmake_and_insert (::celeritas::CoreParams const &, CoreParams const &, Input &&)
 Construct and add to core params.
 

Additional Inherited Members

- Protected Member Functions inherited from celeritas::ActionInterface
 CELER_DEFAULT_COPY_MOVE (ActionInterface)
 
- Protected Member Functions inherited from celeritas::AuxParamsInterface
 AuxParamsInterface ()=default
 
 CELER_DEFAULT_COPY_MOVE (AuxParamsInterface)
 Default destructor.
 
- Protected Member Functions inherited from celeritas::GeneratorInterface
 CELER_DEFAULT_COPY_MOVE (GeneratorInterface)
 

Detailed Description

template<GeneratorType G>
class celeritas::optical::GeneratorAction< G >

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.

Member Function Documentation

◆ create_state()

template<GeneratorType G>
auto celeritas::optical::GeneratorAction< G >::create_state ( MemSpace  m,
StreamId  id,
size_type   
) const
finalvirtual

Build state data for a stream.

Implements celeritas::AuxParamsInterface.


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