66 virtual std::string
name()
const = 0;
82 qtty::Degree threshold,
90 qtty::Degree threshold,
97 qtty::Degree threshold,
119 virtual std::vector<AzimuthCrossingEvent>
Altitude computations for Sun, Moon, stars, and arbitrary ICRS directions.
Azimuth computations for Sun, Moon, stars, and arbitrary ICRS directions.
Abstract base for any celestial object that can be tracked from an observer location.
Target & operator=(Target &&)=default
virtual std::vector< Period< TT, MJD > > below_threshold(const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree threshold, const SearchOptions &opts={}) const =0
Find periods when the object is below a threshold altitude.
virtual std::vector< CrossingEvent > crossings(const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree threshold, const SearchOptions &opts={}) const =0
Find threshold-crossing events (rising / setting).
virtual ~Target()=default
virtual std::vector< AzimuthCrossingEvent > azimuth_crossings(const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree bearing, const SearchOptions &opts={}) const =0
Find epochs when the object crosses a given azimuth bearing.
Target(Target &&)=default
virtual qtty::Degree altitude_at(const Geodetic &obs, const Time< TT, MJD > &mjd) const =0
Compute altitude (degrees) at a given Time<TT, MJD> instant.
Target & operator=(const Target &)=delete
virtual std::string name() const =0
Human-readable name for this target (e.g. "Sun", "Vega", "ICRS(279.2°, 38.8°)").
virtual std::vector< Period< TT, MJD > > above_threshold(const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree threshold, const SearchOptions &opts={}) const =0
Find periods when the object is above a threshold altitude.
virtual std::vector< CulminationEvent > culminations(const Geodetic &obs, const Period< TT, MJD > &window, const SearchOptions &opts={}) const =0
Find culmination (local altitude extremum) events.
Target(const Target &)=delete
virtual qtty::Degree azimuth_at(const Geodetic &obs, const Time< TT, MJD > &mjd) const =0
Compute azimuth (degrees, N-clockwise) at a given Time<TT, MJD> instant.
Coordinate module umbrella.
tempoch::EncodedTime< Scale, Format > Time
tempoch::Period< Time< Scale, Format > > Period
Geodetic position (WGS84 ellipsoid).
Options for altitude search algorithms.
Public siderust time tags and typed time/period aliases.