
In the process of incorporating code from Gino Tosti and collaborators.
Defined a tentative structure:
class OrbitInfo { public: inline std::ostream& fillStream( std::ostream& s ) const ; double time; // current time: sec in elapsed mission time. Hep3Vector r; // position (in km) of the spacecraft in Earth Inertial coordinates double lat, lon; // position of the spacecraft on the earth (deg) bool saa; // true if in SAA double sun_alpha, sun_delta; // sun position in celestial coords double moon_alpha, moon_delta; // moon position in celestial coords };and an abstract tool to fill it. Perhaps this should be a TDS class.
In process of adapting code to implement it.
Agreed with Francesco and Nicola that sky positions should be encapsulated by a class, (to be named "SkyDir"). It will "hide" the data representation, and return coordinates in galactic or celestial frames. Much better way to pass sun, moon info.
Also will create an interface to a tool that will implement a "rocking" strategy. (Allowing multiple implementations, from very simple to taking slewing rate and sun position into account.)