![]() |
SuperNOVAS C++ API v1.6
High-precision C/C++ astrometry library
|
Approximate trajectory of a source in spherical coordinates, using a local quadratic approximation around a time instant, in some coordinate system. More...
#include <supernovas.h>
Public Member Functions | |
| Coordinate | distance_at (const Time &time) const |
| Returns the momentary extrapolated distance (if valid), or else std::nullopt if the time is outside the range of validity. | |
| const ScalarEvolution & | distance_evolution () const |
| Returns the time evolution of radial distance in this trajectory. | |
| bool | is_valid_at (const Time &time) const |
| Checks if the trajectory provides valid extrapolated data at a given astrometric time. | |
| Angle | latitude_at (const Time &time) const |
| Returns the momentary extrapolated latitude angle (if valid), or else std::nullopt if the time is outside the range of validity. | |
| const ScalarEvolution & | latitude_evolution () const |
| Returns the latitudinal time evolution component of this trajectory. | |
| Angle | longitude_at (const Time &time) const |
| Returns the momentary extrapolated longitude angle (if valid), or else std::nullopt if the time is outside the range of validity. | |
| const ScalarEvolution & | longitude_evolution () const |
| Returns the longitudinal time evolution component of this trajectory. | |
| virtual CoordType | projected_at (const Time &time) const =0 |
| ScalarVelocity | radial_velocity_at (const Time &time) const |
| Returns the momentary extrapolated radial velocity (if valid), or else std::nullopt if the time is outside the range of validity. | |
| const Interval & | range () const |
| Returns the time range of validity for this trajectory. | |
| double | redshift_at (const Time &time) const |
| Returns the momentary extrapolated redshift measure (if valid), or else NAN if the time is outside the range of validity. | |
| const ScalarEvolution & | redshift_evolution () const |
| Returns the redshift evolution in this trajectory. | |
| const Time & | reference_time () const |
| Returns the astrometic time of reference, at which the (quadratic) trajectory has been defined. | |
| 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(). | |
Protected Member Functions | |
| Track () | |
| Track (const novas_track *track, const Interval &range) | |
| Instantiates a local trajectory estimate for a source on sky, which can be used to extrapolate positions around the specified reference time inside an interval of validity. | |
| Track (const Time &ref_time, const Interval &range, const ScalarEvolution &lon, const ScalarEvolution &lat, const ScalarEvolution &r, const ScalarEvolution &z) | |
| Instantiates a local trajectory estimate for a source on sky, which can be used to extrapolate positions around the specified reference time inside an interval of validity. | |
| virtual | ~Track () |
| Coordinate | unchecked_distance (const Time &time) const |
| Returns the momentary extrapolated distance, without checking if the requested time is inside the range of validity. | |
| Angle | unchecked_latitude (const Time &time) const |
| Returns the momentary extrapolated latitude angle, without checking if the requested time is inside the range of validity. | |
| Angle | unchecked_longitude (const Time &time) const |
| Returns the momentary extrapolated longitude angle, without checking if the requested time is inside the range of validity. | |
| double | unchecked_redshift (const Time &time) const |
| Returns the momentary extrapolated redshift, without checking if the requested time is inside the range of validity. | |
| Protected Member Functions inherited from supernovas::Validating | |
| Validating () | |
| dummy constructor; | |
Additional Inherited Members | |
| Protected Attributes inherited from supernovas::Validating | |
| bool | _valid = false |
| the state variable. | |
Approximate trajectory of a source in spherical coordinates, using a local quadratic approximation around a time instant, in some coordinate system.
|
inlineprotected |
|
protected |
Instantiates a local trajectory estimate for a source on sky, which can be used to extrapolate positions around the specified reference time inside an interval of validity.
| ref_time | astrometric time at which the momentary coordinates and their time evolutions are defined. |
| range | time range of validity around the reference time. Attempts to extrapolate outside this interval will produce invalid data. |
| lon | the time evolution of the longitude (in whatever coordinate system) |
| lat | the time evolution of the latitude (in whatever coordinate system) |
| r | the time evolution of distance (default: static 1 Gpc). |
| z | the time evolution of redshift, including gravitational effects. If it's kinetic only, then you can leave it undefined to let the distance evolution determine it automatically. |
References range().
|
protected |
Instantiates a local trajectory estimate for a source on sky, which can be used to extrapolate positions around the specified reference time inside an interval of validity.
| track | Pointer to the C tajectory data structure |
| range | time range of validity around the reference time. Attempts to extrapolate outside this interval will produce invalid data. |
References range().
|
inlineprotectedvirtual |
| Coordinate supernovas::Track< CoordType >::distance_at | ( | const Time & | time | ) | const |
Returns the momentary extrapolated distance (if valid), or else std::nullopt if the time is outside the range of validity.
It is best practice to check on its validity before use, e.g. as:
| Time of observation and astronomical timescales | astrometric time for which we want the extrapolated value. |
References is_valid_at(), unchecked_distance(), and supernovas::Coordinate::undefined().
| const ScalarEvolution & supernovas::Track< CoordType >::distance_evolution | ( | ) | const |
Returns the time evolution of radial distance in this trajectory.
| bool supernovas::Track< CoordType >::is_valid_at | ( | const Time & | time | ) | const |
Checks if the trajectory provides valid extrapolated data at a given astrometric time.
| Time of observation and astronomical timescales | astrometric time |
Referenced by distance_at(), latitude_at(), longitude_at(), radial_velocity_at(), and redshift_at().
| Angle supernovas::Track< CoordType >::latitude_at | ( | const Time & | time | ) | const |
Returns the momentary extrapolated latitude angle (if valid), or else std::nullopt if the time is outside the range of validity.
It is best practice to check on its validity before use, e.g. as:
| Time of observation and astronomical timescales | astrometric time for which we want the extrapolated value. |
References is_valid_at(), unchecked_latitude(), and supernovas::Angle::undefined().
| const ScalarEvolution & supernovas::Track< CoordType >::latitude_evolution | ( | ) | const |
Returns the latitudinal time evolution component of this trajectory.
| Angle supernovas::Track< CoordType >::longitude_at | ( | const Time & | time | ) | const |
Returns the momentary extrapolated longitude angle (if valid), or else std::nullopt if the time is outside the range of validity.
It is best practice to check on its validity before use, e.g. as:
| Time of observation and astronomical timescales | astrometric time for which we want the extrapolated value. |
References is_valid_at(), unchecked_longitude(), and supernovas::Angle::undefined().
| const ScalarEvolution & supernovas::Track< CoordType >::longitude_evolution | ( | ) | const |
Returns the longitudinal time evolution component of this trajectory.
|
pure virtual |
Implemented in supernovas::EquatorialTrack, and supernovas::HorizontalTrack.
| ScalarVelocity supernovas::Track< CoordType >::radial_velocity_at | ( | const Time & | time | ) | const |
Returns the momentary extrapolated radial velocity (if valid), or else std::nullopt if the time is outside the range of validity.
It is best practice to check on its validity before use, e.g. as:
| Time of observation and astronomical timescales | astrometric time for which we want the extrapolated value. |
References supernovas::Validating::is_valid(), is_valid_at(), supernovas::Unit::km, novas_z2v(), supernovas::Unit::s, unchecked_redshift(), and supernovas::ScalarVelocity::undefined().
| const Interval & supernovas::Track< CoordType >::range | ( | ) | const |
Returns the time range of validity for this trajectory.
The trajectory can only provide valid extrapolation within that time range around the reference time, for which the trajectory's paramteres have been defined.
| double supernovas::Track< CoordType >::redshift_at | ( | const Time & | time | ) | const |
Returns the momentary extrapolated redshift measure (if valid), or else NAN if the time is outside the range of validity.
It is best practice to check on its validity before use, e.g. as:
| Time of observation and astronomical timescales | astrometric time for which we want the extrapolated value. |
References is_valid_at(), and unchecked_redshift().
| const ScalarEvolution & supernovas::Track< CoordType >::redshift_evolution | ( | ) | const |
Returns the redshift evolution in this trajectory.
| const Time & supernovas::Track< CoordType >::reference_time | ( | ) | const |
Returns the astrometic time of reference, at which the (quadratic) trajectory has been defined.
|
protected |
Returns the momentary extrapolated distance, without checking if the requested time is inside the range of validity.
| Time of observation and astronomical timescales | astrometric time for which we want the extrapolated value. |
References supernovas::Validating::is_valid().
Referenced by distance_at().
|
protected |
Returns the momentary extrapolated latitude angle, without checking if the requested time is inside the range of validity.
| Time of observation and astronomical timescales | astrometric time for which we want the extrapolated value. |
References supernovas::Validating::is_valid().
Referenced by latitude_at().
|
protected |
Returns the momentary extrapolated longitude angle, without checking if the requested time is inside the range of validity.
| Time of observation and astronomical timescales | astrometric time for which we want the extrapolated value. |
References supernovas::Validating::is_valid().
Referenced by longitude_at().
|
protected |
Returns the momentary extrapolated redshift, without checking if the requested time is inside the range of validity.
| Time of observation and astronomical timescales | astrometric time for which we want the extrapolated value. |
Referenced by radial_velocity_at(), and redshift_at().