siderust-cpp
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 <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< Periodsiderust::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 MJD &mjd)
 Compute the Sun's altitude (radians) at a given MJD instant.
 
std::vector< Periodsiderust::sun::above_threshold (const Geodetic &obs, const Period &window, qtty::Degree threshold, const SearchOptions &opts={})
 Find periods when the Sun is above a threshold altitude.
 
std::vector< Periodsiderust::sun::above_threshold (const Geodetic &obs, const MJD &start, const MJD &end, qtty::Degree threshold, const SearchOptions &opts={})
 Backward-compatible [start, end] overload.
 
std::vector< Periodsiderust::sun::below_threshold (const Geodetic &obs, const Period &window, qtty::Degree threshold, const SearchOptions &opts={})
 Find periods when the Sun is below a threshold altitude.
 
std::vector< Periodsiderust::sun::below_threshold (const Geodetic &obs, const MJD &start, const MJD &end, qtty::Degree threshold, const SearchOptions &opts={})
 Backward-compatible [start, end] overload.
 
std::vector< CrossingEventsiderust::sun::crossings (const Geodetic &obs, const Period &window, qtty::Degree threshold, const SearchOptions &opts={})
 Find threshold-crossing events for the Sun.
 
std::vector< CrossingEventsiderust::sun::crossings (const Geodetic &obs, const MJD &start, const MJD &end, qtty::Degree threshold, const SearchOptions &opts={})
 Backward-compatible [start, end] overload.
 
std::vector< CulminationEventsiderust::sun::culminations (const Geodetic &obs, const Period &window, const SearchOptions &opts={})
 Find culmination events for the Sun.
 
std::vector< CulminationEventsiderust::sun::culminations (const Geodetic &obs, const MJD &start, const MJD &end, const SearchOptions &opts={})
 Backward-compatible [start, end] overload.
 
std::vector< Periodsiderust::sun::altitude_periods (const Geodetic &obs, const Period &window, qtty::Degree min_alt, qtty::Degree max_alt)
 Find periods when the Sun's altitude is within [min, max].
 
std::vector< Periodsiderust::sun::altitude_periods (const Geodetic &obs, const MJD &start, const MJD &end, qtty::Degree min_alt, qtty::Degree max_alt)
 Backward-compatible [start, end] overload.
 
qtty::Radian siderust::moon::altitude_at (const Geodetic &obs, const MJD &mjd)
 Compute the Moon's altitude (radians) at a given MJD instant.
 
std::vector< Periodsiderust::moon::above_threshold (const Geodetic &obs, const Period &window, qtty::Degree threshold, const SearchOptions &opts={})
 Find periods when the Moon is above a threshold altitude.
 
std::vector< Periodsiderust::moon::above_threshold (const Geodetic &obs, const MJD &start, const MJD &end, qtty::Degree threshold, const SearchOptions &opts={})
 Backward-compatible [start, end] overload.
 
std::vector< Periodsiderust::moon::below_threshold (const Geodetic &obs, const Period &window, qtty::Degree threshold, const SearchOptions &opts={})
 Find periods when the Moon is below a threshold altitude.
 
std::vector< Periodsiderust::moon::below_threshold (const Geodetic &obs, const MJD &start, const MJD &end, qtty::Degree threshold, const SearchOptions &opts={})
 Backward-compatible [start, end] overload.
 
std::vector< CrossingEventsiderust::moon::crossings (const Geodetic &obs, const Period &window, qtty::Degree threshold, const SearchOptions &opts={})
 Find threshold-crossing events for the Moon.
 
std::vector< CrossingEventsiderust::moon::crossings (const Geodetic &obs, const MJD &start, const MJD &end, qtty::Degree threshold, const SearchOptions &opts={})
 Backward-compatible [start, end] overload.
 
std::vector< CulminationEventsiderust::moon::culminations (const Geodetic &obs, const Period &window, const SearchOptions &opts={})
 Find culmination events for the Moon.
 
