SuperNOVAS C++ API v1.6
High-precision C/C++ astrometry library
Loading...
Searching...
No Matches

Apparent position on sky as seen by an observer at a specific time of observation. More...

#include <supernovas.h>

Inheritance diagram for supernovas::Apparent:

Public Member Functions

const sky_pos_sky_pos () const
 Returns a pointer to the underlying NOVAS C sky_pos data structure, which stores the data for this apparent position.
AstrometricPosition astrometric_position () const
 Returns the projected 3D position, relative to the SSB or other Solar-System place, which gave rise to these apparent place on sky.
Equatorial cirs () const
 Returns the apparent equatorial coordinates on the sky, in the Celestial Intermediate Reference System (CIRS).
Coordinate distance () const
 Returns the apparent light-time distance of this source.
Ecliptic ecliptic () const
 Returns the apparent ecliptic coordinates on the sky, with respect to the true equinox of date.
Equatorial equatorial () const
 Returns the apparent equatorial coordinates on the sky, with respect to the true equator and equinox of date (True-of-Date; TOD).
const Frameframe () const
 Retuns the reference to the frame for which these apparent positions are defined.
Galactic galactic () const
 Returns the apparent galactic coordinates on the sky.
ScalarVelocity radial_velocity () const
 Returns the radial velocity.
double redshift () const
 Returns the redshift measure, calculated from the stored radial velocity.
Horizontal to_horizontal () const
 Returns the apparent unrefracted horizontal coordinates for this position for a geodetic observer located on or near Earth's surface, or as an invalid set of coordinates if the observer location is not Earth bound.
std::string to_string (int decimals=3) const
 Returns a human-readable basic string description of these apparent positions.
Position xyz () const
 Returns the projected 3D position vector corresponding to this apparent position.
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 Apparent from_cirs (const Angle &ra, const Angle &dec, const Frame &frame, const ScalarVelocity &rv)
 Instantiates apparent sky coordinates in the Celestrial Intermediate Reference System (CIRS).
static Apparent from_cirs (double ra_rad, double dec_rad, const Frame &frame, double rv_ms=0.0)
 Instantiates apparent sky coordinates in the Celestrial Intermediate Reference System (CIRS).
static Apparent from_cirs_sky_pos (const Frame &frame, const sky_pos *pos)
 Returns an apparent position for a NOVAS C sky_pos data structure defined with respect to the true equator and the CIO (that is in CIRS), for the given observing frame.
static Apparent from_tod (const Angle &ra, const Angle &dec, const Frame &frame, const ScalarVelocity &rv)
 Instantiates apparent sky coordinates in the True-of-Date (TOD) system, with respect to the true dynamical equator and equinox of date.
static Apparent from_tod (double ra_rad, double dec_rad, const Frame &frame, double rv_ms=0.0)
 Instantiates apparent sky coordinates in the True-of-Date (TOD) system, with respect to the true dynamical equator and equinox of date.
static Apparent from_tod_sky_pos (const Frame &frame, const sky_pos *pos)
 Returns an apparent position for a NOVAS C sky_pos data structure defined with respect to the true equator and equinox of date (that is in TOD), for the given observing frame.
static const Apparent & undefined ()
 Returns a reference to a statically defined standard invalid apparent position.

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.

Detailed Description

Apparent position on sky as seen by an observer at a specific time of observation.

Apparent positions are corrected for aberration for a movig observer, and gravitational deflection around the major Solar-system bodies along the path of visibility.

The apparent position of a source is where it appears to the observer on the celestial sphere. As such it is mainly a direction on sky, which is corrected for light-travel time (i.e. where the source was at the time light originated from the Solar-system body, or the differential light-travel time between the Solar-system barycenter and the observer location for sidereal sources).

Unlike geometric positions, the apparent location is also corrected for the observer's motion (aberration), as well as gravitational deflection around the major Solar-system bodies. Also, the radial valocity vr is calculated to reflect a spectroscopic measure, defined by the relation:

λobs / λrest = ( (1.0 + vr / c) / (1.0 - vr / c) )1/2

