![]() |
SuperNOVAS C++ API v1.6
High-precision C/C++ astrometry library
|
The geometric (3D) position and velocity of a source relative to an observer location. More...
#include <supernovas.h>
Public Member Functions | |
| Geometric (const Frame &frame, const Position &p, const Velocity &v, enum novas_reference_system system=NOVAS_TOD) | |
| Instantiates new geometric coordinates, relative to an observer frame, in the equatorial coordinate reference system of choice. | |
| Ecliptic | ecliptic () const |
| Returns the geometric ecliptic coordinates, in the system in which the geometric positions and velocities were defined. | |
| Equatorial | equatorial () const |
| Returns the geometric equatorial coordinates, in the system in which the geometric positions and velocities were defined. | |
| const Frame & | frame () const |
| Returns the observing frame for which these geometric coordinates were defined. | |
| Galactic | galactic () const |
| Returns the geometric galactic coordinates, in the system in which the geometric positions and velocities were defined. | |
| Geometric | operator>> (enum novas_reference_system system) const |
| Returns new geometric coordinates that are transformed from these into a different coordinate reference system. | |
| const Position & | position () const |
| Returns the cartesian equatorial position vector, relative to the observer. | |
| enum novas_reference_system | system_type () const |
| Returns the equatorial coordinate system in which these geometric coordinates are defined. | |
| Geometric | to_cirs () const |
| Returns new geometric coordinates that are transformed from these into the Celestial Intermediate Reference System (CIRS), with respect to the true dynamical equator and the Celestial Intermediate Origin (CIO) of date. | |
| Geometric | to_icrs () const |
| Returns new geometric coordinates that are transformed from these into the International Coordinate Reference System (ICRS). | |
| Geometric | to_itrs () const |
| Returns new geometric coordinates that are transformed from these into the rotating International Terrestrial Reference System (ITRS), with respect to the true dynamical equator and the Greenwich meridian. | |
| Geometric | to_j2000 () const |
| Returns new geometric coordinates that are transformed from these into the J2000 mean dynamical catalog coordinate system. | |
| Geometric | to_mod () const |
| Returns new geometric coordinates that are transformed from these into the Mean-of-Date (MOD) dynamical system, with respect to the mean dynamical equator and equinox of date. | |
| std::string | to_string (int decimals=3) const |
| Returns a human-readable basic string description of these geometric positions and velocities. | |
| Geometric | to_system (enum novas_reference_system system) const |
| Returns new geometric coordinates that are transformed from these into a different coordinate reference system. | |
| Geometric | to_tirs () const |
| Returns new geometric coordinates that are transformed from these into the rotating Terrestrial Intermediate Reference System (TIRS), with respect to the true dynamical equator and the Terrestrial Intermediate Origin (TIO) of date. | |
| Geometric | to_tod () const |
| Returns new geometric coordinates that are transformed from these into the True-of-Date (TOD) dynamical system, with respect to the true dynamical equator and equinox of date. | |
| const Velocity & | velocity () const |
| Returns the cartesian equatorial velocity vector, relative to the observer. | |
| 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 Geometric & | undefined () |
| Returns a reference to a statically defined standard invalid geometric coordinates. | |
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. | |
The geometric (3D) position and velocity of a source relative to an observer location.
It denotes spatial location and velocity of the source at the time light originated from it, prior to detection by the observer. As such, geometric positions are necessarily antedated for light travel time (for Solar-system sources) or corrected for the differential light-travel between the Solar-system barycenter and the observer location (for sidereal sources).
In other words, geometric positions are not the same as ephemeris positions for the equivalent time for Solar-system bodies. Rather, geometric positions match the ephemeris positions for an earlier time, when the observed light originated from the source.
| supernovas::Geometric::Geometric | ( | const Frame & | frame, |
| const Position & | p, | ||
| const Velocity & | v, | ||
| enum novas_reference_system | system = NOVAS_TOD ) |
Instantiates new geometric coordinates, relative to an observer frame, in the equatorial coordinate reference system of choice.
| p | equatorial position vector, with respect to the observer |
| v | equatorial velocity vector, with respect to the observer |
| frame | observing frame (observer location and time of observation) |
| system | equatorial coordinate reference_system, in which position and velocity vectors are defined |
References supernovas::Validating::_valid, frame(), supernovas::Validating::is_valid(), and NOVAS_REFERENCE_SYSTEMS.
| const Frame & supernovas::Geometric::frame | ( | ) | const |
Returns the observing frame for which these geometric coordinates were defined.
Referenced by Geometric().
| Geometric supernovas::Geometric::operator>> | ( | enum novas_reference_system | system | ) | const |
Returns new geometric coordinates that are transformed from these into a different coordinate reference system.
Same as to_system(). For dynamical coordinate systems, the result is in the coordinate epoch of observation.
| system | the new coordinate reference system type |
References supernovas::Validating::is_valid().
| const Position & supernovas::Geometric::position | ( | ) | const |
Returns the cartesian equatorial position vector, relative to the observer.
Referenced by to_string().
| enum novas_reference_system supernovas::Geometric::system_type | ( | ) | const |
Returns the equatorial coordinate system in which these geometric coordinates are defined.
| Geometric supernovas::Geometric::to_cirs | ( | ) | const |
Returns new geometric coordinates that are transformed from these into the Celestial Intermediate Reference System (CIRS), with respect to the true dynamical equator and the Celestial Intermediate Origin (CIO) of date.
References supernovas::Validating::is_valid(), and NOVAS_CIRS.
| Geometric supernovas::Geometric::to_icrs | ( | ) | const |
Returns new geometric coordinates that are transformed from these into the International Coordinate Reference System (ICRS).
References supernovas::Validating::is_valid(), and NOVAS_ICRS.
| Geometric supernovas::Geometric::to_itrs | ( | ) | const |
Returns new geometric coordinates that are transformed from these into the rotating International Terrestrial Reference System (ITRS), with respect to the true dynamical equator and the Greenwich meridian.
The returned instance may be invalid if an invalid EOP was supplied and the observer also does not define its own valid EOP. It's best practice to check on the validity of the returned value, e.g. as:
References supernovas::Validating::is_valid(), and NOVAS_ITRS.
| Geometric supernovas::Geometric::to_j2000 | ( | ) | const |
Returns new geometric coordinates that are transformed from these into the J2000 mean dynamical catalog coordinate system.
References supernovas::Validating::is_valid(), and NOVAS_J2000.
| Geometric supernovas::Geometric::to_mod | ( | ) | const |
Returns new geometric coordinates that are transformed from these into the Mean-of-Date (MOD) dynamical system, with respect to the mean dynamical equator and equinox of date.
References supernovas::Validating::is_valid(), and NOVAS_MOD.
| std::string supernovas::Geometric::to_string | ( | int | decimals = 3 | ) | const |
Returns a human-readable basic string description of these geometric positions and velocities.
| decimals | (optional) Number of decimal places to print after the decimal point (default: 3). |
References position(), supernovas::Position::to_string(), supernovas::Velocity::to_string(), and velocity().
| Geometric supernovas::Geometric::to_system | ( | enum novas_reference_system | system | ) | const |
Returns new geometric coordinates that are transformed from these into a different coordinate reference system.
For dynamical coordinate systems, the result is in the coordinate epoch of observation.
Note, that using this pathway (as to_system().equatorial()) for converting geometric positions to different equatorial systems is typically much faster than the equivalent but slower equatorial().to_system(), since this method uses transformations that are readily available for the observing frame.
| system | the new coordinate reference system type |
References supernovas::Validating::is_valid(), novas_make_transform(), novas_transform_vector(), and undefined().
| Geometric supernovas::Geometric::to_tirs | ( | ) | const |
Returns new geometric coordinates that are transformed from these into the rotating Terrestrial Intermediate Reference System (TIRS), with respect to the true dynamical equator and the Terrestrial Intermediate Origin (TIO) of date.
References supernovas::Validating::is_valid(), and NOVAS_TIRS.
| Geometric supernovas::Geometric::to_tod | ( | ) | const |
Returns new geometric coordinates that are transformed from these into the True-of-Date (TOD) dynamical system, with respect to the true dynamical equator and equinox of date.
References supernovas::Validating::is_valid(), and NOVAS_TOD.
|
static |
Returns a reference to a statically defined standard invalid geometric coordinates.
These invalid coordinates may be used inside any object that is invalid itself.
Referenced by supernovas::Source::geometric_in(), supernovas::Frame::geometric_moon_elp2000(), and to_system().
| const Velocity & supernovas::Geometric::velocity | ( | ) | const |
Returns the cartesian equatorial velocity vector, relative to the observer.
Referenced by to_string().