25 #ifndef PHYSICSUTILS_PHYSICSUTILS_COSMOLOGICALDISTANCES_H_
26 #define PHYSICSUTILS_PHYSICSUTILS_COSMOLOGICALDISTANCES_H_
31 namespace PhysicsUtils {
virtual ~CosmologicalDistances()=default
double comovingDistance(double z, const CosmologicalParameters ¶meters, double relative_precision=0.0000001) const
return the comoving distance in [pc]. This value is obtained through a numerical integration. The relative precision of the integration can be specified and is defaulted to 0.00001%.
double transverseComovingDistance(double z, const CosmologicalParameters ¶meters) const
return the transverse comoving distance in [pc]
double hubbleParameter(double z, const CosmologicalParameters ¶meters) const
Returns the (unit-less) Hubble parameter E(z)
double luminousDistance(double z, const CosmologicalParameters ¶meters) const
return the luminous distance in [pc]. For z=0 the returned value is 10pc.
double dimensionlessComovingVolumeElement(double z, const CosmologicalParameters ¶meters) const
return the dimensionless comoving volume element.
double hubbleDistance(const CosmologicalParameters ¶meters) const
Get the computed Hubble distance for the cosmology.
double distanceModulus(double z, const CosmologicalParameters ¶meters) const
return the correction for the Magnitude due to the distance: DM =5*log_10(DL/10pc) ...
Model the cosmological parameters. Omega_m, Omega_lambda, Omega_k and hubble_constant. Guarantee that the sum of the Omegas is 1.