Class PhotoDisintegration
Defined in File PhotoDisintegration.h
Nested Relationships
Nested Types
Inheritance Relationships
Base Type
public Module(Class Module)
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, bool superheavy = false)
Constructor.
- Parameters:
photonField – target photon field
havePhotons – if true, add secondary photons as candidates
limit – step size limit as fraction of mean free path
superheavy – if true, also load rate/branching _superheavy files extending coverage from A≥56 up to Pb; files are loaded if present and silently skipped with a warning if not yet generated
-
void setPhotonField(ref_ptr<PhotonField> photonField, bool superheavy = false)
Set the target photon field and reload all interaction tables.
- Parameters:
photonField – target photon field
superheavy – if true, also load rate_<field>superheavy.txt and branching<field>_superheavy.txt (logged as warning if absent)
-
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
Process function This is the main function to work with, it is called during every ModuleList::run step. Derived functions need to override this overload of process!
- Parameters:
candidate – Candidate raw pointer
-
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
Returns description, can be overriden by derived class.
-
void setDescription(const std::string &description)
Sets description, can be used instead of getDescription in derived class
- Parameters:
description – Description string
-
inline void process(ref_ptr<Candidate> candidate) const
Process function Overload for process function to explicitly make a conversion from ref_ptr to a raw pointer
-
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
-
PhotoDisintegration(ref_ptr<PhotonField> photonField, bool havePhotons = false, double limit = 0.1, bool superheavy = false)