CelestialCalendar 1.0.0 · unreleased development @ 67a7c4c79a4a4a6aa7e703c9e6f0039ae34bee82
Loading...
Searching...
No Matches
sun.hpp File Reference
#include <cmath>
#include <chrono>
#include <vector>
#include <cstdint>
#include <format>
#include <stdexcept>
#include "toolbox.hpp"
#include "julian_day.hpp"
#include "earth.hpp"
#include "coord_transform.hpp"
#include "ymd.hpp"

Namespaces

namespace  astro
namespace  astro::sun
namespace  astro::sun::geocentric_coord
namespace  astro::sun::equatorial_coord
namespace  astro::sun::geocentric_coord::math
namespace  astro::sun::geocentric_coord::math::detail

Typedefs

using astro::sun::geocentric_coord::Fk5Correction

Functions

auto astro::sun::geocentric_coord::vsop87d (const double jde) -> toolbox::SphericalCoordinate
 Calculate the geocentric position of the Sun, using VSOP87D.
auto astro::sun::geocentric_coord::fk5_correction (const double jde, const toolbox::SphericalCoordinate &vsop87d_coord) -> Fk5Correction
 Compatibility entry for the VSOP87D-to-FK5 correction.
auto astro::sun::geocentric_coord::apparent (const double jde) -> toolbox::SphericalCoordinate
 Calculate the apparent geocentric position of the Sun, using VSOP87D. The position is corrected to FK5 system, considering nutation and aberration.
auto astro::sun::equatorial_coord::apparent (const double jde) -> astro::coords::EquatorialCoord
 Calculate the apparent geocentric equatorial coordinates of the Sun.
auto astro::sun::geocentric_coord::math::detail::solar_longitude (const double jde) -> double
 Calculate the apparent geocentric longitude of the Sun.
auto astro::sun::geocentric_coord::math::detail::get_start_jde (const int32_t year) -> double
 Return the JDE of the start of the year.
auto astro::sun::geocentric_coord::math::detail::get_end_jde (const int32_t year) -> double
 Return the JDE of the end of the year.
auto astro::sun::geocentric_coord::math::detail::get_start_lon (const int32_t year) -> double
 Return the apparent geocentric longitude of the Sun at the start of the year.
auto astro::sun::geocentric_coord::math::detail::get_end_lon (const int32_t year) -> double
 Return the apparent geocentric longitude of the Sun at the end of the year.
auto astro::sun::geocentric_coord::math::detail::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 astro::sun::geocentric_coord::math::detail::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 astro::sun::geocentric_coord::math::detail::make_f (const int32_t year, const double expected_lon)
 Lift solar longitude from the year's start for Newton refinement.
auto astro::sun::geocentric_coord::math::discriminant (const int32_t year, const double lon) -> uint32_t
 Return the count of the roots for the given year and lon.
auto astro::sun::geocentric_coord::math::find_roots (const int32_t year, const double expected_lon) -> std::vector< double >
 Find the roots (i.e. JDEs) for the given year and expected_lon.