|
Celeritas 0.7.0-dev.169+develop.bdc0041f6
|
Generate and track optical photons. More...
#include <OpticalCollector.hh>
Classes | |
| struct | Input |
Public Types | |
Type aliases | |
| using | OpticalBufferSize = GeneratorCounters< size_type > |
| using | SPConstOpticalParams = std::shared_ptr< optical::CoreParams const > |
Public Member Functions | |
| OpticalCollector (CoreParams const &, Input &&) | |
| Construct with core data and optical data. | |
| SPConstOpticalParams const & | optical_params () const |
| Access optical params. | |
| optical::CoreStateBase const & | optical_state (CoreStateInterface const &core) const |
| Access optical state. | |
| GeneratorRegistry const & | gen_reg () const |
| Get the generator registry. | |
| OpticalAccumStats | exchange_counters (AuxStateVec &aux) const |
| Get and reset cumulative statistics on optical generation from a state. | |
| OpticalBufferSize | buffer_counts (AuxStateVec const &aux) const |
| Get info on the number of tracks in the buffer. | |
Generate and track optical photons.
This class is the interface between the main stepping loop and the photon stepping loop and constructs kernel actions for:
The photon stepping loop will then generate optical primaries.
The "collector" (TODO: rename?) will "own" the optical state data and optical params since it's the only thing that launches the optical stepping loop.
setup namespace | celeritas::OpticalCollector::OpticalCollector | ( | CoreParams const & | core, |
| Input && | inp | ||
| ) |
Construct with core data and optical data.
This adds several actions and auxiliary data to the registry.