Class EMCascade

Inheritance Relationships

Base Type

Class Documentation

class EMCascade : public Module

Collects and deactivates photons, electrons and positrons. Uses DINT to calculate the EM cascade.

Public Functions

EMCascade()
void setDistanceBinning(double Dmax, int nD)

Change the distance binning

Parameters
  • Dmax – maximum distance [m]

  • nD – number of distance bins

virtual void process(Candidate *candidate) const

Collect and deactivate photons, electrons and positrons

void save(const std::string &filename)

Save the unpropagated histogram of EM particles

void load(const std::string &filename)

Load the unpropagated histogram of EM particles

void runCascade(const std::string &filename, int IRBFlag = 4, int RadioFlag = 4, double Bfield = 1E-13, double cutCascade = 0)

Calculates the EM cascade with DINT

Parameters
  • filename – output filename

  • IRBFlag – EBL background 0: high, 1: low, 2: Primack, 4: Stecker’06

  • RadioFlag – radio background 0: high, 1: medium, 2: obs, 3: none, 4: Protheroe’96

  • Bfield – magnetic field strength [T], default = 1 nG

  • cutCascade – a-parameter, see CRPropa 2 paper

virtual std::string getDescription() const
void setDescription(const std::string &description)
inline void process(ref_ptr<Candidate> candidate) const
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