Celeritas 0.6.0-rc.2.10+develop.de0a3a05
Loading...
Searching...
No Matches
Public Member Functions | List of all members
celeritas::MuAngularDistribution Class Reference

Sample the polar angle for muon bremsstrahlung and pair production. More...

#include <MuAngularDistribution.hh>

Public Types

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

Public Member Functions

CELER_FUNCTION MuAngularDistribution (Energy inc_energy, Mass inc_mass, Energy energy)
 Construct with incident and secondary particle.
 
template<class Engine >
CELER_FUNCTION real_type operator() (Engine &rng)
 Sample the cosine of the polar angle of the secondary.
 

Detailed Description

Sample the polar angle for muon bremsstrahlung and pair production.

The polar angle is sampled according to a simplified PDF

\[ f(r) \sim \frac{r}{(1 + r^2)^2}, \ r = frac{E\theta}{m} \]

by sampling

\[ \theta = r\frac{m}{E} \]

with

\[ r = \sqrt{frac{a}{1 - a}}, a = \xi \frac{r^2_{\text{max}}}{1 + r^2_{\text{max}}}, r_{\text{max}} = frac{\pi}{2} E' / m \min(1, E' / \epsilon), \]

and where \( m \) is the incident muon mass, \( E \) is incident energy, \( \epsilon \) is the emitted energy, \( E' = E - \epsilon \), and \( \xi \sim U(0,1) \).

Note
This performs the same sampling routine as in Geant4's G4ModifiedMephi class and documented in section 11.2.4 of the Geant4 Physics Reference (release 11.2).

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