Celeritas  0.5.0-86+4a8eea4
Public Member Functions | List of all members
celeritas::optical::ScintillationGenerator Class Reference

Sample scintillation photons from optical property data and step data. More...

#include <ScintillationGenerator.hh>

Public Types

Type aliases
using Energy = units::MevEnergy
 

Public Member Functions

CELER_FUNCTION ScintillationGenerator (NativeCRef< ScintillationData > const &shared, GeneratorDistributionData const &dist)
 Construct from shared scintillation data and distribution parameters.
 
template<class Generator >
CELER_FUNCTION TrackInitializer operator() (Generator &rng)
 Sample a single scintillation photon.
 

Detailed Description

Sample scintillation photons from optical property data and step data.

The optical photons are generated evenly along the step and are emitted uniformly over the entire solid angle with a random linear polarization. The photon energy is calculated by the scintillation emission wavelength

\[ E = \frac{hc}{\lambda}, \]

where \( h \) is the Planck constant and \( c \) is the speed of light, and \( \lambda \) is sampled by the normal distribution with the mean of scintillation emission spectrum and the standard deviation. The emitted time is simulated according to empirical shapes of the material-dependent scintillation time structure with one or double exponentials.

Note
This performs the same sampling routine as in G4Scintillation class of the Geant4 release 11.2 with some modifications.

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