Celeritas
0.5.0-86+4a8eea4
|
Helper class for the Wentzel OK and VI Coulomb scattering model. More...
#include <WentzelHelper.hh>
Public Types | |
Type aliases | |
using | Charge = units::ElementaryCharge |
using | Energy = units::MevEnergy |
using | Mass = units::MevMass |
using | MomentumSq = units::MevMomentumSq |
Public Member Functions | |
CELER_FUNCTION | WentzelHelper (ParticleTrackView const &particle, MaterialView const &material, AtomicNumber target_z, NativeCRef< WentzelOKVIData > const &wentzel, CoulombIds const &ids, Energy cutoff) |
Construct from particle and material properties. | |
CELER_FUNCTION AtomicNumber | atomic_number () const |
Get the target atomic number. | |
CELER_FUNCTION real_type | screening_coefficient () const |
Get the Moliere screening coefficient. | |
CELER_FUNCTION real_type | mott_factor () const |
Get the Mott factor. | |
CELER_FUNCTION real_type | kin_factor () const |
Get the multiplicative factor for the cross section. | |
CELER_FUNCTION real_type | cos_thetamax_electron () const |
Get the maximum scattering angle off of electrons. | |
CELER_FUNCTION real_type | cos_thetamax_nuclear () const |
Get the maximum scattering angle off of a nucleus. | |
CELER_FUNCTION real_type | calc_xs_electron (real_type cos_thetamin, real_type cos_thetamax) const |
Calculate the electron cross section for Coulomb scattering. | |
CELER_FUNCTION real_type | calc_xs_nuclear (real_type cos_thetamin, real_type cos_thetamax) const |
Calculate the nuclear cross section for Coulomb scattering. | |
Helper class for the Wentzel OK and VI Coulomb scattering model.
This calculates the Moliere screening coefficient, the maximum scattering angle off of electrons, and the ratio of the electron to total Wentzel cross sections.
References: [PRM] Geant4 Physics Reference Manual (Release 11.1) section 8.5.