Celeritas
0.5.0-86+4a8eea4
|
Sample from the Urban model of energy loss fluctuations in thin layers. More...
#include <EnergyLossUrbanDistribution.hh>
Public Types | |
Type aliases | |
using | FluctuationRef = NativeCRef< FluctuationData > |
using | Energy = units::MevEnergy |
using | Mass = units::MevMass |
Public Member Functions | |
CELER_FUNCTION | EnergyLossUrbanDistribution (FluctuationRef const &shared, MaterialTrackView const &cur_mat, Energy unscaled_mean_loss, Energy max_energy, Mass two_mebsgs, real_type beta_sq) |
Construct from distribution parameters. | |
CELER_FUNCTION | EnergyLossUrbanDistribution (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. | |
Sample from the Urban model of energy loss fluctuations in thin layers.
The Urban model is used to compute the energy loss fluctuation when \( \kappa \) is small. It assumes atoms have only two energy levels with binding energies \( E_1 \) and \( E_2 \) and that the particle-atom interaction will either be an excitation with energy loss \( E_1 \) or \( E_2 \) or an ionization with energy loss proportional to \( 1 / E^2 \). The number of collisions for each interaction type has a Poisson distribution with mean proportional to the interaction cross section. The energy loss in a step will be the sum of the energy loss contributions from excitation and ionization.
When the number of ionizations is larger than a given threshold, a fast sampling method can be used instead. The possible energy loss interval is divided into two parts: a lower range in which the number of collisions is large and the energy loss can be sampled from a Gaussian distribution, and an upper range in which the energy loss is sampled for each collision.
See section 7.3.2 of the Geant4 Physics Reference Manual and GEANT3 PHYS332 section 2.4 for details.