Source code for astropy.cosmology._src.traits.rhocrit
# Licensed under a 3-clause BSD style license - see LICENSE.rst
"""Critical density component."""
__all__ = ["CriticalDensity"]
from collections.abc import Callable
from typing import Any
from numpy.typing import ArrayLike, NDArray
from astropy.cosmology._src.utils import deprecated_keywords
from astropy.units import Quantity
[docs]
class CriticalDensity:
"""The object has attributes and methods for the critical density."""
critical_density0: Quantity
"""Critical density at redshift 0."""
efunc: Callable[[Any], NDArray[Any]]
[docs]
@deprecated_keywords("z", since="7.0")
def critical_density(self, z: Quantity | ArrayLike) -> Quantity:
"""Critical density in grams per cubic cm at redshift ``z``.
Parameters
----------
z : Quantity-like ['redshift'], array-like
Input redshift.
.. versionchanged:: 7.0
Passing z as a keyword argument is deprecated.
Returns
-------
rho : Quantity ['mass density']
Critical density at each input redshift.
"""
return self.critical_density0 * self.efunc(z) ** 2