|
Celeritas 0.7.0-dev.228+develop.9905a715
|
Sample the number of scintillation photons to be generated. More...
#include <ScintillationOffload.hh>
Public Member Functions | |
| CELER_FUNCTION | ScintillationOffload (ParticleTrackView const &particle, SimTrackView const &sim, Real3 const &pos, units::MevEnergy energy_deposition, NativeCRef< ScintillationData > const &shared, OffloadPreStepData const &pre_step, OffloadPrePostStepData const &pre_post_step) |
| Construct with input parameters. | |
| template<class Generator > | |
| CELER_FUNCTION optical::GeneratorDistributionData | operator() (Generator &rng) |
| Collect the distribution data needed to sample scintillation photons. | |
Sample the number of scintillation photons to be generated.
This populates the GeneratorDistributionData used by the ScintillationGenerator to generate optical photons using post-step and cached pre-step data.
The post-step speed is calculated from the particle's energy after continuous slowing down but before the particle loses energy in a discrete interaction.
The mean number of photons is a product of the energy deposition and a material-dependent yield fraction (photons per MeV). The actual number of photons sampled is determined by sampling:
|
inline |
|
inline |
Collect the distribution data needed to sample scintillation photons.
If no photons are sampled an empty object is returned.