Program Listing for File state_conversions.h

Return to documentation for file (conversions/state_conversions.h)

#pragma once

#include "lupnt/core/definitions.h"
#include "lupnt/numerics/vector_macros.h"
#include "lupnt/states/state.h"
#include "lupnt/states/tle.h"

namespace lupnt {

  State CartToClassical(const State& rv, Real GM);

  State CartToClassical(Real dt, const State& r1, const State& r2, Real GM);

  State InertialToSynodic(const State& rv_c, const State& rv_d);

  State SynodicToInertial(const State& rv_c, const State& rv_syn_d);

  State ClassicalToCart(const State& coe, Real GM);

  State ClassicalToQuasiNonsing(const State& coe, Real GM = 0);

  State ClassicalToEquinoctial(const State& coe, Real GM = 0);

  State ClassicalToDelaunay(const State& coe, Real GM);

  State QuasiNonsingToClassical(const State& qnsoeVec, Real GM = 0);

  State EquinoctialToClassical(const State& eqoe, Real GM = 0);

  State DelaunayToClassical(const State& deloe, Real GM);

  State RelQuasiNonsingToClassical(const State& coe, const State& rqnsoe);

  State TleToClassical(const TLE& tle, Real GM);

  // Vector definitions
  VEC_DEF_VECTOR_REAL(ClassicalToCart, 6);
  VEC_DEF_VECTOR_VECTOR(InertialToSynodic, 6);
  VEC_DEF_VECTOR_VECTOR(SynodicToInertial, 6);
  VEC_DEF_VECTOR_REAL(CartToClassical, 6);
  VEC_DEF_VECTOR_REAL(ClassicalToQuasiNonsing, 6);
  VEC_DEF_VECTOR_REAL(ClassicalToEquinoctial, 6);
  VEC_DEF_VECTOR_REAL(ClassicalToDelaunay, 6);
  VEC_DEF_VECTOR_REAL(QuasiNonsingToClassical, 6);
  VEC_DEF_VECTOR_REAL(EquinoctialToClassical, 6);
  VEC_DEF_VECTOR_REAL(DelaunayToClassical, 6);
  VEC_DEF_VECTOR_VECTOR(RelQuasiNonsingToClassical, 6);

}  // namespace lupnt