As such it contains appropriate relativistic corrections for the observer's relative motion as well as gravitational redshift corrections for the surface of major Solar-system bodies, where light is assumed to originate, and at the observer location. It is also corrected for the slight viewing angle difference when light is gravitationally deflected around major Solar-system bodies.

Apparent positions can also come directly from observations, such as from unrefracted horizontal coordinates.

See also
Source::apparent_in(), Horizontal::to_apparent()
Geometric

Member Function Documentation

◆ _sky_pos()

const sky_pos * supernovas::Apparent::_sky_pos ( ) const

Returns a pointer to the underlying NOVAS C sky_pos data structure, which stores the data for this apparent position.

Returns
pointer to the NOVAS C sky_pos data used internally.

References _sky_pos().

Referenced by _sky_pos().

◆ distance()

Coordinate supernovas::Apparent::distance ( ) const

Returns the apparent light-time distance of this source.

Note that this is the distance at which the source appears to the observer at the time of observation, which is different from the geometric distance from the source at the same time instant, due to:

  • the motion of a Solar-system source since light originated from it,
  • aberration due to the movement of the observer, and
  • gravitational bending around the massive Solar-system bodies.
Returns
the apparent (light-time) distance of the source from the observer

References supernovas::Unit::au, distance(), and supernovas::Validating::is_valid().

Referenced by distance().

◆ frame()

const Frame & supernovas::Apparent::frame ( ) const

Retuns the reference to the frame for which these apparent positions are defined.

Returns
the ovbserving frame (time of observation and observer location) for this apparent position.

References frame().

Referenced by frame(), from_cirs(), from_cirs(), from_cirs_sky_pos(), from_tod(), from_tod(), and from_tod_sky_pos().

◆ from_cirs() [1/2]

Apparent supernovas::Apparent::from_cirs ( const Angle & ra,
const Angle & dec,
const Frame & frame,
const ScalarVelocity & rv )
static

Instantiates apparent sky coordinates in the Celestrial Intermediate Reference System (CIRS).

Parameters
raright ascention (R.A.) angle in CIRS (from the CIO)
decdeclination angle in CIRS
frameobserving frame (time of observation and observer location)
rvradial velocity
Returns
new apparent location on sky with the specified parameters.
See also
from_tod()

References frame(), from_cirs(), supernovas::ScalarVelocity::m_per_s(), and supernovas::Angle::rad().

◆ from_cirs() [2/2]

Apparent supernovas::Apparent::from_cirs ( double ra_rad,
double dec_rad,
const Frame & frame,
double rv_ms = 0.0 )
static

Instantiates apparent sky coordinates in the Celestrial Intermediate Reference System (CIRS).

Parameters
ra_rad[rad] right ascention (R.A.) in CIRS (from the CIO)
dec_rad[rad] declination in CIRS
frameobserving frame (time of observation and observer location)
rv_ms[m/s] radial velocity
Returns
new apparent location on sky with the specified parameters.
See also
from_tod()

References frame(), from_cirs(), supernovas::Validating::is_valid(), and NOVAS_CIRS.

Referenced by from_cirs(), and from_cirs().

◆ from_cirs_sky_pos()

Apparent supernovas::Apparent::from_cirs_sky_pos ( const Frame & frame,
const sky_pos * pos )
static

Returns an apparent position for a NOVAS C sky_pos data structure defined with respect to the true equator and the CIO (that is in CIRS), for the given observing frame.

Parameters
frameobserving frame (time of observation and observer location)
posa NOVAS C sky_pos data structure with respect to the Celestial Intermediate Origin (CIO). The data passed is not referenced!
Returns
new apparent positions constructed with the parameters. It may be invalid if the input values themselves are invalid.
See also
from_tod_sky_pos(), from_cirs()

References frame(), from_cirs_sky_pos(), supernovas::Validating::is_valid(), NOVAS_CIRS, and undefined().

Referenced by from_cirs_sky_pos().

◆ from_tod() [1/2]

Apparent supernovas::Apparent::from_tod ( const Angle & ra,
const Angle & dec,
const Frame & frame,
const ScalarVelocity & rv )
static

Instantiates apparent sky coordinates in the True-of-Date (TOD) system, with respect to the true dynamical equator and equinox of date.

