![]() |
SuperNOVAS C++ API v1.6
High-precision C/C++ astrometry library
|
Equatorial coordinate system, defining the orientation of the equator and the location of the equinox, relative to which the right ascention and declination (RA/Dec) coordinates are defined. More...
#include <supernovas.h>
Public Member Functions | |
| double | epoch () const |
| Returns the years of the Julian epoch that matches this system. | |
| bool | equals (const Equinox &system, const Interval &dt) const |
| Checks if this equatorial system equals the equatorial system as the right-hand side, with the epochs also matching within the specified precision. | |
| bool | equals (const Equinox &system, double dt=Unit::s) const |
| Checks if this equatorial system equals the equatorial system as the right-hand side, with the epochs also matching within the specified precision. | |
| enum novas_equator_type | equator_type () const |
| Returns the type of equator used in this equatorial coordinate system. | |
| bool | is_icrs () const |
| Checks if this equatorial system is the International Celestial Reference System (ICRS). | |
| bool | is_mod () const |
| Checks if this equatorial system is a Mean-of-Date (MOD) system. | |
| bool | is_true () const |
| Checks if this equatorial system is based on the true dynamical equator of date. | |
| double | jd () const |
| Returns the (TT-based) Julian date that corresponds to this system instance. | |
| double | mjd () const |
| Returns the (TT-based) Modified Julian Date (MJD) that corresponds to this system instance. | |
| const std::string & | name () const |
| Returns a reference to the name of this system. | |
| bool | operator!= (const Equinox &system) const |
| Checks if this equatorial system differs from the equatorial system as the right-hand side. | |
| bool | operator== (const Equinox &system) const |
| Checks if this equatorial system equals the equatorial system as the right-hand side, with the epochs also matching to within 1 second. | |
| enum novas_reference_system | system_type () const |
| Returns the coordinate reference system type for this equatorial system. | |
| std::string | to_string () const |
| Provides a string representation of this system. | |
| Public Member Functions inherited from supernovas::Validating | |
| bool | is_valid () const |
| Returns the previously set 'valid' stae of the implementing instance. | |
| operator bool () const | |
| Objects that implement Validating can be used in conditionals directly, without explicitly calling is_valid(). | |
Static Public Member Functions | |
| static const Equinox & | b1900 () |
| The system of the dynamical equator at the B1900 epoch (0 UTC, 1 January 1900). | |
| static const Equinox & | b1950 () |
| The system of the dynamical equator at the B1950 epoch (0 UTC, 1 January 1950). | |
| static Equinox | cirs (const Time &time) |
| Returns a Celestial Intermediate Reference System (CIRS) equatorial system for the given (TT-based) Julian date. | |
| static Equinox | cirs (double jd_tt) |
| Returns a Celestial Intermediate Reference System (CIRS) equatorial system for the given (TT-based) Julian date. | |
| static Equinox | from_string (const std::string &name) |
| Returns a new equinox instance from a string, such as 'ICRS', 'J2000', 'FK5', B1950', or 'HIP'; or else {}. | |
| static Equinox | from_system_type (enum novas_reference_system system, double jd_tt=NOVAS_JD_J2000) |
| Returns a new equinox instance given a coordinate reference system type and a date. | |
| static const Equinox & | hip () |
| The system of the mean dynamical equator at the J1991.25 epoch, which is adopted as the nominal mean epoch of the Hipparcos catalog. | |
| static const Equinox & | icrs () |
| International Celestial Reference System (ICRS) is the IAU standard catalog coordinate system. | |
| static const Equinox & | j2000 () |
| The system of the dynamical equator at the J2000 epoch (12 TT, 1 January 2000). | |
| static Equinox | mod (const Time &time) |
| Mean-of-date (MOD) dynamical coordinate system, at the specified Julian epoch. | |
| static Equinox | mod (double jd_tt) |
| Mean-of-date (MOD) dynamical coordinate system, at the specified Julian epoch. | |
| static Equinox | mod_at_besselian_epoch (double year) |
| Mean-of-date (MOD) dynamical coordinate system, at the specified Besselian epoch. | |
| static Equinox | tod (const Time &time) |
| Returns a True-of-Date (TOD) equatorial system for the given (TT-based) Julian date. | |
| static Equinox | tod (double jd_tt) |
| Returns a True-of-Date (TOD) equatorial system for the given (TT-based) Julian date. | |
| static const Equinox & | undefined () |
| Returns a reference to a statically defined standard invalid equatorial system. | |
Additional Inherited Members | |
| Protected Member Functions inherited from supernovas::Validating | |
| Validating () | |
| dummy constructor; | |
| Protected Attributes inherited from supernovas::Validating | |
| bool | _valid = false |
| the state variable. | |
Equatorial coordinate system, defining the orientation of the equator and the location of the equinox, relative to which the right ascention and declination (RA/Dec) coordinates are defined.
We'll simply refer to it as Equinox in this API. This class does not include the Earth co-rotating systems (TIRS and ITRS).
|
static |
The system of the dynamical equator at the B1900 epoch (0 UTC, 1 January 1900).
This was a commonly used catalog coordinate system of old.
References b1900(), and mod_at_besselian_epoch().
Referenced by b1900().
|
static |
The system of the dynamical equator at the B1950 epoch (0 UTC, 1 January 1950).
This was a commonly used catalog coordinate system of old. It is also known as FK4, since the 4th realization of the fundamental catalog of stars used B1950 also.
B1950 is also the system used for the 4th Catalog of Fundamental Stars (FK4).
References b1950(), and mod_at_besselian_epoch().
Referenced by b1950().
|
static |
Returns a Celestial Intermediate Reference System (CIRS) equatorial system for the given (TT-based) Julian date.
It is the system on the true dynamical equator of date, with its origin at the Celestial Intermediate Origin (CIO) of date.
| Time of observation and astronomical timescales | astrometric time specifying the coordinate epoch. |
References cirs(), and supernovas::Time::jd().
|
static |
Returns a Celestial Intermediate Reference System (CIRS) equatorial system for the given (TT-based) Julian date.
It is the system on the true dynamical equator of date, with its origin at the Celestial Intermediate Origin (CIO) of date.
| jd_tt | [day] The (TT-based) Julian date for when of the true dynamical equator and true equinox of date define the returned equatorial coordinate system, |
References cirs(), supernovas::Validating::is_valid(), and NOVAS_CIRS.
Referenced by supernovas::Apparent::cirs(), cirs(), cirs(), and supernovas::Equatorial::to_cirs().
| double supernovas::Equinox::epoch | ( | ) | const |
Returns the years of the Julian epoch that matches this system.
E.g. for both 'ICRS' and 'J2000' this will return 2000.0.
References epoch().
Referenced by epoch().
| bool supernovas::Equinox::equals | ( | const Equinox & | system, |
| const Interval & | dt ) const |
Checks if this equatorial system equals the equatorial system as the right-hand side, with the epochs also matching within the specified precision.
| system | The equatorial system on the right-hand side. |
| dt | [s] The tolerance to epoch differences. |
References equals(), and supernovas::Interval::seconds().
| bool supernovas::Equinox::equals | ( | const Equinox & | system, |
| double | dt = Unit::s ) const |
Checks if this equatorial system equals the equatorial system as the right-hand side, with the epochs also matching within the specified precision.
| system | The equatorial system on the right-hand side. |
| dt | [s] The tolerance to epoch differences in seconds. |
References supernovas::Unit::day, equals(), and is_mod().
Referenced by equals(), equals(), operator!=(), and operator==().
| enum novas_equator_type supernovas::Equinox::equator_type | ( | ) | const |
Returns the type of equator used in this equatorial coordinate system.
References equator_type(), NOVAS_CIRS, NOVAS_GCRS, NOVAS_GCRS_EQUATOR, NOVAS_ICRS, NOVAS_J2000, NOVAS_MEAN_EQUATOR, NOVAS_MOD, NOVAS_TOD, NOVAS_TRUE_EQUATOR, and system_type().
Referenced by equator_type().
|
static |
Returns a new equinox instance from a string, such as 'ICRS', 'J2000', 'FK5', B1950', or 'HIP'; or else {}.
It is generally preferable to use one of the other static initializers, such as icrs(), or j2000(), which are guaranteed to return a valid instance.
| name | The name that defining the type of catalog system. If only a year is give, then it prior to 1984.0 they map to Besselian epochs, e.g. '1950' → 'B1950', whereas for later dates Julian epochs are assumed, e.g. '2000' → 'J2000'. |
References supernovas::Unit::day, from_string(), name(), NOVAS_CIRS, novas_epoch(), NOVAS_ICRS, NOVAS_J2000, NOVAS_JD_B1950, NOVAS_JD_J2000, NOVAS_MOD, NOVAS_TOD, supernovas::Unit::s, and undefined().
Referenced by from_string().
|
static |
Returns a new equinox instance given a coordinate reference system type and a date.
| system | The coordinate reference system type |
| jd_tt | [day] The (TT-based) Julian date (for dynamical systems). |
References from_system_type(), supernovas::Validating::is_valid(), NOVAS_ITRS, NOVAS_TIRS, and undefined().
Referenced by supernovas::AstrometricPosition::as_equatorial(), supernovas::Geometric::equatorial(), and from_system_type().
|
static |
The system of the mean dynamical equator at the J1991.25 epoch, which is adopted as the nominal mean epoch of the Hipparcos catalog.
J2000 is also the system used for the 5th Catalog of Fundamental Stars (FK5).
References hip(), NOVAS_JD_HIP, and NOVAS_MOD.
Referenced by hip(), and supernovas::Equatorial::to_hip().
|
static |
International Celestial Reference System (ICRS) is the IAU standard catalog coordinate system.
It is defined by distant quasars, and is aligned with the J2000 dynamical equator within 22 mas. In SuperNOVAS ICRS is the same as GCRS (the Geocentric Celestial Reference System) or BCRS (the Barycentric International Reference System), which have the same alignment and differ only in the location of their origin. In SuperNOVAS, the origin is determined by the Observer location, while the coordinate system defines only the orientation of the celestial pole. Thus, there is no need to distinguish between these related systems explicitly in SuperNOVAS.
ICRS is also the system used for the 6th Catalog of Fundamental Stars (FK6).
References icrs(), NOVAS_ICRS, and NOVAS_JD_J2000.
Referenced by icrs(), supernovas::Ecliptic::system(), supernovas::Galactic::to_equatorial(), and supernovas::Equatorial::to_icrs().
| bool supernovas::Equinox::is_icrs | ( | ) | const |
Checks if this equatorial system is the International Celestial Reference System (ICRS).
ICRS is the standard catalog system in the IAU 2000 convention.
References is_icrs(), and NOVAS_ICRS.
Referenced by is_icrs().
| bool supernovas::Equinox::is_mod | ( | ) | const |
Checks if this equatorial system is a Mean-of-Date (MOD) system.
MODs include precession, but not nutation, and have been commonly used for catalogs (e.g. J2000, B1950, FK4, or HIP) prior to the IAU 2000 convention, when ICRS became the new standard catalog system.
References is_mod(), NOVAS_J2000, and NOVAS_MOD.
| bool supernovas::Equinox::is_true | ( | ) | const |
Checks if this equatorial system is based on the true dynamical equator of date.
If true, it may be a True-of-Date (TOD) system with the origin at the true equinox of date, or else the Celestial Intermediate Reference System (CIRS) with its origin at the Celestial Intermediate Origin (CIO).
References is_true(), NOVAS_CIRS, and NOVAS_TOD.
Referenced by is_true().
|
static |
The system of the dynamical equator at the J2000 epoch (12 TT, 1 January 2000).
This was a commonly used catalog coordinate system before the advent of the IAU 2000 standard ICRS system. It is also known as FK5, since the 5th realization of the fundamental catalog of stars used J2000 also.
References j2000(), NOVAS_J2000, and NOVAS_JD_J2000.
Referenced by j2000(), supernovas::Ecliptic::system(), and supernovas::Equatorial::to_j2000().
| double supernovas::Equinox::jd | ( | ) | const |
Returns the (TT-based) Julian date that corresponds to this system instance.
That is, it returns the date for which the mean dynamical equator best matches the equator of this catalog system.
References jd().
Referenced by jd().
| double supernovas::Equinox::mjd | ( | ) | const |
Returns the (TT-based) Modified Julian Date (MJD) that corresponds to this system instance.
That is, it returns the MJD for which the mean dynamical equator best matches the equator of this catalog system.
References mjd(), and NOVAS_JD_MJD0.
Referenced by mjd().
|
static |
Mean-of-date (MOD) dynamical coordinate system, at the specified Julian epoch.
MOD coordinates take into account Earth's slow precession but not nutation. Julian-date based MODs were commonly used for catalogs, such as J2000, or HIP.
| Time of observation and astronomical timescales | astrometric time specifying the coordinate epoch. |
References supernovas::Time::jd(), and mod().
|
static |
Mean-of-date (MOD) dynamical coordinate system, at the specified Julian epoch.
MOD coordinates take into account Earth's slow precession but not nutation. Julian-date based MODs were commonly used for catalogs, such as J2000, or HIP.
| jd_tt | [day] TT-based Julian day. |
References supernovas::Validating::is_valid(), mod(), and NOVAS_MOD.
Referenced by mod(), mod(), supernovas::Ecliptic::system(), and supernovas::Equatorial::to_mod().
|
static |
Mean-of-date (MOD) dynamical coordinate system, at the specified Besselian epoch.
MOD coordinates take into account Earth's precession but not nutation. Besselian-date based MODs, now a historical relic, were once commonly used for catalog systems, such as B1900, or B1950.
| year | [yr] UTC-based decimal calendar year. |
References supernovas::Unit::besselian_year, supernovas::Unit::day, supernovas::Validating::is_valid(), mod_at_besselian_epoch(), and NOVAS_JD_B1950.
Referenced by b1900(), b1950(), mod_at_besselian_epoch(), and supernovas::Equatorial::to_mod_at_besselian_epoch().
| const std::string & supernovas::Equinox::name | ( | ) | const |
Returns a reference to the name of this system.
References name().
Referenced by supernovas::CatalogSource::CatalogSource(), from_string(), and name().
| bool supernovas::Equinox::operator!= | ( | const Equinox & | system | ) | const |
Checks if this equatorial system differs from the equatorial system as the right-hand side.
| system | The equatorial system on the right-hand side. |
References equals(), and operator!=().
Referenced by operator!=().
| bool supernovas::Equinox::operator== | ( | const Equinox & | system | ) | const |
Checks if this equatorial system equals the equatorial system as the right-hand side, with the epochs also matching to within 1 second.
| system | The equatorial system on the right-hand side. |
References equals(), and operator==().
Referenced by operator==().
| enum novas_reference_system supernovas::Equinox::system_type | ( | ) | const |
Returns the coordinate reference system type for this equatorial system.
References system_type().
Referenced by equator_type(), supernovas::OrbitalSystem::orientation(), and system_type().
| std::string supernovas::Equinox::to_string | ( | ) | const |
Provides a string representation of this system.
It is pretty much the same as calling name(), except it returns a copy rather than the reference.
References to_string().
Referenced by to_string().
|
static |
Returns a True-of-Date (TOD) equatorial system for the given (TT-based) Julian date.
It is the system on the true dynamical equator of date, with its origin at the true equinox of date.
| Time of observation and astronomical timescales | astromemtric time specifying the coordinate epoch, |
References supernovas::Time::jd(), and tod().
|
static |
Returns a True-of-Date (TOD) equatorial system for the given (TT-based) Julian date.
It is the system on the true dynamical equator of date, with its origin at the true equinox of date.
| jd_tt | [day] The (TT-based) Julian date for when of the true dynamical equator and true equinox of date define the returned equatorial coordinate system, |
References supernovas::Validating::is_valid(), NOVAS_TOD, and tod().
Referenced by supernovas::Apparent::equatorial(), supernovas::Source::equatorial_track(), supernovas::Ecliptic::system(), supernovas::Equatorial::to_tod(), tod(), and tod().
|
static |
Returns a reference to a statically defined standard invalid equatorial system.
This invalid equatorial system may be used inside any object that is invalid itself.
References undefined().
Referenced by from_string(), from_system_type(), supernovas::Ecliptic::system(), and undefined().