Class ElectronPairProduction
Defined in File ElectronPairProduction.h
Inheritance Relationships
Base Type
public Module
(Class Module)
Class Documentation
-
class ElectronPairProduction : public Module
Electron-pair production of charged nuclei with background photons.
This module simulates electron-pair production as a continuous energy loss.
Several photon fields can be selected.
The production of secondary e+/e- pairs and photons can by activated.
By default, the module limits the step size to 10% of the energy loss length of the particle.
Public Functions
-
ElectronPairProduction(ref_ptr<PhotonField> photonField, bool haveElectrons = false, double limit = 0.1)
Constructor for the Electron Pair Production.
- Parameters:
photonField – target photon field
haveElectrons – If true, secondary electrons will be added to the simulation
limit – step size limit as fraction of mean free path
-
void setPhotonField(ref_ptr<PhotonField> photonField)
-
void setHaveElectrons(bool haveElectrons)
-
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 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
-
void initRate(std::string filename)
-
void initSpectrum(std::string filename)
-
double lossLength(int id, double lf, double z = 0) const
Calculates the energy loss length 1/beta = -E dx/dE in [m]
The energy loss length is tabulated for protons against
CMB and IRB. Modification for nuclei and cosmological evolution of the photon background is considered with (cf. 10.1016/j.astropartphys.2012.07.010, eq. 3 and 5) beta_A,Z(E) = Z^2 / A * beta_p(E/A) beta(E,z) = (1+z)^3 beta((1+z)E).- Parameters:
id – PDG particle ID
lf – Lorentz factor
z – redshift
-
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
-
ElectronPairProduction(ref_ptr<PhotonField> photonField, bool haveElectrons = false, double limit = 0.1)