Earth Observation Mission CFI Software Lib Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.21 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 //--INCLUDE----------------------------------------------------------- 00013 #include <CfiClass.h> 00014 #include <CfiError.h> 00015 #include <Coord.h> 00016 #include <EETime.h> 00017 #include <LibData.h> 00018 #include <ModelId.h> 00019 00020 //--NAMESPACES-------------------------------------------------------- 00021 00022 namespace EECFI 00023 { 00027 class XL_DECL StateVector : public CfiClass 00028 { 00029 public: 00030 Time time; 00031 Coord coord; 00032 00034 StateVector(){}; 00035 00037 StateVector(const Time& time, const Coord& coord); 00038 00040 ~StateVector() NOEXCEPT{}; 00041 00052 StateVector change(const ModelId& modelId, long deriv, long newCS) const; 00053 00057 void setSun(const ModelId& modelId, Time& time); 00058 00062 void setMoon(const ModelId& modelId, Time& time); 00063 00067 void setPlanet(const ModelId& modelId, Time& time, long planet); 00068 00078 void getPositionOnOrbit(const ModelId& modelId, 00079 long angleType, 00080 long deriv, 00081 double& angle, 00082 double& angleRate, 00083 double& angleRateRate) const; 00084 00085 protected: 00086 private: 00087 }; 00088 00089 } // namespace EECFI 00090 00091 #endif