siderust-cpp 0.8.0
Header-only C++ wrapper for siderust
Loading...
Searching...
No Matches
siderust::moon Namespace Reference

Functions

qtty::Radian 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 > > 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 > > 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< CrossingEventcrossings (const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree threshold, const SearchOptions &opts={})
 Find threshold-crossing events for the Moon.
 
std::vector< CulminationEventculminations (const Geodetic &obs, const Period< TT, MJD > &window, const SearchOptions &opts={})
 Find culmination events for the Moon.
 
std::vector< Period< TT, MJD > > 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::Degree azimuth_at (const Geodetic &obs, const Time< TT, MJD > &mjd)
 Compute the Moon's azimuth (degrees, N-clockwise) at a given Time<TT, MJD> instant.
 
std::vector< AzimuthCrossingEventazimuth_crossings (const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree bearing, const SearchOptions &opts={})
 Find epochs when the Moon crosses a given bearing.
 
std::vector< AzimuthExtremumazimuth_extrema (const Geodetic &obs, const Period< TT, MJD > &window, const SearchOptions &opts={})
 Find azimuth extrema (northernmost / southernmost) for the Moon.
 
std::vector< Period< TT, MJD > > in_azimuth_range (const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree min_bearing, qtty::Degree max_bearing, const SearchOptions &opts={})
 Find periods when the Moon's azimuth is within [min_bearing, max_bearing].
 
std::vector< Period< TT, MJD > > outside_azimuth_range (const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree min_bearing, qtty::Degree max_bearing, const SearchOptions &opts={})
 Find periods when the Moon's azimuth is outside [min_bearing, max_bearing].
 
MoonPhaseGeometry phase_geocentric (const Time< TT, JD > &jd)
 Compute geocentric Moon phase geometry at a Julian Date.
 
MoonPhaseGeometry phase_topocentric (const Time< TT, JD > &jd, const Geodetic &site)
 Compute topocentric Moon phase geometry at a Julian Date.
 
MoonPhaseLabel phase_label (const MoonPhaseGeometry &geom)
 Determine the descriptive phase label for a given geometry.
 
std::vector< PhaseEventfind_phase_events (const Period< TT, MJD > &window, const SearchOptions &opts={})
 Find principal phase events (new moon, quarters, full moon) in a window.
 
std::vector< Period< TT, MJD > > illumination_above (const Period< TT, MJD > &window, double k_min, const SearchOptions &opts={})
 Find periods when illuminated fraction is ≥ k_min.
 
std::vector< Period< TT, MJD > > illumination_below (const Period< TT, MJD > &window, double k_max, const SearchOptions &opts={})
 Find periods when illuminated fraction is ≤ k_max.
 
std::vector< Period< TT, MJD > > illumination_range (const Period< TT, MJD > &window, double k_min, double k_max, const SearchOptions &opts={})
 Find periods when illuminated fraction is within [k_min, k_max].
 

Function Documentation

◆ above_threshold()

std::vector< Period< TT, MJD > > siderust::moon::above_threshold ( const Geodetic obs,
const Period< TT, MJD > &  window,
qtty::Degree  threshold,
const SearchOptions opts = {} 
)
inline

Find periods when the Moon is above a threshold altitude.

Definition at line 225 of file altitude.hpp.

◆ altitude_at()

qtty::Radian siderust::moon::altitude_at ( const Geodetic obs,
const Time< TT, MJD > &  mjd 
)
inline

Compute the Moon's altitude (radians) at a given Time<TT, MJD> instant.

Definition at line 214 of file altitude.hpp.

References siderust::check_status(), siderust::detail::make_body_subject(), and siderust::Geodetic::to_c().

◆ altitude_ranges()

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 = {} 
)
inline

Find periods when the Moon's altitude is within [min, max].

Definition at line 284 of file altitude.hpp.

◆ azimuth_at()

qtty::Degree siderust::moon::azimuth_at ( const Geodetic obs,
const Time< TT, MJD > &  mjd 
)
inline

Compute the Moon's azimuth (degrees, N-clockwise) at a given Time<TT, MJD> instant.

Definition at line 190 of file azimuth.hpp.

References siderust::check_status(), siderust::detail::make_body_subject(), and siderust::Geodetic::to_c().

◆ azimuth_crossings()

std::vector< AzimuthCrossingEvent > siderust::moon::azimuth_crossings ( const Geodetic obs,
const Period< TT, MJD > &  window,
qtty::Degree  bearing,
const SearchOptions opts = {} 
)
inline

Find epochs when the Moon crosses a given bearing.

Definition at line 201 of file azimuth.hpp.

◆ azimuth_extrema()

std::vector< AzimuthExtremum > siderust::moon::azimuth_extrema ( const Geodetic obs,
const Period< TT, MJD > &  window,
const SearchOptions opts = {} 
)
inline

Find azimuth extrema (northernmost / southernmost) for the Moon.

Definition at line 217 of file azimuth.hpp.

◆ below_threshold()

