SuperNOVAS C++ API v1.6
High-precision C/C++ astrometry library
Loading...
Searching...
No Matches
supernovas::SolarSystemObserver Class Reference

An observer location anywhere in the Solar System, defined by its momentary barycentric position and velocity vectors. More...

#include <supernovas.h>

Inheritance diagram for supernovas::SolarSystemObserver:

Public Member Functions

 SolarSystemObserver ()
 Instantiates a new stationary observer located at the Solar-System Barycenter (SSB).
 SolarSystemObserver (const Position &pos, const Velocity &vel)
 Instantiates a new observer in the Solar System.
const Observer * copy () const override
 Returns a pointer to a newly allocated copy of this observer instance at a Solar-system location.
Position ssb_position () const
 Returns the momentary location of this observer relative to the Solar-System Barycenter (SSB).
Velocity ssb_velocity () const
 Returns the momentary velocity of this observer relative to the Solar-System Barycenter (SSB).
std::string to_string () const override
 Returns a string representation of this observer.
Public Member Functions inherited from supernovas::Observer
virtual ~Observer ()
const observer_novas_observer () const
 Returns the underlying NOVAS C observer data structure.
Frame frame_at (const Time &time, enum novas_accuracy accuracy=NOVAS_FULL_ACCURACY) const
 Returns an observing frame for this observer at the specified time and optionally with a specified accuracy.
virtual bool is_geocentric () const
 Checks if this observer can be cast to a GeocentricObserver.
virtual bool is_geodetic () const
 Checks if this observer can be cast to a GeodeticObserver.
Frame reduced_accuracy_frame_at (const Time &time) const
 Returns a reduced accuracy observing frame for this observer at the specified time.
enum novas_observer_place type () const
 Returns the observer type.
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().

Additional Inherited Members

Static Public Member Functions inherited from supernovas::Observer
static GeocentricObserver at_geocenter ()
 Returns a fictitious observer placed at the location of the geocenter.
static SolarSystemObserver at_ssb ()
 Returns a fictitious observer placed at the location of the Solar-System Barycenter (SSB).
static GeocentricObserver in_earth_orbit (const Position &pos, const Velocity &vel)
 Returns a new observer orbiting the Earth.
static SolarSystemObserver in_solar_system (const Position &pos, const Velocity &vel)
 Returns a new observer in some Solar-system location.
static GeodeticObserver moving_on_earth (const Site &site, const EOP &eop, const ScalarVelocity &horizontal, const Angle &direction, const ScalarVelocity &vertical=ScalarVelocity::stationary())
 Instantiates a new observer that is moving relative to Earth's surface, such as an airborne observer.
static GeodeticObserver moving_on_earth (const Site &site, const Velocity &itrs_vel, const EOP &eop)
 Returns a new observer that is moving, at some velocitym relative to Earth's surface, such as an airborne aircraft or balloon based observatory.
static GeodeticObserver on_earth (const Site &site, const EOP &eop)
 Returns a new observer located at a fixed observing site.
static const Observer & undefined ()
 Returns a reference to a statically defined standard invalid observer.
Protected Member Functions inherited from supernovas::Observer
 Observer (enum novas_observer_place type, const Site &site=Site::undefined(), const Position &pos=Position::origin(), const Velocity &vel=Velocity::stationary())
Protected Member Functions inherited from supernovas::Validating
 Validating ()
 dummy constructor;
Protected Attributes inherited from supernovas::Observer
observer _observer = {}
 stored observer data
Protected Attributes inherited from supernovas::Validating
bool _valid = false
 the state variable.

Detailed Description

An observer location anywhere in the Solar System, defined by its momentary barycentric position and velocity vectors.

Constructor & Destructor Documentation

◆ SolarSystemObserver() [1/2]

supernovas::SolarSystemObserver::SolarSystemObserver ( )

Instantiates a new stationary observer located at the Solar-System Barycenter (SSB).

References SolarSystemObserver(), supernovas::Observer::_observer, supernovas::Validating::_valid, and make_solar_system_observer().

Referenced by SolarSystemObserver(), and copy().

◆ SolarSystemObserver() [2/2]

supernovas::SolarSystemObserver::SolarSystemObserver ( const Position & pos,
const Velocity & vel )

Instantiates a new observer in the Solar System.

Parameters
posmomentary position of the observer relative to the Solar-system Barycenter (SSB).
velmomentary velocity of the observer relative to the Solar-system Barycenter (SSB).

References supernovas::Vector::_array(), supernovas::Observer::_observer, supernovas::Validating::_valid, supernovas::Unit::au, supernovas::Unit::day, supernovas::Validating::is_valid(), make_solar_system_observer(), NOVAS_SOLAR_SYSTEM_OBSERVER, supernovas::Vector::scaled(), and supernovas::Observer::undefined().

Member Function Documentation

◆ copy()

const Observer * supernovas::SolarSystemObserver::copy ( ) const
overridevirtual

Returns a pointer to a newly allocated copy of this observer instance at a Solar-system location.

Returns
pointer to new copy of thus Solar-system based observer instance.

Reimplemented from supernovas::Observer.

References SolarSystemObserver().

◆ ssb_position()

Position supernovas::SolarSystemObserver::ssb_position ( ) const

Returns the momentary location of this observer relative to the Solar-System Barycenter (SSB).

Returns
the momentary position of the observer relative to hte SSB.
See also
ssb_velocity()

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

Referenced by to_string().

◆ ssb_velocity()

Velocity supernovas::SolarSystemObserver::ssb_velocity ( ) const

Returns the momentary velocity of this observer relative to the Solar-System Barycenter (SSB).

Returns
the momentary velocity of the observer relative to hte SSB.
See also
ssb_position()

References supernovas::Observer::_observer, supernovas::Unit::au, supernovas::Unit::day, and supernovas::Validating::is_valid().

Referenced by to_string().

◆ to_string()

std::string supernovas::SolarSystemObserver::to_string ( ) const
overridevirtual

Returns a string representation of this observer.

I am salivating at the thought of it. Tell Benjami

Returns
a new string with a brief description of this observer.

Reimplemented from supernovas::Observer.

References supernovas::Vector::is_zero(), ssb_position(), ssb_velocity(), supernovas::Position::to_string(), and supernovas::Velocity::to_string().