Parameters
ratrue right ascention (R.A.) angle of date (from the equinox of date)
dectrue declination angle of date
frameobserving frame (time of observation and observer location)
rvradial velocity
Returns
new apparent location on sky with the specified parameters.
See also
from_cirs()

References frame(), from_tod(), supernovas::ScalarVelocity::m_per_s(), and supernovas::Angle::rad().

◆ from_tod() [2/2]

Apparent supernovas::Apparent::from_tod ( double ra_rad,
double dec_rad,
const Frame & frame,
double rv_ms = 0.0 )
static

Instantiates apparent sky coordinates in the True-of-Date (TOD) system, with respect to the true dynamical equator and equinox of date.

Parameters
ra_rad[rad] true right ascention (R.A.) of date (from the true equinox of date)
dec_rad[rad] true declination of date
frameobserving frame (time of observation and observer location)
rv_ms[m/s] radial velocity
Returns
new apparent location on sky with the specified parameters.
See also
from_cirs()

References frame(), from_tod(), supernovas::Validating::is_valid(), and NOVAS_TOD.

Referenced by from_tod(), and from_tod().

◆ from_tod_sky_pos()

Apparent supernovas::Apparent::from_tod_sky_pos ( const Frame & frame,
const sky_pos * pos )
static

Returns an apparent position for a NOVAS C sky_pos data structure defined with respect to the true equator and equinox of date (that is in TOD), for the given observing frame.

Parameters
frameobserving frame (time of observation and observer location)
posa NOVAS C sky_pos data structure with respect to the true equinox of date (not referenced!).
Returns
new apparent positions constructed with the parameters. It may be invalid if the input values themselves are invalid.
See also
from_cirs_sky_pos(), from_tod()

References frame(), from_tod_sky_pos(), supernovas::Validating::is_valid(), NOVAS_TOD, and undefined().

Referenced by supernovas::Source::apparent_in(), supernovas::Frame::apparent_moon_elp2000(), supernovas::Planet::approx_apparent_in(), from_tod_sky_pos(), and supernovas::Horizontal::to_apparent().

◆ radial_velocity()

ScalarVelocity supernovas::Apparent::radial_velocity ( ) const

Returns the radial velocity.

Returns
the radiual velocity with respect to the observer
See also
redshift()

References supernovas::Validating::is_valid(), supernovas::Unit::km, radial_velocity(), and supernovas::Unit::sec.

Referenced by radial_velocity().

◆ redshift()

double supernovas::Apparent::redshift ( ) const

Returns the redshift measure, calculated from the stored radial velocity.

Returns
the redshift measure with respect to the observer.
See also
radial_velocity()

References novas_v2z(), and redshift().

Referenced by redshift().

◆ to_string()

std::string supernovas::Apparent::to_string ( int decimals = 3) const

Returns a human-readable basic string description of these apparent positions.

Parameters
decimals(optional) Number of decimal places to print after the decimal point (default: 3).
Returns
a string description of these apparent positions.

References equatorial(), NOVAS_SEP_UNITS_AND_SPACES, and to_string().

Referenced by to_string().

◆ undefined()

const Apparent & supernovas::Apparent::undefined ( )
static

Returns a reference to a statically defined standard invalid apparent position.

This invalid position may be used inside any object that is invalid itself.

Returns
a reference to the static standard invalid coordinates.

References undefined().

Referenced by supernovas::Source::apparent_in(), supernovas::Frame::apparent_moon_elp2000(), from_cirs_sky_pos(), from_tod_sky_pos(), supernovas::Horizontal::to_apparent(), and undefined().

◆ xyz()

Position supernovas::Apparent::xyz ( ) const

Returns the projected 3D position vector corresponding to this apparent position.

Note, that the projected position is where the source appears to the observer at the time of observation, which is different from the true geometric location of the source, due to:

  • the motion of a Solar-system source since light originated from it,
  • aberration due to the movement of the observer, and
  • gravitational bending around the massive Solar-system bodies.
Returns
the projected position vector of where the source appears to be from the observer's point of view.

References supernovas::Unit::au, supernovas::Validating::is_valid(), and xyz().

Referenced by xyz().