|
Celeritas 0.7.0-dev.246+develop.67e9bdac
|
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 | |
| 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. | |
| AtomicNumber | atomic_number () const |
| Get the target atomic number. | |
| real_type | screening_coefficient () const |
| Get the Moliere screening coefficient. | |
| real_type | mott_factor () const |
| Get the Mott factor (maximum, used for rejection) | |
| real_type | kin_factor () const |
| Get the multiplicative factor for the cross section. | |
| real_type | cos_thetamax_electron () const |
| Get the maximum scattering angle off of electrons. | |
| real_type | cos_thetamax_nuclear () const |
| Get the maximum scattering angle off of a nucleus. | |
| real_type | calc_xs_electron (real_type cos_thetamin, real_type cos_thetamax) const |
| Calculate the electron cross section for Coulomb scattering. | |
| 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.
The Moliere screening parameter is largely from fernandez-msc-1993 Eq.
See [g4prm] section 8.5.