Celeritas
0.5.0-86+4a8eea4
|
Apply the wavelength shift (WLS) to optical photons. More...
#include <WavelengthShiftInteractor.hh>
Public Types | |
Type aliases | |
using | Energy = units::MevEnergy |
using | ParamsRef = NativeCRef< WavelengthShiftData > |
using | SecondaryAllocator = StackAllocator< TrackInitializer > |
Public Member Functions | |
CELER_FUNCTION | WavelengthShiftInteractor (ParamsRef const &shared, ParticleTrackView const &particle, OpticalMaterialId const &mat_id, SecondaryAllocator &allocate) |
Construct with shared and state data. | |
template<class Engine > | |
CELER_FUNCTION Interaction | operator() (Engine &rng) |
Sampling the wavelength shift (WLS) photons. More... | |
Apply the wavelength shift (WLS) to optical photons.
A wavelength shifter absorbs an incident light and reemits secondary lights isotropically at longer wavelengths. It usually shifts the ultraviolet region of the radiation spectrum to the visible region, which enhances the light collection or reduces the self-absorption of the optical production. The number of the reemitted photons follows the Poisson distribution with the mean number of the characteristic light production, which depends on the optical property of wavelength shifters. The polarization of the reemitted lights is assumed to be incoherent with respect to the polarization of the primary optical photon.
|
inline |
Sampling the wavelength shift (WLS) photons.
Sample the number of photons generated from WLS.