Class EMPairProduction¶
- Defined in File EMPairProduction.h
Inheritance Relationships¶
Base Type¶
public Module
(Class Module)
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). Thinning is available. A thinning of 0 means that all particles are tracked. For the maximum thinning of 1, only a few representative particles are added to the list of secondaries. Note that for thinning>0 the output must contain the column “weights”, which should be included in the post-processing.
Public Functions
-
EMPairProduction
(ref_ptr<PhotonField> photonField, bool haveElectrons = false, double thinning = 0, double limit = 0.1)¶ - Parameters
photonField
: target photon backgroundhaveElectrons
: switch to create secondary electron pairthinning
: weighted sampling of secondaries (0: all particles are tracked; 1: maximum thinning)limit
: step size limit as fraction of mean free path
-
void
setPhotonField
(ref_ptr<PhotonField> photonField)
-
void
setHaveElectrons
(bool haveElectrons)
-
void
setLimit
(double limit)
-
void
setThinning
(double thinning)
-
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)
-
size_t
addReference
() const
-
size_t
removeReference
() const
-
int
removeReferenceNoDelete
() const
-
size_t
getReferenceCount
() const
Protected Attributes
-
size_t
_referenceCount
-