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

Relativistic model for electron-positron pair production. More...

#include <BetheHeitlerInteractor.hh>

Public Types

Type aliases
using Mass = units::MevMass
 
using Energy = units::MevEnergy
 

Public Member Functions

CELER_FUNCTION BetheHeitlerInteractor (BetheHeitlerData const &shared, ParticleTrackView const &particle, Real3 const &inc_direction, StackAllocator< Secondary > &allocate, MaterialView const &material, ElementView const &element)
 Construct sampler from shared and state data. More...
 
template<class Engine >
CELER_FUNCTION Interaction operator() (Engine &rng)
 Sample the distribution.
 

Detailed Description

Relativistic model for electron-positron pair production.

The energies of the secondary electron and positron are sampled using the Bethe-Heitler cross sections with a Coulomb correction. The LPM effect is taken into account for incident gamma energies above 100 GeV. Exiting particle directions are sampled with the TsaiUrbanDistribution . Note that energy is not exactly conserved.

Note
This performs the same sampling routine as in Geant4's G4PairProductionRelModel, as documented in sections 6.5 (gamma conversion) and 10.2.2 (LPM effect) of the Geant4 Physics Reference Manual (release 10.7)

Constructor & Destructor Documentation

◆ BetheHeitlerInteractor()

CELER_FUNCTION celeritas::BetheHeitlerInteractor::BetheHeitlerInteractor ( BetheHeitlerData const &  shared,
ParticleTrackView const &  particle,
Real3 const &  inc_direction,
StackAllocator< Secondary > &  allocate,
MaterialView const &  material,
ElementView const &  element 
)
inline

Construct sampler from shared and state data.

Construct with shared and state data.

The incident gamma energy must be at least twice the electron rest mass.


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