Earth Observation Mission CFI Software Lib Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.18 00003 //-------------------------------------------------------- 00004 00005 //-------------------------------------------------------------------- 00006 // CVS Info: $Id: TimeCorrelation.h,v 1.19 2014-02-20 20:02:29 cavm Exp $ 00007 //-------------------------------------------------------------------- 00008 00009 00010 #ifndef __TIMECORRELATION__ 00011 #define __TIMECORRELATION__ 00012 00013 //--INCLUDE----------------------------------------------------------- 00014 #include "LibData.h" 00015 #include "CfiError.h" 00016 #include "CfiId.h" 00017 #include "OsvRec.h" 00018 #include "OsfFile.h" 00019 #include "OrbitFile.h" 00020 #include "DorisFile.h" 00021 #include "IersFile.h" 00022 #include "IersBulletinFile.h" 00023 00024 //--NAMESPACES-------------------------------------------------------- 00025 00026 namespace EECFI 00027 { 00028 00032 class XL_DECL TimeCorrelation: public CfiId 00033 { 00034 friend class Time; 00035 friend class OrbitId; 00036 friend class OrbitFunc; 00037 friend class SatNomTransId; 00038 friend class SatTransId; 00039 friend class InstrTransId; 00040 friend class Attitude; 00041 friend class AttitudeDef; // AN-526 00042 00043 public: 00044 00046 explicit TimeCorrelation(double time_corr[4]) ; 00047 00049 TimeCorrelation(long timeModel, const std::vector<std::string> &timeFiles, 00050 const TimeInterval &time, 00051 TimeInterval &valTime) ; 00052 00054 TimeCorrelation(long timeModel, const std::vector<std::string> &timeFiles, 00055 long timeRef, 00056 const OrbitInterval &orbits, 00057 TimeInterval &valTime) ; 00058 00060 TimeCorrelation(long timeModel, const std::vector<std::string> &timeFiles, 00061 long timeRef, 00062 TimeInterval &valTime) ; 00063 00065 TimeCorrelation(long timeModel, 00066 const std::vector<OsfFile> &fileData, 00067 const TimeInterval &time, 00068 TimeInterval &valTime) ; 00069 00071 TimeCorrelation(long timeModel, 00072 const std::vector<OsfFile> &fileData, 00073 long timeRef, 00074 const OrbitInterval &orbits, 00075 TimeInterval &valTime) ; 00076 00078 TimeCorrelation(long timeModel, 00079 const std::vector<OsfFile> &fileData, 00080 long timeRef, 00081 TimeInterval &valTime) ; 00082 00084 TimeCorrelation(long timeModel, 00085 const std::vector<OrbitFile> &fileData, 00086 const TimeInterval &time, 00087 TimeInterval &valTime) ; 00088 00090 TimeCorrelation(long timeModel, 00091 const std::vector<OrbitFile> &fileData, 00092 long timeRef, 00093 const OrbitInterval &orbits, 00094 TimeInterval &valTime) ; 00095 00097 TimeCorrelation(long timeModel, 00098 const std::vector<OrbitFile> &fileData, 00099 long timeRef, 00100 TimeInterval &valTime) ; 00101 00103 TimeCorrelation(long timeModel, 00104 const std::vector<DorisFile> &fileData, 00105 const TimeInterval &time, 00106 TimeInterval &valTime) ; 00107 00109 TimeCorrelation(long timeModel, 00110 const std::vector<DorisFile> &fileData, 00111 long timeRef, 00112 const OrbitInterval &orbits, 00113 TimeInterval &valTime) ; 00114 00116 TimeCorrelation(long timeModel, 00117 const std::vector<DorisFile> &fileData, 00118 long timeRef, 00119 TimeInterval &valTime) ; 00120 00121 00123 TimeCorrelation(long timeModel, 00124 const std::vector<IersBulletinFile> &fileData, 00125 const TimeInterval &time, 00126 TimeInterval &valTime) ; 00127 00129 TimeCorrelation(long timeModel, 00130 const std::vector<IersBulletinFile> &fileData, 00131 long timeRef, 00132 const OrbitInterval &orbits, 00133 TimeInterval &valTime) ; 00134 00136 TimeCorrelation(long timeModel, 00137 const std::vector<IersBulletinFile> &fileData, 00138 long timeRef, 00139 TimeInterval &valTime) ; 00140 00142 TimeCorrelation(const TimeCorrelationData &timeData, 00143 long timeRef, 00144 TimeInterval &valTime) ; 00145 00146 00148 TimeCorrelation(); 00149 00151 ~TimeCorrelation() EXCEPT; 00152 00154 TimeCorrelationData getData() const; 00155 00159 void getLeapSecondInfo(long asciiFormat, 00160 long &leapFlag, 00161 std::string &UtcTimeBeforeLeap, 00162 std::string &UtcTimeAfterLeap) const; 00163 00165 void setData(const TimeCorrelationData &timeCorr); 00166 00167 protected: 00168 00170 GenericId* getId(); // this is the xl_time_id variable 00171 00173 void eraseObject() ; 00174 00175 private: 00176 00178 void FileInitialisation(long timeModel, const std::vector<std::string> &timeFiles, 00179 long timeInitMode, long timeRef, 00180 const TimeInterval &time, 00181 const OrbitInterval &orbits, 00182 TimeInterval &valTime) ; 00183 00185 void FileDataInitialisation(long timeModel, 00186 void *fileData, 00187 long timeInitMode, long timeRef, 00188 const TimeInterval &time, 00189 const OrbitInterval &orbits, 00190 TimeInterval &valTime) ; 00191 00192 00193 }; 00194 00195 } // closing namespace 00196 00197 #endif