Model extinction processes.
More...
#include <Extinction.h >
double GetMeiksin2006 (const double aRedshift, const double aEnergyObs)
Returns the intergalactic extinction factor predicted by the Meiksin 2006 model.
TGraph * GetMeiksin2006 (const double aRedshift, const unsigned int aN, const double aWavelengthObsMin, const double aWavelengthObsMax)
Returns the intergalactic extinction factor as a function of the wavelength predicted by the Meiksin 2006 model.
double GetPei1992 (const double aEnergy, const double aExtinctionV, const string aExtLaw)
Returns the galactic dust extinction factor predicted by the Pei 1992 model.
TGraph * GetScaleFactorPei1992 (const string aExtLaw="MW")
Returns the extinction scaling factor as a function of the wavelength.
double GetSourceExtinction (const double aEnergyObs)
Returns the overall extinction factor (transmission) for an astrophysical source.
void SetSource (const double aRedshift, const double aMwExtinctionV, const double aHostExtinctionV)
Defines the source properties.
Extinction (void)
Constructor of the Extinction class.
virtual ~Extinction (void)
Destructor of the Extinction class.
double Meiksin2006 (const double aWavelengthObs, const double aRedshift)
Returns the intergalactic extinction factor predicted by the Meiksin 2006 model.
double Pei1992 (const double aWavelength, const double aExtinctionV, const string aExtLaw="MW")
Returns the galatic dust extinction factor predicted by the Pei 1992 model.
TGraph * G_LMC_pei1992
Pei 1992 extinction model (Large Magellanic Cloud).
TGraph * G_MW_pei1992
Pei 1992 extinction model (Milky Way).
TGraph * G_SMC_pei1992
Pei 1992 extinction model (Small Magellanic Cloud).
double src_Ahost_V
Amount of extinction for the host galaxy in the V band (magnitude).
double src_Amw_V
Amount of extinction for the Milky Way in the V band (magnitude).
double src_redshift
Source redshift.
Model extinction processes.
This class is designed to calculate the extinction factor resulting from multiple processes between an astrophysical source and the observer. Only a fraction of the particle flux from a source is transmitted.
First, the astrophysical source properties must be defined with SetSource() . Then, the extinction factor is calculated with GetSourceExtinction() at a given energy.
Author Florent Robinet
◆ Extinction()
Extinction::Extinction
(
void
)
Constructor of the Extinction class.
The Pei 1992 extinction curves are intialized. the source properties are initialized to 0.
◆ ~Extinction()
Extinction::~Extinction
(
void
)
virtual
◆ GetMeiksin2006() [1/2]
double Extinction::GetMeiksin2006
(
const double
aRedshift ,
const double
aEnergyObs
)
inline
Returns the intergalactic extinction factor predicted by the Meiksin 2006 model.
The intergalactic extinction is computed with Meiksin2006() for a given redshift. The user must provide an observed energy in \(keV\).
Parameters
[in] aRedshift Source redshift.
[in] aEnergyObs Observed energy in \(keV\).
◆ GetMeiksin2006() [2/2]
TGraph * Extinction::GetMeiksin2006
(
const double
aRedshift ,
const unsigned int
aN ,
const double
aWavelengthObsMin ,
const double
aWavelengthObsMax
)
Returns the intergalactic extinction factor as a function of the wavelength predicted by the Meiksin 2006 model.
The intergalactic extinction is computed with Meiksin2006() for a given redshift. The user must provide a range of wavelengths and a number of points for the graph. The returned TGraph must be deleted by the user.
Parameters
[in] aRedshift Source redshift.
[in] aN Number of points in the TGraph.
[in] aWavelengthObsMin Minimum wavelength in the observer reference frame [mm].
[in] aWavelengthObsMax Maximum wavelength in the observer reference frame [mm].
◆ GetPei1992()
double Extinction::GetPei1992
(
const double
aEnergy ,
const double
aExtinctionV ,
const string
aExtLaw
)
inline
Returns the galactic dust extinction factor predicted by the Pei 1992 model.
See Pei1992() for more details.
Parameters
[in] aEnergy Energy in \(keV\).
[in] aExtinctionV Amount of galactic extinction in the V band: \(A_V^{gal}\).
[in] aExtLaw Type of extinction law: "MW", "LMC", "SMC", or "MEAN".
◆ GetScaleFactorPei1992()
TGraph * Extinction::GetScaleFactorPei1992
(
const string
aExtLaw = "MW")
inline
Returns the extinction scaling factor as a function of the wavelength.
The extinction scaling factor \(A_\lambda/A_V\) is modeled by Pei: see Pei1992() for more details.
Parameters
[in] aExtLaw Type of extinction law: "MW", "LMC", or "SMC".
Returns A copy of the TGraph is returned. The user is in charge of deleting the TGraph object after use. A pointer to NULL is returned if the type of extinction is unknown.
◆ GetSourceExtinction()
double Extinction::GetSourceExtinction
(
const double
aEnergyObs )
Returns the overall extinction factor (transmission) for an astrophysical source.
The source properties must be defined first with SetSource() . The overall extinction factor is a number between 0 (fully absorbed) and 1 (fully transparent) which combines 3 contributions:
The host galaxy dust reddening (Pei 1992 model)
The Milky Way dust extinction (Pei 1992 model)
The intergalactic medium transmission (Meiksin 2006)
Parameters
[in] aEnergyObs Energy in the observer reference frame in \(keV\).
Returns A copy of the TGraph is returned. The user is in charge of deleting the TGraph object after use. A pointer to NULL is returned if the type of extinction is unknown.
◆ Meiksin2006()
double Extinction::Meiksin2006
(
const double
aWavelengthObs ,
const double
aRedshift
)
private
Returns the intergalactic extinction factor predicted by the Meiksin 2006 model.
The intergalactic extinction curve is modeled in Meiksin 2006 as the sum of three contributions:
The optical depth for the Lyman transitions up to n=31: \(\tau_n\)
The contribution due to photoelectric absorption from systems optically thin at the Lyman edge: \(\tau_{IGM}\)
The contribution from Lyman Limit Systems: \(\tau_{LLS}\)
This function returns the total extinction value: \(\exp(-\sum_n\tau_n-\tau_{IGM}-\tau_{LLS})\).
Intergalactic transmission as modeled by Meiksin.
See also https://arxiv.org/pdf/astro-ph/0512435
Parameters
[in] aWavelengthObs Wavelength in the observer reference frame [mm].
[in] aRedshift Source redshift.
◆ Pei1992()
double Extinction::Pei1992
(
const double
aWavelength ,
const double
aExtinctionV ,
const string
aExtLaw = "MW"
)
private
Returns the galatic dust extinction factor predicted by the Pei 1992 model.
The galatic dust extinction curve is modeled in Pei 1992 for three local galaxies: the Milky Way, the Large Magellanic Cloud and the Small Magellanic Cloud. The extinction coefficient is computed as:
\[
\exp\left(-0.92\times A_V^{gal}\times \frac{A_\lambda}{A_V}\right),
\]
where \(A_V^{gal}\) is the galaxy amount of extinction in the V band. The scaling factor \(A_\lambda/A_V\) is modeled by Pei.
Extinction scaling factor as modeled by Pei.
Warning The extinction model is only valid in a range of wavelength (100-4700 nm). Outside of this range, an extrapolation is performed.
Todo: What is the 0.92 factor?
See also https://articles.adsabs.harvard.edu/pdf/1992ApJ...395..130P
Parameters
[in] aWavelength Wavelength [mm].
[in] aExtinctionV Amount of galactic extinction in the V band: \(A_V^{gal}\).
[in] aExtLaw Type of extinction law: "MW", "LMC", "SMC", or "MEAN".
◆ SetSource()
void Extinction::SetSource
(
const double
aRedshift ,
const double
aMwExtinctionV ,
const double
aHostExtinctionV
)
inline
Defines the source properties.
The source properties are used to derive the overall extinction factor.
See also GetSourceExtinction() .
Parameters
[in] aRedshift Source redshift.
[in] aMwExtinctionV Amount of extinction from the Milky Way in the V band: \(A_V^{MW}\).
[in] aHostExtinctionV Amount of extinction from the host galaxy in the V band: \(A_V^{HOST}\).
◆ G_LMC_pei1992
TGraph* Extinction::G_LMC_pei1992
private
Pei 1992 extinction model (Large Magellanic Cloud).
◆ G_MW_pei1992
TGraph* Extinction::G_MW_pei1992
private
Pei 1992 extinction model (Milky Way).
◆ G_SMC_pei1992
TGraph* Extinction::G_SMC_pei1992
private
Pei 1992 extinction model (Small Magellanic Cloud).
◆ src_Ahost_V
double Extinction::src_Ahost_V
private
Amount of extinction for the host galaxy in the V band (magnitude).
◆ src_Amw_V
double Extinction::src_Amw_V
private
Amount of extinction for the Milky Way in the V band (magnitude).
◆ src_redshift
double Extinction::src_redshift
private
The documentation for this class was generated from the following files: