Astro  0.0.0
A C++ library for space dynamics
Loading...
Searching...
No Matches
Astro::OrbitalElements::Anomaly Struct Reference

Structure container for the orbital anomalies. More...

#include <OrbitalElements.hxx>

Public Member Functions

 Anomaly ()
 
 Anomaly (Anomaly const &)=default
 
 Anomaly (Anomaly &&)=default
 
Anomalyoperator= (const Anomaly &)=default
 
Anomalyoperator= (Anomaly &&)=default
 
void set_nu (Real nu, Keplerian const &kepl, Factor I)
 
void set_M (Real t_M, Keplerian const &kepl, Factor I)
 
void set_E (Real t_E, Keplerian const &kepl, Factor I)
 Set the eccentric anomaly \( E \).
 
void set_L (Real t_L, Keplerian const &kepl, Factor I)
 Set the true longitude \( L \).
 
void set_lambda (Real t_lambda, Keplerian const &kepl, Factor I)
 Set the mean longitude \( \lambda \).
 
void set_H (Real t_H, Keplerian const &kepl, Factor I)
 Set the hyperbolic anomaly \( H \).
 
std::string info () const
 
void info (std::ostream &os)
 
void reset ()
 
bool sanity_check () const
 

Public Attributes

Real nu {QUIET_NAN}
 
Real M {QUIET_NAN}
 
Real E {QUIET_NAN}
 
Real H {QUIET_NAN}
 
Real L {QUIET_NAN}
 
Real lambda {QUIET_NAN}
 

Detailed Description

Structure container for the orbital anomalies, which is made of the following anomalies:

  • the true anomaly \( \nu \) (rad),
  • the mean anomaly \( M \) (rad),
  • the eccentric anomaly \( E \) (rad),
  • the hyperbolic anomaly \( H \) (rad),
  • the true longitude \( L \) (rad),
  • the mean longitude \( \lambda \) (rad).

Constructor & Destructor Documentation

◆ Anomaly() [1/3]

Astro::OrbitalElements::Anomaly::Anomaly ( )
inline

Structure constructor for the orbit anomalies.

◆ Anomaly() [2/3]

Astro::OrbitalElements::Anomaly::Anomaly ( Anomaly const & )
default

Enable the default orbit anomalies copy constructor.

◆ Anomaly() [3/3]

Astro::OrbitalElements::Anomaly::Anomaly ( Anomaly && )
default

Enable the default orbit anomalies move constructor.

Member Function Documentation

◆ info() [1/2]

std::string Astro::OrbitalElements::Anomaly::info ( ) const
inline

Print the orbit anomialies on a string.

Returns
The orbit anomialies parameters string.

◆ info() [2/2]

void Astro::OrbitalElements::Anomaly::info ( std::ostream & os)
inline

Print the orbit anomialies on a stream.

Parameters
[in,out]osOutput stream.

◆ operator=() [1/2]

Anomaly & Astro::OrbitalElements::Anomaly::operator= ( Anomaly && )
default

Enable the default orbit anomalies move assignment operator.

◆ operator=() [2/2]

Anomaly & Astro::OrbitalElements::Anomaly::operator= ( const Anomaly & )
default

Enable the default orbit anomalies assignment operator.

◆ reset()

void Astro::OrbitalElements::Anomaly::reset ( )
inline

Reset the orbit anomalies to NaN.

◆ sanity_check()

bool Astro::OrbitalElements::Anomaly::sanity_check ( ) const
inline

Check if the orbit anomalies are valid, i.e., finite.

Returns
True if the orbit anomalies are valid, false otherwise.

◆ set_E()

void Astro::OrbitalElements::Anomaly::set_E ( Real t_E,
Keplerian const & kepl,
Factor I )
inline

Set the eccentric anomaly \( E \), and compute the mean anomaly \( M \) and the true anomaly \( \nu \) accordingly.

Note
Refer to "A note on the relations between true and eccentric anomalies in the two-body problem" by R. Broucke and P. Cefola, Celestial Mechanics, Vol. 7, pp. 300-389, 1973.
Parameters
[in]t_EThe eccentric anomaly \( E \).
[in]keplThe keplerian orbital elements.
[in]IThe posigrade (+1)/retrograde (-1) factor.

◆ set_H()

void Astro::OrbitalElements::Anomaly::set_H ( Real t_H,
Keplerian const & kepl,
Factor I )
inline

Set the hyperbolic anomaly \( H \), and compute the mean anomaly \( M \) and the true anomaly \( \nu \) accordingly.

Parameters
[in]t_HThe hyperbolic anomaly \( H \).
[in]keplThe keplerian orbital elements.
[in]IThe posigrade (+1)/retrograde (-1) factor.

◆ set_L()

void Astro::OrbitalElements::Anomaly::set_L ( Real t_L,
Keplerian const & kepl,
Factor I )
inline

Set the true longitude \( L \), and compute the true anomaly \( \nu \), the mean anomaly \( M \), and the eccentric anomaly \( E \) accordingly.

Parameters
[in]t_LThe true longitude \( L \).
[in]keplThe keplerian orbital elements.
[in]IThe posigrade (+1)/retrograde (-1) factor.

◆ set_lambda()

void Astro::OrbitalElements::Anomaly::set_lambda ( Real t_lambda,
Keplerian const & kepl,
Factor I )
inline

Set the mean longitude \( \lambda \), and compute the true anomaly \( \nu \), the mean anomaly \( M \), and the eccentric anomaly \( E \) accordingly.

Parameters
[in]t_lambdaThe mean longitude \( \lambda \).
[in]keplThe keplerian orbital elements.
[in]IThe posigrade (+1)/retrograde (-1) factor.

◆ set_M()

void Astro::OrbitalElements::Anomaly::set_M ( Real t_M,
Keplerian const & kepl,
Factor I )
inline

Set the mean anomaly \( M \).

Parameters
[in]t_MThe mean anomaly \( M \).
[in]keplThe keplerian orbital elements.
[in]IThe posigrade (+1)/retrograde (-1) factor.

◆ set_nu()

void Astro::OrbitalElements::Anomaly::set_nu ( Real nu,
Keplerian const & kepl,
Factor I )
inline

Set the true anomaly \( \nu \) and compute the other anomalies accordingly.

Parameters
[in]nuThe true anomaly \( \nu \).
[in]keplThe keplerian orbital elements.
[in]IThe posigrade (+1)/retrograde (-1) factor.

Member Data Documentation

◆ E

Real Astro::OrbitalElements::Anomaly::E {QUIET_NAN}

Eccentric anomaly \( E \) (rad).

◆ H

Real Astro::OrbitalElements::Anomaly::H {QUIET_NAN}

Hyperbolic anomaly \( H \) (rad).

◆ L

Real Astro::OrbitalElements::Anomaly::L {QUIET_NAN}

True longitude \( L \) (rad).

◆ lambda

Real Astro::OrbitalElements::Anomaly::lambda {QUIET_NAN}

Mean longitude \( \lambda \) (rad).

◆ M

Real Astro::OrbitalElements::Anomaly::M {QUIET_NAN}

Mean anomaly \( M \) (rad).

◆ nu

Real Astro::OrbitalElements::Anomaly::nu {QUIET_NAN}

True anomaly \( \nu \) (rad).


The documentation for this struct was generated from the following file: