12#ifndef WSFEARTHJ2TERM_HPP
13#define WSFEARTHJ2TERM_HPP
15#include "UtECI_Conversion.hpp"
17#include "UtSphericalEarth.hpp"
35 const UtCalendar& aTime,
36 const UtVec3d& aPosition,
37 const UtVec3d& aVelocity)
const override;
47 double GetJ2()
const {
return mJ2; }
48 void SetJ2(
double aJ2) { mJ2 = aJ2; }
52 constexpr static const char*
cTYPE{
"earth_j2"};
55 void RecomputePrefactor();
58 constexpr static double cDEFAULT_J2_VALUE{0.0010826267};
60 double mGravitationalParameter{UtEarth::cGRAVITATIONAL_PARAMETER};
61 double mEarthMeanRadius{UtSphericalEarth::cEARTH_MEAN_RADIUS};
62 double mJ2{cDEFAULT_J2_VALUE};
63 double mPrefactor{0.0};
void SetJ2(double aJ2)
Definition WsfEarthJ2Term.hpp:48
static constexpr double GetDefaultJ2Value()
Definition WsfEarthJ2Term.hpp:50
WsfEarthJ2Term(const WsfEarthJ2Term &aOther)=default
UtVec3d ComputeAcceleration(double aMass, const UtCalendar &aTime, const UtVec3d &aPosition, const UtVec3d &aVelocity) const override
Definition WsfEarthJ2Term.cpp:61
void SetEarthMeanRadius(double aMeanRadius)
Definition WsfEarthJ2Term.hpp:45
double GetJ2() const
Definition WsfEarthJ2Term.hpp:47
WsfEarthJ2Term()
Definition WsfEarthJ2Term.cpp:21
void SetGravitationalParameter(double aMu)
Definition WsfEarthJ2Term.hpp:42
double GetGravitationalParameter() const
Definition WsfEarthJ2Term.hpp:41
bool ProcessInput(UtInput &aInput) override
Definition WsfEarthJ2Term.cpp:27
static constexpr const char * cTYPE
Definition WsfEarthJ2Term.hpp:52
double GetEarthMeanRadius() const
Definition WsfEarthJ2Term.hpp:44
const char * GetScriptClassName() const override
Definition WsfEarthJ2Term.hpp:32
~WsfEarthJ2Term() override=default
WsfEarthJ2Term * Clone() const override
Definition WsfEarthJ2Term.hpp:30
std::string GetTermType() const override
Return a string indicating the type of term.
Definition WsfEarthJ2Term.hpp:39
WsfOrbitalDynamicsTerm()
Definition WsfOrbitalDynamicsTerm.hpp:34