Loading...
Searching...
No Matches
supernovas::Apparent Class Reference
Apparent positions on sky | Spectroscopic applications

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 Frame & | frame () 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' state 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 it).

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. The radial velocity 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.

Since
  1.6

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.

Since
  1.6

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

Since
  1.6

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

Referenced by distance(), and supernovas::Observer::to_interferometric().

## 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.

Since
  1.6

References frame().

Referenced by frame(), from_cirs(), from_cirs(), from_cirs_sky_pos(), from_tod(), from_tod(), from_tod_sky_pos(), and supernovas::Observer::to_interferometric().

## 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

  ra | right ascension (R.A.) angle in CIRS (from the CIO)
  dec | declination angle in CIRS
  frame | observing frame (time of observation and observer location)
  rv | radial velocity

Returns
  new apparent location on sky with the specified parameters.

Since
  1.6

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 ascension (R.A.) in CIRS (from the CIO)
  dec_rad | [rad] declination in CIRS
  frame | observing frame (time of observation and observer location)
  rv_ms | [m/s] radial velocity

Returns
  new apparent location on sky with the specified parameters.

Since
  1.6

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

  frame | observing frame (time of observation and observer location)
  pos | a 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.

Since
  1.6

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

  ra | true right ascension (R.A.) angle of date (from the equinox of date)
  dec | true declination angle of date
  frame | observing frame (time of observation and observer location)
  rv | radial velocity

Returns
  new apparent location on sky with the specified parameters.

Since
  1.6

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 ascension (R.A.) of date (from the true equinox of date)
  dec_rad | [rad] true declination of date
  frame | observing frame (time of observation and observer location)
  rv_ms | [m/s] radial velocity

Returns
  new apparent location on sky with the specified parameters.

Since
  1.6

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

  frame | observing frame (time of observation and observer location)
  pos | a 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.

Since
  1.6

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

Since
  1.6

See also
  redshift()

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

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.

Since
  1.6

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.

Since
  1.6

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.

Since
  1.6

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.

Since
  1.6

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

Referenced by xyz().