Celeritas 0.6.0-47+develop.b3cbb238
|
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. | |
template<class Engine > | |
CELER_FUNCTION Interaction | operator() (Engine &rng) |
Sample an interaction with the given RNG. | |
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 (see celeritas::WentzelHelper
). 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.