Class IRB_Franceschini08

Inheritance Relationships

Base Type

Class Documentation

class IRB_Franceschini08 : public TabularPhotonField

Extragalactic background light model from Franceschini et al. 2008.

Source info: DOI:10.1051/0004-6361:200809691 https://arxiv.org/pdf/0805.1841.pdf, tables 1 and 2

Public Functions

IRB_Franceschini08()
double getPhotonDensity(double ePhoton, double z = 0.) const

returns comoving photon density [1/m^3]. multiply with (1+z^3) for physical number density.

Parameters
  • ePhoton: photon energy [J]
  • z: redshift (if redshift dependent, default = 0.)

double getRedshiftScaling(double z) const

returns overall comoving scaling factor (cf. CRPropa3-data/calc_scaling.py)

Parameters
  • z: redshift

bool hasRedshiftDependence() const
std::string getFieldName() const
size_t addReference() const
size_t removeReference() const
int removeReferenceNoDelete() const
size_t getReferenceCount() const

Protected Functions

void readPhotonEnergy(std::string filePath)
void readPhotonDensity(std::string filePath)
void readRedshift(std::string filePath)
void initRedshiftScaling()
void checkInputData() const

Protected Attributes

std::vector<double> photonEnergies
std::vector<double> photonDensity
std::vector<double> redshifts
std::vector<double> redshiftScalings
std::string fieldName
bool isRedshiftDependent
size_t _referenceCount