std::vector< Period< TT, MJD > > siderust::moon::below_threshold ( const Geodetic obs,
const Period< TT, MJD > &  window,
qtty::Degree  threshold,
const SearchOptions opts = {} 
)
inline

Find periods when the Moon is below a threshold altitude.

Definition at line 241 of file altitude.hpp.

◆ crossings()

std::vector< CrossingEvent > siderust::moon::crossings ( const Geodetic obs,
const Period< TT, MJD > &  window,
qtty::Degree  threshold,
const SearchOptions opts = {} 
)
inline

Find threshold-crossing events for the Moon.

Definition at line 257 of file altitude.hpp.

◆ culminations()

std::vector< CulminationEvent > siderust::moon::culminations ( const Geodetic obs,
const Period< TT, MJD > &  window,
const SearchOptions opts = {} 
)
inline

Find culmination events for the Moon.

Definition at line 272 of file altitude.hpp.

◆ find_phase_events()

std::vector< PhaseEvent > siderust::moon::find_phase_events ( const Period< TT, MJD > &  window,
const SearchOptions opts = {} 
)
inline

Find principal phase events (new moon, quarters, full moon) in a window.

Parameters
windowTime<TT, MJD> search window.
optsSearch tolerances (optional).

Definition at line 164 of file lunar_phase.hpp.

◆ illumination_above()

std::vector< Period< TT, MJD > > siderust::moon::illumination_above ( const Period< TT, MJD > &  window,
double  k_min,
const SearchOptions opts = {} 
)
inline

Find periods when illuminated fraction is ≥ k_min.

Parameters
windowTime<TT, MJD> search window.
k_minMinimum illuminated fraction in [0, 1].
optsSearch tolerances (optional).

Definition at line 180 of file lunar_phase.hpp.

◆ illumination_below()

std::vector< Period< TT, MJD > > siderust::moon::illumination_below ( const Period< TT, MJD > &  window,
double  k_max,
const SearchOptions opts = {} 
)
inline

Find periods when illuminated fraction is ≤ k_max.

Parameters
windowTime<TT, MJD> search window.
k_maxMaximum illuminated fraction in [0, 1].
optsSearch tolerances (optional).

Definition at line 196 of file lunar_phase.hpp.

◆ illumination_range()

std::vector< Period< TT, MJD > > siderust::moon::illumination_range ( const Period< TT, MJD > &  window,
double  k_min,
double  k_max,
const SearchOptions opts = {} 
)
inline

Find periods when illuminated fraction is within [k_min, k_max].

Parameters
windowTime<TT, MJD> search window.
k_minMinimum illuminated fraction in [0, 1].
k_maxMaximum illuminated fraction in [0, 1].
optsSearch tolerances (optional).

Definition at line 213 of file lunar_phase.hpp.

◆ in_azimuth_range()

std::vector< Period< TT, MJD > > siderust::moon::in_azimuth_range ( const Geodetic obs,
const Period< TT, MJD > &  window,
qtty::Degree  min_bearing,
qtty::Degree  max_bearing,
const SearchOptions opts = {} 
)
inline

Find periods when the Moon's azimuth is within [min_bearing, max_bearing].

Definition at line 233 of file azimuth.hpp.

◆ outside_azimuth_range()

std::vector< Period< TT, MJD > > siderust::moon::outside_azimuth_range ( const Geodetic obs,
const Period< TT, MJD > &  window,
qtty::Degree  min_bearing,
qtty::Degree  max_bearing,
const SearchOptions opts = {} 
)
inline

Find periods when the Moon's azimuth is outside [min_bearing, max_bearing].

Definition at line 249 of file azimuth.hpp.

◆ phase_geocentric()

MoonPhaseGeometry siderust::moon::phase_geocentric ( const Time< TT, JD > &  jd)
inline

Compute geocentric Moon phase geometry at a Julian Date.

Parameters
jdJulian Date (e.g. siderust::Time<TT, JD>(2451545.0) for J2000.0).

Definition at line 124 of file lunar_phase.hpp.

References siderust::check_status(), and siderust::MoonPhaseGeometry::from_c().

◆ phase_label()

MoonPhaseLabel siderust::moon::phase_label ( const MoonPhaseGeometry geom)
inline

Determine the descriptive phase label for a given geometry.

Parameters
geomMoon phase geometry (as returned by phase_geocentric / phase_topocentric).

Definition at line 149 of file lunar_phase.hpp.

References siderust::check_status(), siderust::MoonPhaseGeometry::elongation, siderust::MoonPhaseGeometry::illuminated_fraction, siderust::MoonPhaseGeometry::phase_angle, and siderust::MoonPhaseGeometry::waxing.

◆ phase_topocentric()

MoonPhaseGeometry siderust::moon::phase_topocentric ( const Time< TT, JD > &  jd,
const Geodetic site 
)
inline

Compute topocentric Moon phase geometry at a Julian Date.

Parameters
jdJulian Date.
siteObserver geodetic coordinates.

Definition at line 136 of file lunar_phase.hpp.

References siderust::check_status(), siderust::MoonPhaseGeometry::from_c(), and siderust::Geodetic::to_c().