Class EMInverseComptonScattering
Defined in File EMInverseComptonScattering.h
Inheritance Relationships
Base Type
public Module
(Class Module)
Class Documentation
-
class EMInverseComptonScattering : public Module
Inverse Compton scattering of electrons with background photons.
This module simulates inverse Compton scattering of electrons with background photons for several photon fields. The upscattered photons are optionally created as secondary particles (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
-
EMInverseComptonScattering(ref_ptr<PhotonField> photonField, bool havePhotons = false, double thinning = 0, double limit = 0.1)
Constructor
- Parameters:
photonField – target photon field
havePhotons – if true, add secondary photons as candidates
thinning – 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 setHavePhotons(bool havePhotons)
-
void setLimit(double limit)
limit the step to a fraction of the mean free path
- Parameters:
limit – fraction of the mean free path, should be between 0 and 1
-
void setThinning(double thinning)
Apply thinning with a given thinning factor
- Parameters:
thinning – factor of thinning (0: no thinning, 1: maximum thinning)
-
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 initCumulativeRate(std::string filename)
-
virtual std::string getDescription() const
-
void setDescription(const std::string &description)
-
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
-
EMInverseComptonScattering(ref_ptr<PhotonField> photonField, bool havePhotons = false, double thinning = 0, double limit = 0.1)