Celeritas 0.6.0-rc.2.10+develop.de0a3a05
Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
celeritas::OpticalCollector Class Reference

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 >
 
using OpticalBufferSize = OpticalOffloadCounters< size_type >
 

Public Member Functions

 OpticalCollector (CoreParams const &, Input &&)
 Construct with core data and optical data.
 
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.
 
OpticalAccumStats exchange_counters (AuxStateVec &aux) const
 Get and reset cumulative statistics on optical generation from a state.
 
OpticalBufferSize constbuffer_counts (AuxStateVec const &aux) const
 Get info on the number of tracks in the buffer.
 

Detailed Description

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.

Todo:
This doesn't do anything but set up the optical tracking loop: move to setup namespace

Constructor & Destructor Documentation

◆ OpticalCollector()

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.


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