SuperNOVAS C++ API v1.6
High-precision C/C++ astrometry library
Loading...
Searching...
No Matches
supernovas::Unit Class Reference

Various physical units for converting quantities expressed in conventional units to SI, and vice versa. More...

#include <supernovas.h>

Static Public Attributes

static constexpr double angstrom = 1e-10
 [m] 1 Angstrom in meters
 
static constexpr double arcmin = deg / 60.0
 [rad] 1 minute of arc in radians
 
static constexpr double arcsec = NOVAS_ARCSEC
 [rad] 1 second or arc in radians
 
static constexpr double atm = 101325.0
 [Pa] 1 atmosphere in pascals
 
static constexpr double AU = NOVAS_AU
 [m] 1 Astronomical Unit in meters.
 
static constexpr double au = AU
 [m] 1 AU (lower-case)
 
static constexpr double AU_per_day = AU / day
 [m/s] 1 AU per day in m/s
 
static constexpr double bar = 1000.0 * mbar
 [Pa] 1 bar in pascals
 
static constexpr double besselian_year = NOVAS_BESSELIAN_YEAR_DAYS * day
 [s] 1 Besselian year in seconds
 
static constexpr double cm = 0.01
 [m] 1 centimeter in meters
 
static constexpr double cy = 100.0 * yr
 [s] 1 tropical calendar century in seconds (at J2000)
 
static constexpr double day = NOVAS_DAY
 [s] 1 day in seconds
 
static constexpr double deg = NOVAS_DEGREE
 [rad] 1 degree in radians
 
static constexpr double Gpc = 1e9 * pc
 [m] 1 gigaparsec in meters
 
static constexpr double hour = 3600.0
 [s] 1 hour in seconds
 
static constexpr double hour_angle = NOVAS_HOURANGLE
 [rad] 1 hour of angle in radians on the 24h circle.
 
static constexpr double hPa = 100.0
 [Pa] 1 hectopascal in pascals
 
static constexpr double julian_century = 100.0 * julian_year
 [s] 1 Julian century in seconds
 
static constexpr double julian_year = NOVAS_JULIAN_YEAR_DAYS * day
 [s] 1 Julian year in seconds
 
static constexpr double km = NOVAS_KM
 [m] 1 kilometer in meters
 
static constexpr double km_per_s = km / s
 [m/s] 1 kilometer per second in m/s
 
static constexpr double kPa = 1000.0
 [Pa] 1 kilopascal in pascals
 
static constexpr double kpc = 1000.0 * pc
 [m] 1 kiloparsec in meters
 
static constexpr double lyr = NOVAS_LIGHT_YEAR
 [m] 1 light-year in meters
 
static constexpr double m = 1.0
 [m] 1 meter (standard unit of distance)
 
static constexpr double m_per_s = m / s
 [m/s] 1 meter per second
 
static constexpr double mas = 1e-3 * arcsec
 [rad] 1 millisecond of arc in radians
 
static constexpr double mbar = hPa
 [Pa] 1 millibar in pascals
 
static constexpr double micron = um
 [m] 1 micron (=micrometer) in meters, by another name.
 
static constexpr double min = 60.0
 [s] 1 minute in seconds
 
static constexpr double mm = 1e-3
 [m] 1 millimeter in meters
 
static constexpr double MPa = 1e6
 [Pa] 1 megapascal in pascals
 
static constexpr double Mpc = 1e6 * pc
 [m] 1 megaparsec in meters
 
static constexpr double ms = 1e-3
 [s] 1 millisecond in seconds
 
static constexpr double nm = 1e-9
 [m] 1 nanometer in meters
 
static constexpr double ns = 1e-9
 [s] 1 nanosecond in seconds
 
static constexpr double Pa = 1.0
 [Pa] 1 pascal (standard unit of perssure)
 
static constexpr double pc = NOVAS_PARSEC
 [m] 1 parsec in meters
 
static constexpr double percent = 0.01
 [u] 1 percent as a fraction.
 
static constexpr double ps = 1e-12
 [s] 1 picosecond in seconds
 
static constexpr double rad = 1.0
 [rad] 1 radian (standard unit of angle)
 
