Class EMPairProduction

Inheritance Relationships

Base Type

Class Documentation

class EMPairProduction : public Module

Electron-pair production of photons with background photons.

This module simulates electron-pair production of cosmic ray photons with background photons: gamma + gamma_b > e+ + e- (Breit-Wheeler process). The resulting electron positron pair is optionally created (default = false). The module limits the propagation step size to a fraction of the mean free path (default = 0.1).

Public Functions

EMPairProduction(PhotonField photonField = CMB, bool haveElectrons = false, double limit = 0.1)

  • photonField: target photon background
  • haveElectrons: switch to create secondary electron pair
  • limit: step size limit as fraction of mean free path

void setPhotonField(PhotonField photonField)
void setHaveElectrons(bool haveElectrons)
void setLimit(double limit)
void initRate(std::string filename)
void initCumulativeRate(std::string filename)
void performInteraction(Candidate *candidate) const
void process(Candidate *candidate) const
std::string getDescription() const
void setDescription(const std::string &description)
void process(ref_ptr<Candidate> candidate) const
size_t addReference() const
size_t removeReference() const
int removeReferenceNoDelete() const
size_t getReferenceCount() const

Protected Attributes

size_t _referenceCount