|
Celeritas 0.7.0-dev.516+develop.4f45561aa
|
Sample state change and number of secondaries from a WLS interaction. More...
#include <WavelengthShiftInteractor.hh>
Public Types | |
Type aliases | |
| using | DistId = ItemId< WlsDistributionData > |
Public Member Functions | |
| WavelengthShiftInteractor (NativeCRef< WavelengthShiftData > const &shared, NativeRef< WlsGeneratorStateData > data, ParticleTrackView const &particle, SimTrackView const &sim, Real3 const &pos, OptMatId const &mat_id, DistId distribution_id) | |
| Construct with shared and state data. | |
| template<class Engine > | |
| Interaction | operator() (Engine &rng) |
| Sampling the wavelength shift (WLS) photons. | |
Sample state change and number of secondaries from a WLS interaction.
The number of photons is sampled from a Poisson distribution. The secondary photons are sampled later by the WavelengthShiftGenerator.
See if initializing the first photon directly in this track slot improves performance
This is shoehorned into the Interactor paradigm: replace with WlsOffloadSampler that samples a new WlsDistribution . (If we replace the multiple WLS models with a single WLS model, similar to how scintillation has multiple time and energy spectra, this could also sample the spectrum ID.)