Module: planetEphemeris
Executive Summary
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.
Message Connection Descriptions
The following table lists all the module input and output messages. The module msg connection is set by the user from python. The msg type contains a link to the message structure definition, while the description provides information on what this message is used for.
Msg Variable Name |
Msg Type |
Description |
---|---|---|
planetOutMsgs |
vector of planet spice state output messages |
-
class PlanetEphemeris : public SysModel
- #include <planetEphemeris.h>
planet ephemeris class
Public Functions
-
PlanetEphemeris()
This constructor initializes the variables.
-
~PlanetEphemeris()
Module deconstructor
-
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.
- Parameters:
CurrentSimNanos – The current clock time for the simulation
- Returns:
void
-
void setPlanetNames(std::vector<std::string> planetNames)
add list of planet names
Public Members
-
std::vector<Message<SpicePlanetStateMsgPayload>*> planetOutMsgs
— vector of planet state output messages
-
std::vector<ClassicElements> planetElements
— Vector of planet classical orbit elements
-
std::vector<double> rightAscension
[r] right ascension of the north pole rotation axis (pos. 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 (pos. 3-axis)
-
std::vector<double> rotRate
[r/s] planet rotation rate
-
BSKLogger bskLogger
— BSK Logging
-
PlanetEphemeris()