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

An abstract class of a source in the Solar-system. More...

#include <supernovas.h>

Inheritance diagram for supernovas::SolarSystemSource:

Public Member Functions

Geometric geometric_at (const Time &time, enum novas_accuracy accuracy=NOVAS_FULL_ACCURACY) const
Coordinate helio_distance (const Time &time) const
 Returns the heliocentric distance of a Solar-system source at the specified time of observation.
ScalarVelocity helio_rate (const Time &time) const
 Returns the heliocentric rate of recession of a Solar-system source at the specified time of observation.
double solar_illumination (const Frame &frame) const
 Returns the fraction [0.0:1.0] of the Solar-system source that appears illuminated by the Sun when viewed from a given observing frame, assuming that the source has a spheroidal shape.
double solar_power (const Time &time) const
 Returns the typical incident Solar power on the illuminated side of this Solar-system object.
Public Member Functions inherited from supernovas::Source
virtual ~Source ()
const struct novas_object_novas_object () const
 Returns a pointer to the NOVAS C novas_object data structure that stores data internally.
Angle angle_to (const Source &source, const Frame &frame) const
 Returns the angular separation of this source from another source, for the given observer location and time of observation.
Apparent apparent_in (const Frame &frame) const
 Returns the apparent position of a source (if possible), or else an invalid position.
virtual const Sourcecopy () const =0
 Returns a pointer to a newly allocated copy of this instance.
EquatorialTrack equatorial_track (const Frame &frame, const Interval &range) const
 Returns the short-term equatorial trajectory of this source on the observer's sky, which can be used for extrapolating its apparent position in the near-term to avoid the repeated full-fledged position calculation, which may be expensive.
EquatorialTrack equatorial_track (const Frame &frame, double range_seconds=Unit::hour) const
 Returns the short-term equatorial trajectory of this source on the observer's sky, which can be used for extrapolating its apparent position in the near-term to avoid the repeated full-fledged position calculation, which may be expensive.
Geometric geometric_in (const Frame &frame, enum novas_reference_system system=NOVAS_TOD) const
 Returns the geometric position of a source (if possible), or else an invalid position.
HorizontalTrack horizontal_track (const Frame &frame, RefractionModel ref=NULL, const Weather &weather=Weather::standard()) const
 Returns the short-term horizontal trajectory of this source on the observer's sky, which can be used for extrapolating its apparent position in the near-term to avoid the repeated full-fledged position calculation, which may be expensive.
Angle moon_angle (const Frame &frame) const
 Returns the angular separation of this source from the Moon, for the given observer location and time of observation.
std::string name () const
 Returns the name given to this source at instantiation.
Time rises_above (const Angle &el, const Frame &frame, RefractionModel ref=NULL, const Weather &weather=Weather::standard()) const
 Returns the time when the source rises above the specified elevation next for an observer located on or near Earth's surface, or else std::nullopt if the observer is not near Earth's surface.
Time sets_below (const Angle &el, const Frame &frame, RefractionModel ref=NULL, const Weather &weather=Weather::standard()) const
 Returns the time when the source sets below the specified elevation next for an observer located on or near Earth's surface, or else std::nullopt if the observer is not near Earth's surface.
Angle sun_angle (const Frame &frame) const
 Returns the angular separation of this source from the Sun, for the given observer location and time of observation.
virtual std::string to_string () const =0
Time transits_in (const Frame &frame) const
 Returns the time when the source transits for an observer located on or near Earth's surface, or else std::nullopt if the observer is not near Earth's surface.
enum novas_object_type type () const
 Returns the type of this source.
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

 SolarSystemSource ()
Protected Member Functions inherited from supernovas::Source
 Source ()
 stored data on source
Protected Member Functions inherited from supernovas::Validating
 Validating ()
 dummy constructor;

Additional Inherited Members

Static Public Member Functions inherited from supernovas::Source
static void set_case_sensitive (bool value)
 Enables or disabled case-sensitive treatment of source names.
Protected Attributes inherited from supernovas::Source
struct novas_object _object = {}
Protected Attributes inherited from supernovas::Validating
bool _valid = false
 the state variable.

Detailed Description

An abstract class of a source in the Solar-system.

See also
Planet, EphemerisSource, OrbitalSource

Constructor & Destructor Documentation

◆ SolarSystemSource()

supernovas::SolarSystemSource::SolarSystemSource ( )
inlineprotected

Member Function Documentation

◆ geometric_at()

Geometric supernovas::SolarSystemSource::geometric_at ( const Time & time,
enum novas_accuracy accuracy = NOVAS_FULL_ACCURACY ) const

References NOVAS_FULL_ACCURACY.

◆ helio_distance()

Coordinate supernovas::SolarSystemSource::helio_distance ( const Time & time) const

Returns the heliocentric distance of a Solar-system source at the specified time of observation.

Parameters
Time of observation and astronomical timescalesastrometric time of observation
Returns
heliocentric distance of source at the specified time
See also
helio_rate(), solar_power()

References supernovas::Source::_object, supernovas::Unit::au, supernovas::Time::jd(), novas_helio_dist(), and NOVAS_TDB.

◆ helio_rate()

ScalarVelocity supernovas::SolarSystemSource::helio_rate ( const Time & time) const

Returns the heliocentric rate of recession of a Solar-system source at the specified time of observation.

Parameters
Time of observation and astronomical timescalesastrometric time of observation
Returns
rate of recession from the Sun at the specified time
See also
helio_distance()

References supernovas::Source::_object, supernovas::Unit::au, supernovas::Unit::day, supernovas::Time::jd(), novas_helio_dist(), and NOVAS_TDB.

◆ solar_illumination()

double supernovas::SolarSystemSource::solar_illumination ( const Frame & frame) const

Returns the fraction [0.0:1.0] of the Solar-system source that appears illuminated by the Sun when viewed from a given observing frame, assuming that the source has a spheroidal shape.

Parameters
Observing framesobserving frame (observer location and time of observation)
Returns
the fraction [0.0:1.0] that appears illuminated by the Sun from the observer's point of view.
See also
solar_power()

References supernovas::Frame::_novas_frame(), supernovas::Source::_object, and novas_solar_illum().

◆ solar_power()

double supernovas::SolarSystemSource::solar_power ( const Time & time) const

Returns the typical incident Solar power on the illuminated side of this Solar-system object.

The actual Solar power may vary due to fluctuations of the Solar output.

Parameters
Time of observation and astronomical timescalesastrometric time of observation.
Returns
[W/m2] Typical incident Solar power.
See also
helio_distance(), solar_illumination()

References supernovas::Source::_object, supernovas::Time::jd(), novas_solar_power(), and NOVAS_TDB.