Celeritas 0.7.0-dev.264+develop.12c52268
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
celeritas::EnergyLossHelper Class Reference

Precalculate energy loss fluctuation properties. More...

#include <EnergyLossHelper.hh>

Public Types

Type aliases
using FluctuationRef = NativeCRef< FluctuationData >
 
using Energy = units::MevEnergy
 
using EnergySq = RealQuantity< UnitProduct< units::Mev, units::Mev > >
 
using Mass = units::MevMass
 
using Charge = units::ElementaryCharge
 
using Model = EnergyLossFluctuationModel
 
using Real2 = Array< real_type, 2 >
 

Public Member Functions

 EnergyLossHelper (FluctuationRef const &shared, CutoffView const &cutoffs, MaterialTrackView const &material, ParticleTrackView const &particle, Energy mean_loss, real_type step_length)
 Construct from model parameters, incident particle, and mean energy loss.
 
FluctuationRef constshared () const
 Shared data.
 
MaterialTrackView constmaterial () const
 Current material.
 
Model model () const
 Type of model to select.
 
Energy mean_loss () const
 Input mean loss.
 
Energy max_energy () const
 Maximum allowable energy loss.
 
real_type beta_sq () const
 Kinematics value: square of fractional speed of light.
 
EnergySq bohr_variance () const
 Bohr variance.
 
Mass two_mebsgs () const
 Kinematics value for electrons: 2 * mass * beta^2 * gamma^2.
 

Static Public Member Functions

static constexpr Energy ionization_energy ()
 Atomic energy level corresponding to outer electrons (E_0)
 

Detailed Description

Precalculate energy loss fluctuation properties.

Fluctuations in the energy loss of charged particles over a given thickness of material arise from statistical variation in both the number of collisions and the energy lost in each collision. Above a given energy threshold, fluctuations are simulated through the explicit sampling of secondaries. However, the continuous energy loss below the cutoff energy also has fluctuations, and these are not taken into account in the calculation of the mean loss. For continuous energy loss, fluctuation models are used to sample the actual restricted energy loss given the mean loss.

Different models are used depending on the value of the parameter \( \kappa = \xi / T_{max} \), the ratio of the mean energy loss to the maximum allowed energy transfer in a single collision.

For large \( \kappa \), when the particle loses all or most of its energy along the step, the number of collisions is large and the straggling function can be approximated by a Gaussian distribution.

Otherwise, the Urban model for energy loss fluctuations in thin layers is used.

Note
This performs the same sampling routine as in Geant4's G4UniversalFluctuation, as documented in section 7.3 in the Geant4 Physics Reference Manual [g4prm] and in PHYS332 and PHYS333 in the GEANT3 manual (geant3-1993).

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