Celeritas
0.5.0-56+6b053cd
|
Perform Compton scattering, neglecting atomic binding energy. More...
#include <KleinNishinaInteractor.hh>
Public Member Functions | |
CELER_FUNCTION | KleinNishinaInteractor (KleinNishinaData const &shared, ParticleTrackView const &particle, Real3 const &inc_direction, StackAllocator< Secondary > &allocate) |
Construct with shared and state data. More... | |
template<class Engine > | |
CELER_FUNCTION Interaction | operator() (Engine &rng) |
Sample Compton scattering using the Klein-Nishina model. More... | |
Static Public Member Functions | |
static CELER_CONSTEXPR_FUNCTION units::MevEnergy | secondary_cutoff () |
Energy threshold for secondary production [MeV]. | |
Perform Compton scattering, neglecting atomic binding energy.
This is a model for the discrete Compton inelastic scattering process. Given an incident gamma, it adds a single secondary (electron) to the secondary stack and returns an interaction for the change to the incident gamma direction and energy. No cutoffs are performed for the incident energy or the exiting gamma energy. A secondary production cutoff is applied to the outgoing electron.
|
inline |
Construct with shared and state data.
The incident particle must be above the energy threshold: this should be handled in code before the interactor is constructed.
|
inline |
Sample Compton scattering using the Klein-Nishina model.
See section 6.4.2 of the Geant physics reference. Epsilon is the ratio of outgoing to incident gamma energy, bounded in [epsilon_0, 1].