Source code for rubin_sim.phot_utils.physical_parameters
__all__ = ("PhysicalParameters",)
[docs]
class PhysicalParameters:
"""
Stores physical constants and other immutable parameters
used by the sims_phot_utils code.
"""
def __init__(self):
self._lightspeed = 299792458.0 # speed of light, m/s
self._planck = 6.626068e-27 # planck's constant, ergs*seconds
self._nm2m = 1.00e-9 # nanometers to meters conversion m/nm
self._ergsetc2jansky = 1.00e23 # erg/cm2/s/Hz to Jansky units (fnu)
@property
def lightspeed(self):
"""Speed of light in meters per second."""
return self._lightspeed
@lightspeed.setter
def lightspeed(self, value):
raise RuntimeError("Cannot change the value of lightspeed " + "(Einstein does not approve)")
@property
def nm2m(self):
"""Conversion factor to go from nm to m."""
return self._nm2m
@nm2m.setter
def nm2m(self, value):
raise RuntimeError("Cannot change the value of nm2m")
@property
def ergsetc2jansky(self):
"""Conversion factor to go from ergs/sec/cm^2 to Janskys."""
return self._ergsetc2jansky
@ergsetc2jansky.setter
def ergsetc2jansky(self, value):
raise RuntimeError("Cannot change the value of ergsetc2Jansky")
@property
def planck(self):
"""Planck's constant in ergs*seconds."""
return self._planck
@planck.setter
def planck(self, value):
raise RuntimeError("Cannot change the value of planck")