|
Celeritas 0.7.0-dev.169+develop.bdc0041f6
|
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.
This performs the same sampling as in Geant4's G4eCoulombScatteringModel, as documented in [g4prm] (release 11.1, section 8.2).
|
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.