CelestialCalendar 1.0.0 · unreleased development @ 67a7c4c79a4a4a6aa7e703c9e6f0039ae34bee82
Loading...
Searching...
No Matches
astro::sun::geocentric_coord::math::detail Namespace Reference

Functions

auto solar_longitude (const double jde) -> double
 Calculate the apparent geocentric longitude of the Sun.
auto get_start_jde (const int32_t year) -> double
 Return the JDE of the start of the year.
auto get_end_jde (const int32_t year) -> double
 Return the JDE of the end of the year.
auto get_start_lon (const int32_t year) -> double
 Return the apparent geocentric longitude of the Sun at the start of the year.
auto get_end_lon (const int32_t year) -> double
 Return the apparent geocentric longitude of the Sun at the end of the year.
auto has_root_before_spring_equinox (const int32_t year, const double lon) -> bool
 Return true if the given year has a root for the given lon before the spring equinox.
auto has_root_after_spring_equinox (const int32_t year, const double lon) -> bool
 Return true if the given year has a root for the given lon after the spring equinox.
auto make_f (const int32_t year, const double expected_lon)
 Lift solar longitude from the year's start for Newton refinement.

Detailed Description

Function Documentation

◆ get_end_jde()

auto astro::sun::geocentric_coord::math::detail::get_end_jde ( const int32_t year) ->double
inlinenodiscard

Return the JDE of the end of the year.

Parameters
yearThe Gregorian year, in [1, 32766]; see astro::julian_day::validate_annual_year.

◆ get_end_lon()

auto astro::sun::geocentric_coord::math::detail::get_end_lon ( const int32_t year) ->double
inlinenodiscard

Return the apparent geocentric longitude of the Sun at the end of the year.

◆ get_start_jde()

auto astro::sun::geocentric_coord::math::detail::get_start_jde ( const int32_t year) ->double
inlinenodiscard

Return the JDE of the start of the year.

Parameters
yearThe Gregorian year, in [1, 32767]; see astro::julian_day::utc_year_start_jde.

◆ get_start_lon()

auto astro::sun::geocentric_coord::math::detail::get_start_lon ( const int32_t year) ->double
inlinenodiscard

Return the apparent geocentric longitude of the Sun at the start of the year.

◆ has_root_after_spring_equinox()

auto astro::sun::geocentric_coord::math::detail::has_root_after_spring_equinox ( const int32_t year,
const double lon )->bool
inlinenodiscard

Return true if the given year has a root for the given lon after the spring equinox.

◆ has_root_before_spring_equinox()

auto astro::sun::geocentric_coord::math::detail::has_root_before_spring_equinox ( const int32_t year,
const double lon )->bool
inlinenodiscard

Return true if the given year has a root for the given lon before the spring equinox.

◆ make_f()

auto astro::sun::geocentric_coord::math::detail::make_f ( const int32_t year,
const double expected_lon )
inlinenodiscard

Lift solar longitude from the year's start for Newton refinement.

Note
The mean-motion predictor must stay within 180 degrees of the continuous lift over the search span.

◆ solar_longitude()

auto astro::sun::geocentric_coord::math::detail::solar_longitude ( const double jde) ->double
inlinenodiscard

Calculate the apparent geocentric longitude of the Sun.

Parameters
jdeThe julian ephemeris day number, which is based on TT.
Returns
The apparent geocentric longitude of the Sun in degrees.
Note
The solver's own view of the Sun: newton_method works on bare doubles, and this is where the typed astronomy layer is handed over to it. Callers after a solar longitude want geocentric_coord::apparent(jde).λ, which keeps the unit in the type (#125).