Decay physics¶
Similar to EM physics, the particle decay processes in Celeritas are implemented following Geant4’s reference manual and source code.
Decay processes¶
The table lists all available particles that undergo any decay type, along with their decay channels branching ratios, and associated Interactor.
Particle |
Decay channel(s) |
Fraction (\(\Gamma_i/\Gamma\)) |
Celeritas Implementation |
---|---|---|---|
\(\mu^-\) |
\(e^- \bar{\nu}_e \nu_\mu\) |
1 |
|
\(\mu^+\) |
\(e^+ \nu_e \bar{\nu}_\mu\) |
1 |
Muon decay¶
-
class MuDecayInteractor¶
Perform muon decay.
Only one decay channel is implemented, with muons decaying to
\[ \mu^- \longrightarrow e^- \bar{\nu}_e \nu_\mu \]\[ \mu^+ \longrightarrow e^+ \nu_e \bar{\nu}_\mu \]This interactor follows
G4MuonDecayChannel::DecayIt
and the Physics Reference Manual, Release 11.2, section 4.2.3. The sampling happens at the muon’s rest frame, with the result being uniformly rotated and finally boosted to the lab frame.As it is a three-body decay, the energy sampling happens for \( e^\pm \) and \( \nu_e(\bar{\nu}_e) \), with the \( \nu_\mu(\bar{\nu}_\mu) \) final energy directly calculated from energy conservation. The sampling loop selects fractional energies \([0,1)\) for the first two particles. A fraction of 1 yields the maximum possible kinetic energy for said particle, defined as \( E_\text{max} = \frac{m_\mu}{2} - m_e \). For the electron neutrino, its energy fraction \( f_{E_{\nu_e}} \) is sampled from the PDF \( f(x) = 6x(1-x), \ x \in [0,1) \), using the rejection method, with proposal distribution PDF \( g(x) = U(0,1) \) and bounding constant \( M = 1.5 \). The charged lepton’s fractional energy \( f_{E_e} \) is then selected uniformly obeying \( f_{E_{\nu_e}} + f_{E_e} >= 1 \) . The remaining fractional energy for the muon neutrino is \( f_{E_{\nu_\mu}} = 2 - f_{E_e} - f_{E_{\nu_e}} \).
Note
Neutrinos are currently not returned by this interactor as they are not tracked down or transported and would significantly increase secondary memory allocation usage. See discussion and commit history at https://github.com/celeritas-project/celeritas/pull/1456