static constexpr double s = 1.0
 [s] 1 second (standard unit of time)
 
static constexpr double sec = s
 [s] 1 second by another name
 
static constexpr double torr = 133.3223684211
 [Pa] 1 torr (mm of Hg) in pascals
 
static constexpr double uas = 1e-6 * arcsec
 [rad] 1 microsecond of arc in radians
 
static constexpr double um = 1e-6
 [m] 1 micrometer (=micron) in meters
 
static constexpr double us = 1e-6
 [s] 1 microsecond in seconds
 
static constexpr double week = 7 * day
 [s] 1 week in seconds
 
static constexpr double yr = NOVAS_TROPICAL_YEAR_DAYS * day
 [s] 1 tropical calendar year in seconds (at J2000)
 

Detailed Description

Various physical units for converting quantities expressed in conventional units to SI, and vice versa.

The SuperNOVAS C++ API uses SI quantities consistently for inputs, so these units can be useful for converting quantities in other units to SI, or to convert return values from SI to conventional units.

For example, if you have distance in AU, then you can use Unit::AU to convert it to an SI distance (i.e. meters) as:

// Standard S.I. distance, defined in astronomical units (AUs)
double d = 2.4103 * Unit::AU;
static constexpr double AU
[m] 1 Astronomical Unit in meters.
Definition supernovas.h:126

Conversely, you can cast a quantity in S.I. units to S.I. units as:

// standard S.I. distance cast into units of 'km'.
double d_km = d / Unit::km;
static constexpr double km
[m] 1 kilometer in meters
Definition supernovas.h:135

Note, this class cannot be instantiated or copied. You should only use its static fields.

Since
1.6
See also
Constant

Member Data Documentation

◆ angstrom

double supernovas::Unit::angstrom = 1e-10
staticconstexpr

[m] 1 Angstrom in meters

◆ arcmin

double supernovas::Unit::arcmin = deg / 60.0
staticconstexpr

[rad] 1 minute of arc in radians

Referenced by supernovas::Angle::arcmin().

◆ arcsec

double supernovas::Unit::arcsec = NOVAS_ARCSEC
staticconstexpr

◆ atm

double supernovas::Unit::atm = 101325.0
staticconstexpr

◆ AU

◆ au

◆ AU_per_day

◆ bar

double supernovas::Unit::bar = 1000.0 * mbar
staticconstexpr

[Pa] 1 bar in pascals

Referenced by supernovas::Pressure::bar(), and supernovas::Pressure::bar().

◆ besselian_year

double supernovas::Unit::besselian_year = NOVAS_BESSELIAN_YEAR_DAYS * day
staticconstexpr

[s] 1 Besselian year in seconds

Referenced by supernovas::Equinox::mod_at_besselian_epoch().

◆ cm

double supernovas::Unit::cm = 0.01
staticconstexpr

[m] 1 centimeter in meters

◆ cy

double supernovas::Unit::cy = 100.0 * yr
staticconstexpr

[s] 1 tropical calendar century in seconds (at J2000)

◆ day

◆ deg

◆ Gpc

double supernovas::Unit::Gpc = 1e9 * pc
staticconstexpr

[m] 1 gigaparsec in meters

Referenced by supernovas::Coordinate::at_Gpc(), and supernovas::Coordinate::Gpc().

◆ hour

double supernovas::Unit::hour = 3600.0
staticconstexpr

◆ hour_angle

◆ hPa

double supernovas::Unit::hPa = 100.0
staticconstexpr

[Pa] 1 hectopascal in pascals

◆ julian_century

double supernovas::Unit::julian_century = 100.0 * julian_year
staticconstexpr

[s] 1 Julian century in seconds

Referenced by supernovas::Interval::julian_centuries().

◆ julian_year

double supernovas::Unit::julian_year = NOVAS_JULIAN_YEAR_DAYS * day
staticconstexpr

[s] 1 Julian year in seconds

Referenced by supernovas::Interval::julian_years().

◆ km

double supernovas::Unit::km = NOVAS_KM
staticconstexpr

◆ km_per_s

◆ kPa

double supernovas::Unit::kPa = 1000.0
staticconstexpr

