CelestialCalendar 1.0.0 · unreleased development @ 67a7c4c79a4a4a6aa7e703c9e6f0039ae34bee82
Loading...
Searching...
No Matches
astro::house Namespace Reference

Namespaces

namespace  detail

Classes

struct  Axes
 The four principal tropical angles, independent of a house division system. More...
struct  Result
 The four principal angles and twelve cusps of a house calculation. More...

Enumerations

enum class  System : uint8_t { EQUAL , WHOLE_SIGN , PLACIDUS }
 A supported system for dividing the ecliptic into twelve houses. More...

Functions

auto axes (const double jd_ut1, const double jde_tt, const astro::GeoLocation &location, const astro::earth::nutation::Model model=DEFAULT_NUTATION_MODEL) -> Axes
 Calculate the four principal angles without constructing house cusps.
auto calculate (const double jd_ut1, const double jde_tt, const astro::GeoLocation &location, const System system, const astro::earth::nutation::Model model=DEFAULT_NUTATION_MODEL) -> Result
 Calculate the four principal angles and house cusps for an observer and instant.

Variables

constexpr astro::earth::nutation::Model DEFAULT_NUTATION_MODEL
 Default nutation model for house geometry.

Enumeration Type Documentation

◆ System

enum class astro::house::System : uint8_t
strong

A supported system for dividing the ecliptic into twelve houses.

Enumerator
EQUAL 
WHOLE_SIGN 
PLACIDUS 

Function Documentation

◆ axes()

auto astro::house::axes ( const double jd_ut1,
const double jde_tt,
const astro::GeoLocation & location,
const astro::earth::nutation::Model model = DEFAULT_NUTATION_MODEL )->Axes
inlinenodiscard

Calculate the four principal angles without constructing house cusps.

Parameters
jd_ut1Julian day on UT1.
jde_ttJDE(TT) of the same physical instant.
locationNorth-positive latitude in (-90, 90), east-positive longitude in [-180, 180].
modelNutation for both apparent sidereal time and true obliquity.
Returns
The four axes, normalized to [0, 360) degrees.
Exceptions
std::invalid_argumentFor invalid time/site/model input or an unresolved Ascendant direction.
Note
The numeric operation has no civil-year or target/rate window.

◆ calculate()

auto astro::house::calculate ( const double jd_ut1,
const double jde_tt,
const astro::GeoLocation & location,
const System system,
const astro::earth::nutation::Model model = DEFAULT_NUTATION_MODEL )->Result
inlinenodiscard

Calculate the four principal angles and house cusps for an observer and instant.

Parameters
jd_ut1The Julian day on the UT1 scale.
jde_ttThe Julian ephemeris day on the TT scale of the same physical instant.
locationThe observer's north-positive latitude in (-90°, 90°) and east-positive longitude in [-180°, 180°].
systemThe house system to calculate.
modelThe nutation model used by both apparent sidereal time and true obliquity. Defaults to DEFAULT_NUTATION_MODEL.
Returns
Tropical longitudes in the true ecliptic and equinox of date, normalized to [0°, 360°).
Exceptions
std::invalid_argumentIf an input is non-finite or outside its range, system is not a named enumerator, the Ascendant direction is unresolved at round-off, or Placidus is requested with a non-physical obliquity or at or beyond its polar domain.
std::runtime_errorIf a Placidus cusp cannot be bracketed or solved.
Note
jd_ut1 and jde_tt must represent the same physical instant; their scale suffixes are the guard.
See also
Jean Meeus, "Astronomical Algorithms", Second Edition, Chapters 12-14.

Variable Documentation

◆ DEFAULT_NUTATION_MODEL

astro::earth::nutation::Model astro::house::DEFAULT_NUTATION_MODEL
inlineconstexpr

Default nutation model for house geometry.