WSF
WsfDE_File Class Reference

#include <WsfDE_File.hpp>

Classes

struct  Date
struct  Workspace
class  Error

Public Types

enum class  Body : int {
  cMERCURY = 0 , cVENUS = 1 , cEARTH = 2 , cMARS = 3 ,
  cJUPITER = 4 , cSATURN = 5 , cURANUS = 6 , cNEPTUNE = 7 ,
  cPLUTO = 8 , cMOON = 9 , cSUN = 10 , cSOLAR_SYSTEM_BARYCENTER = 11 ,
  cEARTH_MOON_BARYCENTER = 12
}
 The possible bodies that can be the target or center of the provided ephemeris. More...

Public Member Functions

 WsfDE_File (const std::string &aFileName)
 ~WsfDE_File ()=default
void GetPlanetEphemeris (const Date &aEpoch, Body aTarget, Body aOrigin, Workspace &aWorkspace, UtVec3d &aPosition, UtVec3d &aVelocity) const
int GetDE_Num () const
 Return the number of the ephemeris.
double GetFileStartJD () const
 Return the Julian date of the earliest time in the ephemeris.
double GetFileEndJD () const
 Return the Julian date of the latest time in the ephemeris.
const std::string & GetFileName () const
 Return the name of the DE file this object represents.

Detailed Description

This class provides an interface to a JPL Development Ephemeris (DE) file.

This file may contain a good amount of data, so sharing of this data is enabled via WsfDE_FileHandle, which provides the interface that clients should use. This class supports the following ephemerides: DE102, DE200, DE202, DE403, DE405, DE410, DE413, DE414, DE418, DE421, DE422, DE423, DE424, DE430, DE431, DE433, DE434, DE435, DE436, DE438, DE404, and DE406 format files.

This class does not support the "t" variants of these files (DE430t, DE432t, DE436t, and DE438t). Also note that some objects are not currently exposed by this class (e.g., lunar libration offsets).

Member Enumeration Documentation

◆ Body

enum class WsfDE_File::Body : int
strong

The possible bodies that can be the target or center of the provided ephemeris.

Enumerator
cMERCURY 
cVENUS 
cEARTH 
cMARS 
cJUPITER 
cSATURN 
cURANUS 
cNEPTUNE 
cPLUTO 
cMOON 
cSUN 
cSOLAR_SYSTEM_BARYCENTER 
cEARTH_MOON_BARYCENTER 

Constructor & Destructor Documentation

◆ WsfDE_File()

WsfDE_File::WsfDE_File ( const std::string & aFileName)
explicit

◆ ~WsfDE_File()

WsfDE_File::~WsfDE_File ( )
default

Member Function Documentation

◆ GetDE_Num()

int WsfDE_File::GetDE_Num ( ) const
inline

Return the number of the ephemeris.

◆ GetFileEndJD()

double WsfDE_File::GetFileEndJD ( ) const
inline

Return the Julian date of the latest time in the ephemeris.

◆ GetFileName()

const std::string & WsfDE_File::GetFileName ( ) const
inline

Return the name of the DE file this object represents.

◆ GetFileStartJD()

double WsfDE_File::GetFileStartJD ( ) const
inline

Return the Julian date of the earliest time in the ephemeris.

◆ GetPlanetEphemeris()

void WsfDE_File::GetPlanetEphemeris ( const Date & aEpoch,
Body aTarget,
Body aOrigin,
Workspace & aWorkspace,
UtVec3d & aPosition,
UtVec3d & aVelocity ) const

Get the position and velocity for a body relative to another.

Retrieve the position and velocity of the aTarget relative to aOrigin at the given aEpoch. The position and velocity will be given in the ICRF. The input aEpoch is a two-component Julian date, where the epoch at which the ephemeris will be given is the sum of the two components. For simplicity, the full Julian date can be placed in the first component. However, for highest precision interpolation, aTimeJD should have its first component equal to the most recent midnight at or before the interpolation epoch, and the second component equal to the fraction of a day since that midnight.

The input time is on the TDB scale which is different from TT by periodic variations of magnitude less that 1.6 ms.

Parameters
aEpoch- The epoch at which to produce the ephemeris.
aTarget- The target body.
aOrigin- The body to use as origin.
aWorkspace[inout] - The handle's workspace, used to store values that might be reused.
aPosition[out] - The ephemeris position in km.
aVelocity[out] - The ephemeris velocity in km/s.

References cEARTH, cEARTH_MOON_BARYCENTER, cMOON, and cSOLAR_SYSTEM_BARYCENTER.


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved