siderust-cpp 0.8.0
Header-only C++ wrapper for siderust
Loading...
Searching...
No Matches
altitude.hpp File Reference

Altitude computations for Sun, Moon, stars, and arbitrary ICRS directions. More...

#include "bodies.hpp"
#include "coordinates.hpp"
#include "ffi_core.hpp"
#include "time.hpp"
#include <cstdint>
#include <vector>
Include dependency graph for altitude.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  siderust::CrossingEvent
 A threshold-crossing event (rising or setting). More...
 
struct  siderust::CulminationEvent
 A culmination (local altitude extremum) event. More...
 
struct  siderust::SearchOptions
 Options for altitude search algorithms. More...
 

Namespaces

namespace  siderust
 
namespace  siderust::detail
 
namespace  siderust::sun
 
namespace  siderust::moon
 
namespace  siderust::star_altitude
 
namespace  siderust::icrs_altitude
 

Functions

std::vector< Period< TT, MJD > > siderust::detail::periods_from_c (tempoch_period_mjd_t *ptr, uintptr_t count)
 
std::vector< CrossingEventsiderust::detail::crossings_from_c (siderust_crossing_event_t *ptr, uintptr_t count)
 
std::vector< CulminationEventsiderust::detail::culminations_from_c (siderust_culmination_event_t *ptr, uintptr_t count)
 
qtty::Radian siderust::sun::altitude_at (const Geodetic &obs, const Time< TT, MJD > &mjd)
 Compute the Sun's altitude (radians) at a given Time<TT, MJD> instant.
 
std::vector< Period< TT, MJD > > siderust::sun::above_threshold (const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree threshold, const SearchOptions &opts={})
 Find periods when the Sun is above a threshold altitude.
 
std::vector< Period< TT, MJD > > siderust::sun::below_threshold (const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree threshold, const SearchOptions &opts={})
 Find periods when the Sun is below a threshold altitude.
 
std::vector< CrossingEventsiderust::sun::crossings (const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree threshold, const SearchOptions &opts={})
 Find threshold-crossing events for the Sun.
 
std::vector< CulminationEventsiderust::sun::culminations (const Geodetic &obs, const Period< TT, MJD > &window, const SearchOptions &opts={})
 Find culmination events for the Sun.
 
std::vector< Period< TT, MJD > > siderust::sun::altitude_ranges (const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree min_alt, qtty::Degree max_alt, const SearchOptions &opts={})
 Find periods when the Sun's altitude is within [min, max].
 
qtty::Radian siderust::moon::altitude_at (const Geodetic &obs, const Time< TT, MJD > &mjd)
 Compute the Moon's altitude (radians) at a given Time<TT, MJD> instant.
 
std::vector< Period< TT, MJD > > siderust::moon::above_threshold (const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree threshold, const SearchOptions &opts={})
 Find periods when the Moon is above a threshold altitude.
 
std::vector< Period< TT, MJD > > siderust::moon::below_threshold (const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree threshold, const SearchOptions &opts={})
 Find periods when the Moon is below a threshold altitude.
 
std::vector< CrossingEventsiderust::moon::crossings (const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree threshold, const SearchOptions &opts={})
 Find threshold-crossing events for the Moon.
 
std::vector< CulminationEventsiderust::moon::culminations (const Geodetic &obs, const Period< TT, MJD > &window, const SearchOptions &opts={})
 Find culmination events for the Moon.
 
std::vector< Period< TT, MJD > > siderust::moon::altitude_ranges (const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree min_alt, qtty::Degree max_alt, const SearchOptions &opts={})
 Find periods when the Moon's altitude is within [min, max].
 
qtty::Radian siderust::star_altitude::altitude_at (const Star &s, const Geodetic &obs, const Time< TT, MJD > &mjd)
 Compute a star's altitude (radians) at a given Time<TT, MJD> instant.
 
std::vector< Period< TT, MJD > > siderust::star_altitude::above_threshold (const Star &s, const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree threshold, const SearchOptions &opts={})
 Find periods when a star is above a threshold altitude.
 
std::vector< Period< TT, MJD > > siderust::star_altitude::below_threshold (const Star &s, const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree threshold, const SearchOptions &opts={})
 Find periods when a star is below a threshold altitude.
 
std::vector< CrossingEventsiderust::star_altitude::crossings (const Star &s, const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree threshold, const SearchOptions &opts={})
 Find threshold-crossing events for a star.
 
std::vector< CulminationEventsiderust::star_altitude::culminations (const Star &s, const Geodetic &obs, const Period< TT, MJD > &window, const SearchOptions &opts={})
 Find culmination events for a star.
 
qtty::Radian siderust::icrs_altitude::altitude_at (const spherical::direction::ICRS &dir, const Geodetic &obs, const Time< TT, MJD > &mjd)
 Compute altitude (radians) for a fixed ICRS direction.
 
qtty::Radian siderust::icrs_altitude::altitude_at (qtty::Degree ra, qtty::Degree dec, const Geodetic &obs, const Time< TT, MJD > &mjd)
 Backward-compatible RA/Dec overload.
 
std::vector< Period< TT, MJD > > siderust::icrs_altitude::above_threshold (const spherical::direction::ICRS &dir, const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree threshold, const SearchOptions &opts={})
 Find periods when a fixed ICRS direction is above a threshold.
 
std::vector< Period< TT, MJD > > siderust::icrs_altitude::below_threshold (const spherical::direction::ICRS &dir, const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree threshold, const SearchOptions &opts={})
 Find periods when a fixed ICRS direction is below a threshold.
 
std::vector< Period< TT, MJD > > siderust::icrs_altitude::altitude_ranges (const spherical::direction::ICRS &dir, const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree min_alt, qtty::Degree max_alt, const SearchOptions &opts={})
 Find periods when a fixed ICRS direction's altitude is within [min, max].
 

Detailed Description

Altitude computations for Sun, Moon, stars, and arbitrary ICRS directions.

Wraps siderust-ffi's altitude API with exception-safe C++ types and RAII-managed output arrays.

Definition in file altitude.hpp.