Celeritas
0.5.0-56+6b053cd
|
Applies the Wentzel single Coulomb scattering model. More...
#include <CoulombScatteringInteractor.hh>
Public Types | |
Type aliases | |
using | Energy = units::MevEnergy |
using | Mass = units::MevMass |
using | MomentumSq = units::MevMomentumSq |
Public Member Functions | |
CELER_FUNCTION | CoulombScatteringInteractor (CoulombScatteringData const &shared, NativeCRef< WentzelOKVIData > const &wentzel, ParticleTrackView const &particle, Real3 const &inc_direction, MaterialView const &material, IsotopeView const &target, ElementId el_id, CutoffView const &cutoffs) |
Construct with shared and state data. More... | |
template<class Engine > | |
CELER_FUNCTION Interaction | operator() (Engine &rng) |
Sample an interaction with the given RNG. More... | |
Applies the Wentzel single Coulomb scattering model.
This models incident high-energy electrons and positrons elastically scattering off of nuclei and atomic electrons. Scattering off of the nucleus versus electrons is randomly sampled based on the relative cross-sections. No secondaries are created in this process (in the future, with hadronic transport support, secondary ions may be emitted), however production cuts are used to determine the maximum scattering angle off of electrons.
|
inline |
Construct with shared and state data.
Construct from shared and state data.
|
inline |
Sample an interaction with the given RNG.
Sample the Coulomb scattering of the incident particle.