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 nanometer in meters
static constexpr double arcmin = deg / 60.0
 [rad] 1 degree in radians
static constexpr double arcsec = NOVAS_ARCSEC
 [rad] 1 minute of arc in radians
static constexpr double atm = 101325.0
 [Pa] 1 torr (mm of Hg) in pascals
static constexpr double AU = NOVAS_AU
static constexpr double au = AU
 [m] 1 Astronomical Unit in meters.
static constexpr double bar = 1000.0 * mbar
 [Pa] 1 millibar 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 meter (standard unit of distance)
static constexpr double cy = 100.0 * yr
 [s] 1 tropical calendar century in seconds (at J2000)
static constexpr double day = NOVAS_DAY
 [s] 1 hour in seconds
static constexpr double deg = NOVAS_DEGREE
 [rad] 1 hour of angle in radians on the 24h circle.
static constexpr double Gpc = 1e9 * pc
 [m] 1 megaparsec in meters
static constexpr double hour = 3600.0
 [s] 1 minute in seconds
static constexpr double hour_angle = NOVAS_HOURANGLE
 [rad] 1 radian (standard unit of angle)
static constexpr double hPa = 100.0
 [Pa] 1 pascal (standard unit of perssure)
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 Angstrom in meters
static constexpr double kPa = 1000.0
 [Pa] 1 bar in pascals
static constexpr double kpc = 1000.0 * pc
 [m] 1 parsec in meters
static constexpr double lyr = NOVAS_LIGHT_YEAR
 [m] 1 gigaparsec in meters
static constexpr double m = 1.0
 [m] 1 AU (lower-case)
static constexpr double mas = 1e-3 * arcsec
 [rad] 1 second or arc in radians
static constexpr double mbar = hPa
 [Pa] 1 hectopascal in pascals
static constexpr double micron = um
 [m] 1 micrometer (=micron) in meters
static constexpr double min = 60.0
 [s] 1 second by another name
static constexpr double mm = 1e-3
 [m] 1 centimeter in meters
static constexpr double MPa = 1e6
 [Pa] 1 kilopascal in pascals
static constexpr double Mpc = 1e6 * pc
 [m] 1 kiloparsec in meters
static constexpr double ms = 1e-3
 [s] 1 microsecond in seconds
static constexpr double nm = 1e-9
 [m] 1 micron (=micrometer) in meters, by another name.
static constexpr double ns = 1e-9
 [m] 1 light-year in meters
static constexpr double Pa = 1.0
 [rad] 1 microsecond of arc in radians
static constexpr double pc = NOVAS_PARSEC
 [m] 1 kilometer in meters
static constexpr double rad = 1.0
static constexpr double s = 1.0
 [s] 1 millisecond in seconds
static constexpr double sec = s
 [s] 1 second (standard unit of time)
static constexpr double torr = 133.3223684211
 [Pa] 1 megapascal in pascals
static constexpr double uas = 1e-6 * arcsec
 [rad] 1 millisecond of arc in radians
static constexpr double um = 1e-6
 [m] 1 millimeter in meters
static constexpr double us = 1e-6
 [s] 1 nanoseconds in seconds
static constexpr double week = 7 * day
 [s] 1 day in seconds
static constexpr double yr = NOVAS_TROPICAL_YEAR_DAYS * day
 [s] 1 week in seconds

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:

double d = 2.4103 * Unit::AU;
static constexpr double AU
Definition supernovas.h:112

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

See also
Constant

Member Data Documentation

◆ angstrom

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

[m] 1 nanometer in meters

◆ arcmin

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

[rad] 1 degree in radians

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

◆ arcsec

double supernovas::Unit::arcsec = NOVAS_ARCSEC
staticconstexpr

◆ atm

double supernovas::Unit::atm = 101325.0
staticconstexpr

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

Referenced by supernovas::Pressure::atm(), supernovas::Pressure::atm(), and supernovas::Weather::standard().

◆ AU

◆ au

◆ bar

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

[Pa] 1 millibar 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 meter (standard unit of distance)

◆ 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 megaparsec 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 pascal (standard unit of perssure)

◆ 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

◆ kPa

double supernovas::Unit::kPa = 1000.0
staticconstexpr

[Pa] 1 bar in pascals

◆ kpc

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

[m] 1 parsec in meters

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

◆ lyr

double supernovas::Unit::lyr = NOVAS_LIGHT_YEAR
staticconstexpr

[m] 1 gigaparsec in meters

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

◆ m

double supernovas::Unit::m = 1.0
staticconstexpr

[m] 1 AU (lower-case)

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

◆ 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 micrometer (=micron) in meters

◆ min

double supernovas::Unit::min = 60.0
staticconstexpr

[s] 1 second by another name

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 kilopascal in pascals

◆ Mpc

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

[m] 1 kiloparsec 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 micron (=micrometer) in meters, by another name.

◆ ns

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

[m] 1 light-year in meters

Referenced by supernovas::Calendar::date().

◆ Pa

double supernovas::Unit::Pa = 1.0
staticconstexpr

[rad] 1 microsecond of arc in radians

◆ pc

double supernovas::Unit::pc = NOVAS_PARSEC
staticconstexpr

◆ rad

double supernovas::Unit::rad = 1.0
staticconstexpr

◆ s

◆ sec

◆ torr

double supernovas::Unit::torr = 133.3223684211
staticconstexpr

[Pa] 1 megapascal in pascals

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

◆ uas

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

[rad] 1 millisecond of arc in radians

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

◆ um

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

[m] 1 millimeter in meters

◆ us

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

◆ week

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

[s] 1 day in seconds

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

◆ yr

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

[s] 1 week in seconds

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

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