eclipse¶
The eclipse class gets generates sun illumination state at a particular inertial position.
The module
PDF Description
contains further information on this module’s function,
how to run it, as well as testing.
- 
class Eclipse: public SysModel¶
- Public Functions - 
Eclipse()¶
 - 
~Eclipse()¶
 - 
void SelfInit()¶
- This method initializes the object. It creates the module’s output messages. - Return
- void 
 
 - 
void CrossInit()¶
- This method subscribes to the spice planet states and spaceccraft state messages. - Return
- void 
 
 - 
void UpdateState(uint64_t CurrentSimNanos)¶
- This method governs the calculation and checking for eclipse conditions. - Return
- void 
- Parameters
- CurrentSimNanos: The current clock time for the simulation
 
 
 - 
void writeOutputMessages(uint64_t CurrentClock)¶
- This method takes the computed shadow factors and outputs them to the m messaging system. - Return
- void 
- Parameters
- CurrentClock: The current simulation time (used for time stamping)
 
 
 - 
std::string addPositionMsgName(std::string msgName)¶
- This method adds spacecraft state data message names to a vector, creates a new unique output message name for the eclipse data message and returns this to the user so that they may assign the eclipse message name to other modules requiring eclipse data. methods. - Return
- std::string newEclipseMsgName The unique eclipse data msg name associated with the given input state message name. 
- Parameters
- std::string: msgName The message name for the spacecraft state data for which to compute the eclipse data.
 
 
 - 
void addPlanetName(std::string planetName)¶
- This method adds spacecraft state data message names to a vector, creates a new unique output message name for the eclipse data message and returns this to the user so that they may assign the eclipse message name to other modules requiring eclipse data. methods. - Return
- std::string newEclipseMsgName The unique eclipse data msg name associated with the given input state message name. 
- Parameters
- std::string: msgName The message name for the spacecraft state data for which to compute the eclipse data.
 
 
 - Public Members - 
uint64_t outputBufferCount¶
- Number of output buffers to use 
 - 
std::string sunInMsgName¶
- Internal vector of planets 
 - Private Functions - 
void readInputMessages()¶
- This method reads the spacecraft state and spice planet states from the messaging system. - Return
- void 
- Parameters
- CurrentClock: The current simulation time (used for time stamping)
 
 
 - 
double computePercentShadow(double planetRadius, Eigen::Vector3d r_HB_N, Eigen::Vector3d s_BP_N)¶
- This method computes the fraction of sunlight given an eclipse. - Return
- double fractionShadow The eclipse shadow fraction. 
- Parameters
- std::string: msgName .
 
 
 - 
double getPlanetEquatorialRadius(std::string planetSpiceName)¶
- This method return planet radii. methods. - Return
- double The equatorial radius in metres associated with the given planet name. 
- Parameters
- std::string: planetSpiceName The planet name according to the spice NAIF Integer ID codes.
 
 
 - Private Members - 
std::vector<std::string> planetNames¶
- Names of planets we want to track 
 - 
std::vector<std::string> planetInMsgNames¶
- A vector of planet incoming message names ordered by the sequence in which planet names are added to the module 
 - 
std::map<int64_t, SpicePlanetStateSimMsg> planetInMsgIdAndStates¶
- A map of incoming planet message Ids and planet state ordered by the sequence in which planet names are added to the module 
 - 
std::vector<float> planetRadii¶
- [m] A vector of planet radii ordered by the sequence in which planet names are added to the module 
 - 
int64_t sunInMsgId¶
- Internal 
 - 
SpicePlanetStateSimMsg sunInMsgState¶
 - 
std::vector<std::string> positionMsgNames¶
- vector of msg names for each position state for which to evaluate eclipse conditions. 
 - 
std::map<int64_t, SCPlusStatesSimMsg> positionInMsgIdAndState¶
 - 
std::vector<int64_t> eclipseOutMsgId¶
 - 
std::vector<std::string> eclipseOutMsgNames¶
 - 
std::vector<double> eclipseShadowFactors¶
 
-