Class PiZeroIntegrator¶
- Defined in File PiZeroIntegrator.h
Inheritance Relationships¶
Base Type¶
public hermes::IntegratorTemplate< QDiffIntensity, QEnergy >
(Template Class IntegratorTemplate)
Derived Type¶
public BremsstrahlungIntegrator
(Class BremsstrahlungIntegrator)
Class Documentation¶
-
class
PiZeroIntegrator
: public hermes::IntegratorTemplate<QDiffIntensity, QEnergy>¶ Subclassed by BremsstrahlungIntegrator
Public Types
-
typedef std::pair<std::vector<QLength>, std::vector<double>>
tLOSProfile
Get the line of sight profile (integrand of integrateOverLOS) of a direction where N is equidistant number of steps from the Sun’s position to the galactic border
Public Functions
-
~PiZeroIntegrator
()¶
-
void
setEnergy
(const QEnergy &Egamma)
-
QEnergy
getEnergy
() const
-
QDiffIntensity
integrateOverLOS
(const QDirection &dir) const Every instantiation/derived class must implement this method which represents an integral over the line of sight of an accumulated quantity \( f(s)\) for a given units::QDirection
dir
. When multiplied with units::QLength gives the pixel type,QPXL
\[ I(\mathrm{dir}) \sim \int_0^\infty \mathrm{d}s f(s) \]
-
QDiffIntensity
integrateOverLOS
(const QDirection &iterdir, const QEnergy &Egamma) const¶
-
QPiZeroIntegral
integrateOverEnergy
(const Vector3QLength &pos, const QEnergy &Egamma) const
-
void
setupCacheTable
(int N_x, int N_y, int N_z) Caching helpers
-
void
initCacheTable
()
-
std::string
getDescription
() const Get Description of the integrator
-
void
setDescription
(const std::string &description) Set Description of the integrator
-
void
setSkymapParameter
(const QSTEP &p) Setter for the skymap parameter (requires for the cacheTable, if enabled, to be re-initialized)
-
QSTEP
setSkymapParameter
() const¶ Getter for the skymap parameter
-
virtual QPXL
integrateOverLOS
(const QDirection &dir, const QSTEP&) const = 0¶ Additionally, for a frequency or energy dependent integrals one should implement the following method too.
-
void
setSunPosition
(const Vector3QLength &pos) Set the position of the Sun in the galaxy as a vector (x, y, z) from which the LOS integration starts, default: (8.5_kpc, 0, 0)
-
Vector3QLength
getSunPosition
() const Get the position of the Sun in the galaxy as a vector (x, y, z)
-
QLength
getMaxDistance
(const QDirection &direction) const Wrapper within the class for distanceToGalBorder(positionSun, direction) becomes getMaxDistance(direction)
-
bool
isCacheTableEnabled
() const
-
bool
isCacheTableInitialized
() const
-
virtual tLOSProfile
getLOSProfile
(const QDirection &dir, int Nsteps) const
-
virtual tLOSProfile
getLOSProfile
(const QDirection &dir, const QSTEP&, int Nsteps) const¶
Protected Types
-
typedef Grid<QPiZeroIntegral>
tCacheTable
Protected Functions
-
QPiZeroIntegral
getIOEfromCache
(const Vector3QLength &pos_, const QEnergy &Egamma_) const
Protected Attributes
-
std::vector<std::shared_ptr<cosmicrays::CosmicRayDensity>>
crList
-
std::shared_ptr<neutralgas::RingModel>
ngdensity
-
std::shared_ptr<interactions::DifferentialCrossSection>
crossSec
¶
-
std::shared_ptr<neutralgas::ProfileAbstract>
dProfile
-
std::shared_ptr<tCacheTable>
cacheTable
-
Vector3QLength
positionSun
-
QSTEP
skymapParameter
-
bool
cacheEnabled
-
bool
cacheTableInitialized
-
std::string
description
-
typedef std::pair<std::vector<QLength>, std::vector<double>>