12#ifndef WSFNONCLASSICALORBITALPROPAGATOR_HPP
13#define WSFNONCLASSICALORBITALPROPAGATOR_HPP
15#include "wsf_space_export.h"
17#include "UtGoldenSectionSearch.hpp"
18#include "UtMatrix.hpp"
19#include "UtOrbitalState.hpp"
34 const UtVec3d& aLocationECI_1,
35 const UtVec3d& aLocationECI_2,
39 double aConvergenceTolerance = 1.0e-12)
const override;
45 explicit StateVector(
const UtVec3d& aPosition);
46 explicit StateVector(
const UtMatrixd& aMatrix);
48 StateVector operator-(
const StateVector& aOther)
const;
49 StateVector operator*(
double aScalar)
const;
51 const UtMatrixd& Vector()
const {
return mVec; }
53 double Component(
int aIndex)
const;
55 static const int cDIMENSION = 3;
64 explicit SearchVector(
const UtVec3d& aVelocity);
65 explicit SearchVector(
const UtMatrixd& aMatrix);
66 explicit SearchVector(
double aFillValue);
68 SearchVector& operator+=(
const SearchVector& aOther);
69 SearchVector& operator-=(
const SearchVector& aOther);
70 SearchVector operator+(
const SearchVector& aOther)
const;
71 SearchVector operator*(
double aScalar)
const;
73 UtVec3d Velocity()
const;
75 double Component(
int aIndex)
const;
77 static SearchVector UnitVector(
int aIndex,
double aValue = 1.0);
79 static const int cDIMENSION = 3;
90 void SetColumn(
int aIndex,
const StateVector& aColumn);
91 SearchVector InverseProduct(
const StateVector& aState)
const;
93 static const int cDIMENSION = 3;
UtLambertProblem::Result SolveLambertProblem(const ut::CentralBody &aCentralBody, const UtVec3d &aLocationECI_1, const UtVec3d &aLocationECI_2, double aDt, bool aShortWay, bool aAllowHitsEarth, double aConvergenceTolerance=1.0e-12) const override
Definition WsfNonClassicalOrbitalPropagator.cpp:32
~WsfNonClassicalOrbitalPropagator() override=default
WsfNonClassicalOrbitalPropagator(std::unique_ptr< ut::OrbitalState > aInitialOrbitalStatePtr)
Definition WsfNonClassicalOrbitalPropagator.cpp:19
WsfNonClassicalOrbitalPropagator & operator=(const WsfNonClassicalOrbitalPropagator &aOther)=delete
std::unique_ptr< UtOrbitalPropagatorBase > GetManeuveringPropagator() const override
Definition WsfNonClassicalOrbitalPropagator.cpp:24
WsfNonClassicalOrbitalPropagator(const WsfNonClassicalOrbitalPropagator &aOther)=default
A class that provides a complete interface for implementing orbital propagation in derived classes.
Definition WsfOrbitalPropagator.hpp:27