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¶ 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
-