[Pa] 1 kilopascal in pascals

◆ kpc

double supernovas::Unit::kpc = 1000.0 * pc
staticconstexpr

[m] 1 kiloparsec in meters

Referenced by supernovas::CatalogEntry::distance(), and supernovas::Coordinate::kpc().

◆ lyr

double supernovas::Unit::lyr = NOVAS_LIGHT_YEAR
staticconstexpr

[m] 1 light-year in meters

Referenced by supernovas::Coordinate::lyr().

◆ m

double supernovas::Unit::m = 1.0
staticconstexpr

[m] 1 meter (standard unit of distance)

Referenced by supernovas::Site::altitude(), and supernovas::Site::itrf_transformed().

◆ m_per_s

double supernovas::Unit::m_per_s = m / s
staticconstexpr

[m/s] 1 meter per second

◆ mas

double supernovas::Unit::mas = 1e-3 * arcsec
staticconstexpr

◆ mbar

double supernovas::Unit::mbar = hPa
staticconstexpr

◆ micron

double supernovas::Unit::micron = um
staticconstexpr

[m] 1 micron (=micrometer) in meters, by another name.

◆ min

double supernovas::Unit::min = 60.0
staticconstexpr

[s] 1 minute in seconds

Referenced by supernovas::Source::horizontal_track(), and supernovas::Interval::minutes().

◆ mm

double supernovas::Unit::mm = 1e-3
staticconstexpr

◆ MPa

double supernovas::Unit::MPa = 1e6
staticconstexpr

[Pa] 1 megapascal in pascals

◆ Mpc

double supernovas::Unit::Mpc = 1e6 * pc
staticconstexpr

[m] 1 megaparsec in meters

Referenced by supernovas::Coordinate::Mpc().

◆ ms

double supernovas::Unit::ms = 1e-3
staticconstexpr

◆ nm

double supernovas::Unit::nm = 1e-9
staticconstexpr

[m] 1 nanometer in meters

Referenced by supernovas::Interferometric::operator==().

◆ ns

double supernovas::Unit::ns = 1e-9
staticconstexpr

[s] 1 nanosecond in seconds

Referenced by supernovas::Calendar::date(), and supernovas::Interval::to_string().

◆ Pa

double supernovas::Unit::Pa = 1.0
staticconstexpr

[Pa] 1 pascal (standard unit of perssure)

◆ pc

◆ percent

double supernovas::Unit::percent = 0.01
staticconstexpr

◆ ps

double supernovas::Unit::ps = 1e-12
staticconstexpr

[s] 1 picosecond in seconds

◆ rad

double supernovas::Unit::rad = 1.0
staticconstexpr

[rad] 1 radian (standard unit of angle)

◆ s

double supernovas::Unit::s = 1.0
staticconstexpr

◆ sec

double supernovas::Unit::sec = s
staticconstexpr

[s] 1 second by another name

Referenced by supernovas::Velocity::operator!=(), and supernovas::Velocity::operator==().

◆ torr

double supernovas::Unit::torr = 133.3223684211
staticconstexpr

[Pa] 1 torr (mm of Hg) in pascals

Referenced by supernovas::Pressure::torr(), and supernovas::Pressure::torr().

◆ uas

double supernovas::Unit::uas = 1e-6 * arcsec
staticconstexpr

[rad] 1 microsecond of arc in radians

Referenced by supernovas::EOP::operator==(), and supernovas::Angle::uas().

◆ um

double supernovas::Unit::um = 1e-6
staticconstexpr

[m] 1 micrometer (=micron) in meters

◆ us

double supernovas::Unit::us = 1e-6
staticconstexpr

◆ week

double supernovas::Unit::week = 7 * day
staticconstexpr

[s] 1 week in seconds

Referenced by supernovas::Interval::weeks().

◆ yr

double supernovas::Unit::yr = NOVAS_TROPICAL_YEAR_DAYS * day
staticconstexpr

[s] 1 tropical calendar year in seconds (at J2000)

Referenced by supernovas::CatalogEntry::proper_motion(), supernovas::Interval::to_string(), and supernovas::Interval::years().