![]() |
SuperNOVAS C++ API v1.8
High-precision C/C++ astrometry library
|
An observer whose momentary position and velocity is defined dynamically through a state provider function. More...
#include <supernovas.h>
Public Member Functions | |
| DynamicObserver (novas_state_provider call, const void *arg=NULL) | |
| Instantiates a new observer with dynamically determined position / velocity via a designated state provider function. | |
| Geometric | barycentric_at (const Time &time, enum novas_accuracy=NOVAS_FULL_ACCURACY) const |
| Returns the Solar System Barycentric position and velocity vectors of this observer for the specified time and accuracy. | |
| const std::string & | className () const override |
| Returns the observer class name. | |
| const Observer * | copy () const override |
| Returns a newly allocated copy of this observer. | |
| novas_state_provider | state_call () const |
| const void * | state_call_arg () const |
| 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. | |
| virtual bool | equals (const Observer &other) const |
| Checks if this observer is essentially the same as the other, within the tolerances associated to their defining components. | |
| 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. | |
| bool | operator!= (const Observer &other) const |
| Checks if two observers differ given standard tolerances associated to their defining components. | |
| bool | operator== (const Observer &other) const |
| Checks if two observers are essentially the same within the tolerances associated to their defining components. | |
| Frame | reduced_accuracy_frame_at (const Time &time) const |
| Returns a reduced accuracy observing frame for this observer at the specified time. | |
| Interferometric | to_interferometric (const Apparent &phase_center, enum novas_reference_system system=NOVAS_ICRS) const |
| Returns projected u,v,w coordinates for an interferometer station. | |
| 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' state 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 | |
| void | set_arg (const void *ptr) |
| Sets the pointer argument to pass onto the state function call. | |
| 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()) | |
| virtual Position | gcrs_position_at (const Time &time, enum novas_accuracy accuracy=NOVAS_FULL_ACCURACY) const |
| Returns the geocentric geometric position vector for this observer, in the GCRS, at the specified time and accuracy. | |
| virtual Velocity | gcrs_velocity_at (const Time &time, enum novas_accuracy accuracy=NOVAS_FULL_ACCURACY) const |
| Returns the geocentric geometric velocity vector for this observer, in the GCRS, at the specified time and accuracy. | |
| Protected Member Functions inherited from supernovas::Validating | |
| Validating () | |
| dummy constructor; | |
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 DynamicObserver | dynamic (novas_state_provider state_call, const void *arg=NULL) |
| Returns a new observer with dynamically determined position / velocity via a designated state provider function. | |
| static GeocentricObserver | in_earth_orbit (const Position &pos, const Velocity &vel) |
| Returns a new observer orbiting the Earth. | |
| static EphemerisObserver | in_ephemeris (const std::string &name, long id) |
| Returns a new observer defined by an ephemeris position, that can be obtained by the configured novas_ephem_provider call. | |
| static OrbitalObserver | in_orbital (const Orbital &orbit, const std::string &name="orbital observer") |
| Returns a new observer, whose location is defined by Keplerian orbital parameters around a major Solar System body. | |
| 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=EOP::undefined()) |
| 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=EOP::undefined()) |
| 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 Attributes inherited from supernovas::Observer | |
| observer | _observer = {} |
| stored observer data | |
| Protected Attributes inherited from supernovas::Validating | |
| bool | _valid = false |
| the state variable. | |
An observer whose momentary position and velocity is defined dynamically through a state provider function.
|
explicit |
Instantiates a new observer with dynamically determined position / velocity via a designated state provider function.
| call | the state provider function |
| arg | (optional) pointer argument to pass to the state provider function. It may be NULL if the function does not use externally supplied data. (default: NULL) |
References supernovas::Validating::_valid, NOVAS_DYNAMIC_OBSERVER, and supernovas::Observer::undefined().
Referenced by supernovas::EphemerisObserver::EphemerisObserver(), supernovas::OrbitalObserver::OrbitalObserver(), and copy().
| Geometric supernovas::DynamicObserver::barycentric_at | ( | const Time & | time, |
| enum novas_accuracy | accuracy = NOVAS_FULL_ACCURACY ) const |
Returns the Solar System Barycentric position and velocity vectors of this observer for the specified time and accuracy.
| time | Astrometric time specification |
| accuracy | (optional) NOVAS_FULL_ACCURACY or NOVAS_REDUCED_ACCURACY (default: full accuracy). |
References supernovas::Position::Position(), supernovas::Unit::AU, supernovas::Unit::AU_per_day, supernovas::Frame::barycentric_at(), supernovas::Time::jd(), NOVAS_ICRS, NOVAS_TDB, and supernovas::Geometric::undefined().
|
overridevirtual |
Returns the observer class name.
All concrete subclasses should override this method to return their C++ class name.
Reimplemented from supernovas::Observer.
Reimplemented in supernovas::EphemerisObserver, and supernovas::OrbitalObserver.
Referenced by to_string().
|
overridevirtual |
Returns a newly allocated copy of this observer.
The default implementation returns an invalid observer, but concrete subclasses should override that to return their onw copies.
Reimplemented from supernovas::Observer.
Reimplemented in supernovas::EphemerisObserver, and supernovas::OrbitalObserver.
References DynamicObserver().
|
protected |
Sets the pointer argument to pass onto the state function call.
| ptr | pointer to the data to pass along to the state function call. |
| novas_state_provider supernovas::DynamicObserver::state_call | ( | ) | const |
| const void * supernovas::DynamicObserver::state_call_arg | ( | ) | const |
|
overridevirtual |
Returns a string representation of this observer.
Reimplemented from supernovas::Observer.
Reimplemented in supernovas::EphemerisObserver, and supernovas::OrbitalObserver.
References className().