Celeritas
0.5.0-86+4a8eea4
|
Generate and track optical photons. More...
#include <OpticalCollector.hh>
Classes | |
struct | Input |
Public Types | |
Type aliases | |
using | SPConstCherenkov = std::shared_ptr< optical::CherenkovParams const > |
using | SPConstMaterial = std::shared_ptr< optical::MaterialParams const > |
using | SPConstScintillation = std::shared_ptr< optical::ScintillationParams const > |
Public Member Functions | |
OpticalCollector (CoreParams const &, Input &&) | |
Construct with core data and optical data. More... | |
AuxId | offload_aux_id () const |
Aux ID for optical generator data used for offloading. | |
AuxId | optical_aux_id () const |
Aux ID for optical core state data. | |
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.
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.