Class PhotoDisintegration

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Class Documentation

class PhotoDisintegration : public Module

Photodisintegration of nuclei by background photons.

Public Functions

PhotoDisintegration(ref_ptr<PhotonField> photonField, bool havePhotons = false, double limit = 0.1)

Constructor.

Parameters:
  • photonField – target photon field

  • havePhotons – if true, add secondary photons as candidates

  • limit – step size limit as fraction of mean free path

void setPhotonField(ref_ptr<PhotonField> photonField)
void setHavePhotons(bool havePhotons)
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 initBranching(std::string filename)
void initPhotonEmission(std::string filename)
virtual void process(Candidate *candidate) const
void performInteraction(Candidate *candidate, int channel) const
double lossLength(int id, double gamma, double z = 0)

Calculates the loss length E dx/dE in [m] physical distance. This is not used in the simulation.

Parameters:
  • id – PDG particle id

  • gamma – Lorentz factor of particle

  • z – redshift

Returns:

E dx/dE [in meters]

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