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

Sample energy loss from a Gaussian distribution. More...

#include <EnergyLossGaussianDistribution.hh>

Public Types

Type aliases
using Energy = units::MevEnergy
 
using EnergySq = Quantity< UnitProduct< units::Mev, units::Mev > >
 

Public Member Functions

CELER_FUNCTION EnergyLossGaussianDistribution (Energy mean_loss, Energy bohr_stddev)
 Construct from mean/stddev. More...
 
CELER_FUNCTION EnergyLossGaussianDistribution (Energy mean_loss, EnergySq bohr_var)
 Construct from distribution parameters. More...
 
CELER_FUNCTION EnergyLossGaussianDistribution (EnergyLossHelper const &helper)
 Construct from helper-calculated data.
 
template<class Generator >
CELER_FUNCTION Energy operator() (Generator &rng)
 
template<class Generator >
CELER_FUNCTION auto operator() (Generator &rng) -> Energy
 Sample energy loss according to the distribution.
 

Detailed Description

Sample energy loss from a Gaussian distribution.

In a thick absorber, the total energy transfer is a result of many small energy losses from a large number of collisions. The central limit theorem applies, and the energy loss fluctuations can be described by a Gaussian distribution. See section 7.3.1 of the Geant4 Physics Reference Manual and GEANT3 PHYS332 section 2.3.

The Gaussian approximation is valid for heavy particles and in the regime \( \kappa = \xi / T_\textrm{max} > 10 \). Fluctuations of the unrestricted energy loss follow a Gaussian distribution if \( \Delta E > \kappa T_{max} \), where \( T_{max} \) is the maximum energy transfer (PHYS332 section 2). For fluctuations of the restricted energy loss, the condition is modified to \( \Delta E > \kappa T_{c} \) and \( T_{max} \le 2 T_c \), where \( T_c \) is the delta ray cutoff energy (PRM Eq. 7.6-7.7).

Constructor & Destructor Documentation

◆ EnergyLossGaussianDistribution() [1/2]

CELER_FUNCTION celeritas::EnergyLossGaussianDistribution::EnergyLossGaussianDistribution ( Energy  mean_loss,
Energy  bohr_stddev 
)
inline

Construct from mean/stddev.

This formulation is used internally by the Urban distribution.

◆ EnergyLossGaussianDistribution() [2/2]

CELER_FUNCTION celeritas::EnergyLossGaussianDistribution::EnergyLossGaussianDistribution ( Energy  mean_loss,
EnergySq  bohr_var 
)
inline

Construct from distribution parameters.

The mean loss is the energy lost over the step, and the standard deviation is the square root of Bohr's variance (PRM Eq. 7.8). For thick absorbers, the straggling function approaches a Gaussian distribution with this standard deviation.


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