Earth Observation Mission CFI Software Lib Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.26 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 00041 StateVector(const StateVector& other); 00042 00044 ~StateVector() NOEXCEPT{}; 00045 00048 StateVector& operator=(const StateVector& other); 00049 00060 StateVector change(const ModelId& modelId, long deriv, long newCS) const; 00061 00065 void setSun(const ModelId& modelId, Time& time); 00066 00070 void setMoon(const ModelId& modelId, Time& time); 00071 00075 void setPlanet(const ModelId& modelId, Time& time, long planet); 00076 00086 void getPositionOnOrbit(const ModelId& modelId, 00087 long angleType, 00088 long deriv, 00089 double& angle, 00090 double& angleRate, 00091 double& angleRateRate) const; 00092 00093 protected: 00094 private: 00095 }; 00096 00097 } // namespace EECFI 00098 00099 #endif