Celeritas  0.5.0-56+6b053cd
Public Member Functions | List of all members
celeritas::WentzelDistribution Class Reference

Helper class for CoulombScatteringInteractor . More...

#include <WentzelDistribution.hh>

Public Types

Type aliases
using MomentumSq = units::MevMomentumSq
 
using Energy = units::MevEnergy
 
using Mass = units::MevMass
 
using MottCoeffMatrix = MottElementData::MottCoeffMatrix
 

Public Member Functions

CELER_FUNCTION WentzelDistribution (NativeCRef< WentzelOKVIData > const &wentzel, WentzelHelper const &helper, ParticleTrackView const &particle, IsotopeView const &target, ElementId el_id, real_type cos_thetamin, real_type cos_thetamax)
 Construct with state and model data.
 
template<class Engine >
CELER_FUNCTION real_type operator() (Engine &rng) const
 Sample the polar scattered angle of the incident particle.
 

Detailed Description

Helper class for CoulombScatteringInteractor .

Samples the polar scattering angle for the Wentzel Coulomb scattering model.

This chooses between sampling scattering off an electron or nucleus based on the relative cross sections. Electron scattering angle imposes a maximum scattering angle (see WentzelHelper::cos_thetamax_electron), and nuclear sattering rejects an angular change based on the Mott cross section (see MottRatioCalculator). Nuclear scattering depends on the electronic and nuclear cross sections (calculated by WentzelHelper) and nuclear form factors (see ExpNuclearFormFactor, GaussianNuclearFormFactor, and UUNuclearFormFactor ) that describe an approximate spatial charge distribution of the nucleus.

The polar angle distribution is given in [Fern] eqn 88 and is normalized on the interval \( cos\theta \in [\cos\theta_\mathrm{min}, \cos\theta_\mathrm{max}] \). The sampling function for \( \mu = \frac{1}{2}(1 - \cos\theta) \) is

\[ \mu = \mu_1 + \frac{(A + \mu_1) \xi (\mu_2 - \mu_1)}{A + \mu_2 - \xi (\mu_2 - \mu_1)}, \]

where \( \mu_1 = \frac{1}{2}(1 - \cos\theta_\mathrm{min}) \), \( \mu_2 = \frac{1}{2}(1 - \cos\theta_\mathrm{max}) \), \( A \) is the screening coefficient, and \( \xi \sim U(0,1) \).

References: [Fern] J.M. Fernandez-Varea, R. Mayol and F. Salvat. On the theory and simulation of multiple elastic scattering of electrons. Nucl. Instrum. and Method. in Phys. Research B, 73:447-473, Apr 1993. doi:10.1016/0168-583X(93)95827-R [PRM] Geant4 Physics Reference Manual (Release 11.1) sections 8.2 and 8.5


The documentation for this class was generated from the following file: