Earth Observation Mission CFI Software Lib Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.7 00003 //-------------------------------------------------------- 00004 00005 //-------------------------------------------------------------------- 00006 // CVS Info: $Id: StateVector.h,v 1.14 2014-02-20 20:02:29 cavm Exp $ 00007 //-------------------------------------------------------------------- 00008 00009 #ifndef _EECFI_STATEVECTOR_H 00010 #define _EECFI_STATEVECTOR_H 00011 00012 00013 //--INCLUDE----------------------------------------------------------- 00014 #include "LibData.h" 00015 #include "CfiClass.h" 00016 #include "CfiError.h" 00017 #include "EETime.h" 00018 #include "Coord.h" 00019 #include "ModelId.h" 00020 00021 //--NAMESPACES-------------------------------------------------------- 00022 using namespace std; 00023 00024 namespace EECFI 00025 { 00026 00030 class StateVector: public CfiClass 00031 { 00032 public: 00033 00034 Time time; 00035 Coord coord; 00036 00038 StateVector() {}; 00039 00041 StateVector(Time &time, Coord &coord); 00042 00044 ~StateVector() {}; 00045 00056 StateVector change( const ModelId &modelId, long deriv, long newCS) throw (CfiError); 00057 00061 void setSun( const ModelId &modelId, Time &time) throw (CfiError); 00062 00066 void setMoon( const ModelId &modelId, Time &time) throw (CfiError); 00067 00071 void setPlanet( const ModelId &modelId, Time &time, long planet) throw (CfiError); 00072 00076 // The latitude angle is the angle between the satellite position and the intersection of the orbital plane with a given reference plane. 00078 void getPositionOnOrbit( const ModelId &modelId, 00079 long angleType, long deriv, 00080 double &angle, 00081 double &angleRate, 00082 double &angleRateRate) throw (CfiError); 00083 protected: 00084 00085 private: 00086 00087 }; 00088 00089 } // closing namespace 00090 00091 #endif