std::vector< CulminationEventsiderust::moon::culminations (const Geodetic &obs, const MJD &start, const MJD &end, const SearchOptions &opts={})
 Backward-compatible [start, end] overload.
 
std::vector< Periodsiderust::moon::altitude_periods (const Geodetic &obs, const Period &window, qtty::Degree min_alt, qtty::Degree max_alt)
 Find periods when the Moon's altitude is within [min, max].
 
std::vector< Periodsiderust::moon::altitude_periods (const Geodetic &obs, const MJD &start, const MJD &end, qtty::Degree min_alt, qtty::Degree max_alt)
 Backward-compatible [start, end] overload.
 
qtty::Radian siderust::star_altitude::altitude_at (const Star &s, const Geodetic &obs, const MJD &mjd)
 Compute a star's altitude (radians) at a given MJD instant.
 
std::vector< Periodsiderust::star_altitude::above_threshold (const Star &s, const Geodetic &obs, const Period &window, qtty::Degree threshold, const SearchOptions &opts={})
 Find periods when a star is above a threshold altitude.
 
std::vector< Periodsiderust::star_altitude::above_threshold (const Star &s, const Geodetic &obs, const MJD &start, const MJD &end, qtty::Degree threshold, const SearchOptions &opts={})
 Backward-compatible [start, end] overload.
 
std::vector< Periodsiderust::star_altitude::below_threshold (const Star &s, const Geodetic &obs, const Period &window, qtty::Degree threshold, const SearchOptions &opts={})
 Find periods when a star is below a threshold altitude.
 
std::vector< Periodsiderust::star_altitude::below_threshold (const Star &s, const Geodetic &obs, const MJD &start, const MJD &end, qtty::Degree threshold, const SearchOptions &opts={})
 Backward-compatible [start, end] overload.
 
std::vector< CrossingEventsiderust::star_altitude::crossings (const Star &s, const Geodetic &obs, const Period &window, qtty::Degree threshold, const SearchOptions &opts={})
 Find threshold-crossing events for a star.
 
std::vector< CrossingEventsiderust::star_altitude::crossings (const Star &s, const Geodetic &obs, const MJD &start, const MJD &end, qtty::Degree threshold, const SearchOptions &opts={})
 Backward-compatible [start, end] overload.
 
std::vector< CulminationEventsiderust::star_altitude::culminations (const Star &s, const Geodetic &obs, const Period &window, const SearchOptions &opts={})
 Find culmination events for a star.
 
std::vector< CulminationEventsiderust::star_altitude::culminations (const Star &s, const Geodetic &obs, const MJD &start, const MJD &end, const SearchOptions &opts={})
 Backward-compatible [start, end] overload.
 
qtty::Radian siderust::icrs_altitude::altitude_at (const spherical::direction::ICRS &dir, const Geodetic &obs, const 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 MJD &mjd)
 Backward-compatible RA/Dec overload.
 
std::vector< Periodsiderust::icrs_altitude::above_threshold (const spherical::direction::ICRS &dir, const Geodetic &obs, const Period &window, qtty::Degree threshold, const SearchOptions &opts={})
 Find periods when a fixed ICRS direction is above a threshold.
 
std::vector< Periodsiderust::icrs_altitude::above_threshold (qtty::Degree ra, qtty::Degree dec, const Geodetic &obs, const MJD &start, const MJD &end, qtty::Degree threshold, const SearchOptions &opts={})
 Backward-compatible RA/Dec + [start, end] overload.
 
std::vector< Periodsiderust::icrs_altitude::below_threshold (const spherical::direction::ICRS &dir, const Geodetic &obs, const Period &window, qtty::Degree threshold, const SearchOptions &opts={})
 Find periods when a fixed ICRS direction is below a threshold.
 
std::vector< Periodsiderust::icrs_altitude::below_threshold (qtty::Degree ra, qtty::Degree dec, const Geodetic &obs, const MJD &start, const MJD &end, qtty::Degree threshold, const SearchOptions &opts={})
 Backward-compatible RA/Dec + [start, end] overload.
 

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.