Class EMInverseComptonScattering

Inheritance Relationships

Base Type

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)

  • photonField: target photon background
  • havePhotons: switch to create secondary photon
  • 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)
void setThinning(double thinning)
void initRate(std::string filename)
void initCumulativeRate(std::string filename)
void process(Candidate *candidate) const
void performInteraction(Candidate *candidate) const
std::string getDescription() const
void setDescription(const std::string &description)
void process(ref_ptr<Candidate> candidate) const
size_t addReference() const
size_t removeReference() const
int removeReferenceNoDelete() const
size_t getReferenceCount() const

Protected Attributes

size_t _referenceCount