Module: planetEphemeris¶
The planetEphemeris module uses classical heliocentric orbit elements to specify a planet’s position and velocity vectors.
Optionally, the planet’s orientation can also be specified through a right ascension angle, a declination angle, and a location sidereal time at epoch.  The planet rotation about its third (polar) axis can be specified as well.  If the planet attitude information is not complete or missing then an inertially fixed zero planet orientation is modeled.  The module is able to receive a stack or vector of classical orbit elements and orientation information to output a series of planet ephemeris messages. The module
PDF Description
contains further information on this module’s function, how to run it, as well as testing.
- 
class PlanetEphemeris: public SysModel¶
- #include <planetEphemeris.h>planet ephemeris class Public Functions - 
PlanetEphemeris()¶
- This constructor initializes the variables. 
 - 
~PlanetEphemeris()¶
- Module deconstructor 
 - 
void SelfInit()¶
- This method initializes the object. - Return
- void 
 
 - 
void Reset(uint64_t CurrentSimNanos)¶
 - 
void UpdateState(uint64_t CurrentSimNanos)¶
- This update routine loops over all the planets and creates their heliocentric position and velocity vectors at the current time. If the planet orientation information is provided, then this is computed as well. The default orientation information is a zero orientation. - Return
- void 
- Parameters
- CurrentSimNanos: The current clock time for the simulation
 
 
 Public Members - 
uint64_t outputBufferCount¶
- Number of output buffers to use 
 - 
std::vector<std::string> planetNames¶
- Array of planet names 
 - 
std::vector<classicElements> planetElements¶
- Array of planet classical orbit elements 
 - 
std::vector<double> rightAscension¶
- [r] right ascension of the north pole rotation axis (3-axis) 
 - 
std::vector<double> declination¶
- [r] Declination of the north pole rotation axis (neg. 2-axis) 
 - 
std::vector<double> lst0¶
- [r] initial planet local sidereal time angle 
 - 
std::vector<double> rotRate¶
- [r/s] planet rotation rate 
 - 
BSKLogger bskLogger¶
- BSK Logging 
 Private Members - 
std::vector<std::uint64_t> planetOutMsgId¶
- array of output message IDs 
 - 
double epochTime¶
- [s] time of provided planet ephemeris epoch 
 - 
int computeAttitudeFlag¶
- flag indicating if the planet orienation information is provided 
 - 
std::vector<Eigen::Vector3d> eHat_N¶
- planet north pole rotation axis 
 
-