12#ifndef WSFNORAD_ORBITALPROPAGATOR_HPP
13#define WSFNORAD_ORBITALPROPAGATOR_HPP
15#include "wsf_space_export.h"
18#include "UtCloneablePtr.hpp"
20#include "UtOrbitalState.hpp"
48 bool Initialize(
const UtCalendar& aInitialTime)
override;
49 using WsfNonClassicalOrbitalPropagator::Initialize;
65 double GetTimeToNorthernIntersection(
double aTargetRAAN,
double aTargetInclination,
unsigned aOrbitNum = 0)
const override;
66 double GetTimeToSouthernIntersection(
double aTargetRAAN,
double aTargetInclination,
unsigned aOrbitNum = 0)
const override;
68 bool SetInitialOrbitalState(
const ut::OrbitalState& aState)
override;
71 void Propagate(
const UtCalendar& aTime)
override;
73 void UpdateOrbitalState()
override;
77 void PostPropagate()
override;
80 int SelectEphemeris();
86 void SGP4(
double tsince);
89 void SGP8(
double tsince);
92 void SDP4(
double tsince);
95 void SDP8(
double tsince);
97 static const int DEEP_ARG_T_PARAMS = 87;
98 static const int N_SAT_PARAMS = (11 + DEEP_ARG_T_PARAMS);
100 ut::OrbitalState mPropagatedOrbitalState;
103 std::unique_ptr<WsfNORAD_Util::tle_t> tle{
nullptr};
105 bool mSimpleFlag{
false};
107 double params[N_SAT_PARAMS];
108 double mPos[3]{0.0, 0.0, 0.0};
109 double mVel[3]{0.0, 0.0, 0.0};
WsfNORAD_OrbitalPropagator()
Definition WsfNORAD_OrbitalPropagator.cpp:25
int GetEphemerisType() const
Definition WsfNORAD_OrbitalPropagator.hpp:63
EphemerisType
Definition WsfNORAD_OrbitalPropagator.hpp:53
@ cSDP8
Definition WsfNORAD_OrbitalPropagator.hpp:58
@ cSGP4
Definition WsfNORAD_OrbitalPropagator.hpp:55
@ cSGP
Definition WsfNORAD_OrbitalPropagator.hpp:54
@ cSGP8
Definition WsfNORAD_OrbitalPropagator.hpp:56
@ cSDP4
Definition WsfNORAD_OrbitalPropagator.hpp:57
~WsfNORAD_OrbitalPropagator() override=default
WsfNORAD_OrbitalPropagator & operator=(const WsfNORAD_OrbitalPropagator &)=delete
bool HyperbolicPropagationAllowed() const override
Definition WsfNORAD_OrbitalPropagator.hpp:75
WsfNORAD_OrbitalPropagator * Clone() const override
Definition WsfNORAD_OrbitalPropagator.hpp:42
WsfNonClassicalOrbitalPropagator(std::unique_ptr< ut::OrbitalState > aInitialOrbitalStatePtr)
Definition WsfNonClassicalOrbitalPropagator.cpp:19
std::function< std::unique_ptr< UtOrbitalPropagatorBase >(const std::string &)> FactoryPtr
Definition WsfOrbitalPropagatorTypes.hpp:35
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111