Celeritas 0.7.0-dev.516+develop.4f45561aa
Loading...
Searching...
No Matches
Public Member Functions | List of all members
celeritas::optical::WavelengthShiftInteractor Class Reference

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.
 

Detailed Description

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.

Todo:

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.)


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