Class NuclearDecay
Defined in File NuclearDecay.h
Nested Relationships
Nested Types
Inheritance Relationships
Base Type
public Module
(Class Module)
Class Documentation
-
class NuclearDecay : public Module
Nuclear decay of unstable nuclei.
This module simulates the nuclear decay of unstable nuclei using data from NuDat2. All decay modes are considered: alpha, beta+- and gamma decay, as well as proton- and neutron dripping. The resulting non-hadronic secondary particles (e+, e-, neutrinos, gamma) can optionally be created.
For details on the preprocessing of the NuDat2 data refer to “CRPropa3-data/calc_decay.py”.
Public Functions
-
NuclearDecay(bool electrons = false, bool photons = false, bool neutrinos = false, double limit = 0.1)
Constructor.
- Parameters:
electrons – if true, add secondary photons as candidates
photons – if true, add secondary photons as candidates
neutrinos – if true, add secondary neutrinos as candidates
limit – step size limit as fraction of mean free path
-
void setLimit(double limit)
Limit the propagation step to a fraction of the mean free path
- Parameters:
limit – fraction of the mean free path
-
void setHaveElectrons(bool b)
-
void setHavePhotons(bool b)
-
void setHaveNeutrinos(bool b)
-
void setInteractionTag(std::string tag)
set a custom interaction tag to trace back this interaction
- Parameters:
tag – string that will be added to the candidate and output
-
std::string getInteractionTag() const
-
double meanFreePath(int id, double gamma)
Return the mean free path. This is not used in the simulation.
- Parameters:
id – PDG particle id
gamma – Lorentz factor of particle
- Returns:
The mean free path [in meters]
-
virtual std::string getDescription() const
-
void setDescription(const std::string &description)
-
inline size_t addReference() const
-
inline size_t removeReference() const
-
inline int removeReferenceNoDelete() const
-
inline size_t getReferenceCount() const
Protected Attributes
-
mutable size_t _referenceCount
-
NuclearDecay(bool electrons = false, bool photons = false, bool neutrinos = false, double limit = 0.1)