Earth Observation Mission CFI Software Lib Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.10 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 using namespace std; 00026 00027 namespace EECFI 00028 { 00029 00033 class TimeCorrelation: public CfiId 00034 { 00035 friend class Time; 00036 friend class OrbitId; 00037 friend class OrbitFunc; 00038 friend class SatNomTransId; 00039 friend class SatTransId; 00040 friend class InstrTransId; 00041 friend class Attitude; 00042 friend class AttitudeDef; // AN-526 00043 00044 public: 00045 00047 TimeCorrelation(double time_corr[4]) throw (CfiError); 00048 00050 TimeCorrelation(long timeModel, vector<string> timeFiles, 00051 TimeInterval time, 00052 TimeInterval &valTime) throw (CfiError); 00053 00055 TimeCorrelation(long timeModel, vector<string> timeFiles, 00056 long timeRef, 00057 OrbitInterval orbits, 00058 TimeInterval &valTime) throw (CfiError); 00059 00061 TimeCorrelation(long timeModel, vector<string> timeFiles, 00062 long timeRef, 00063 TimeInterval &valTime) throw (CfiError); 00064 00066 TimeCorrelation(long timeModel, 00067 vector<OsfFile> fileData, 00068 TimeInterval time, 00069 TimeInterval &valTime) throw (CfiError); 00070 00072 TimeCorrelation(long timeModel, 00073 vector<OsfFile> fileData, 00074 long timeRef, 00075 OrbitInterval orbits, 00076 TimeInterval &valTime) throw (CfiError); 00077 00079 TimeCorrelation(long timeModel, 00080 vector<OsfFile> fileData, 00081 long timeRef, 00082 TimeInterval &valTime) throw (CfiError); 00083 00085 TimeCorrelation(long timeModel, 00086 vector<OrbitFile> fileData, 00087 TimeInterval time, 00088 TimeInterval &valTime) throw (CfiError); 00089 00091 TimeCorrelation(long timeModel, 00092 vector<OrbitFile> fileData, 00093 long timeRef, 00094 OrbitInterval orbits, 00095 TimeInterval &valTime) throw (CfiError); 00096 00098 TimeCorrelation(long timeModel, 00099 vector<OrbitFile> fileData, 00100 long timeRef, 00101 TimeInterval &valTime) throw (CfiError); 00102 00104 TimeCorrelation(long timeModel, 00105 vector<DorisFile> fileData, 00106 TimeInterval time, 00107 TimeInterval &valTime) throw (CfiError); 00108 00110 TimeCorrelation(long timeModel, 00111 vector<DorisFile> fileData, 00112 long timeRef, 00113 OrbitInterval orbits, 00114 TimeInterval &valTime) throw (CfiError); 00115 00117 TimeCorrelation(long timeModel, 00118 vector<DorisFile> fileData, 00119 long timeRef, 00120 TimeInterval &valTime) throw (CfiError); 00121 00122 00124 TimeCorrelation(long timeModel, 00125 vector<IersBulletinFile> fileData, 00126 TimeInterval time, 00127 TimeInterval &valTime) throw (CfiError); 00128 00130 TimeCorrelation(long timeModel, 00131 vector<IersBulletinFile> fileData, 00132 long timeRef, 00133 OrbitInterval orbits, 00134 TimeInterval &valTime) throw (CfiError); 00135 00137 TimeCorrelation(long timeModel, 00138 vector<IersBulletinFile> fileData, 00139 long timeRef, 00140 TimeInterval &valTime) throw (CfiError); 00141 00143 TimeCorrelation(const TimeCorrelationData &timeData, 00144 long timeRef, 00145 TimeInterval &valTime) throw (CfiError); 00146 00147 00149 TimeCorrelation(); 00150 00152 ~TimeCorrelation() throw (CfiError); 00153 00155 TimeCorrelationData getData(); 00156 00160 void getLeapSecondInfo(long asciiFormat, 00161 long &leapFlag, 00162 string &UtcTimeBeforeLeap, 00163 string &UtcTimeAfterLeap) throw (CfiError); 00164 00166 void setData(TimeCorrelationData timeCorr); 00167 00168 protected: 00169 00171 GenericId* getId(); // this is the xl_time_id variable 00172 00174 void eraseObject() throw (CfiError); 00175 00176 private: 00177 00179 void FileInitialisation(long timeModel, vector<string> timeFiles, 00180 long timeInitMode, long timeRef, 00181 TimeInterval time, 00182 OrbitInterval orbits, 00183 TimeInterval &valTime) throw (CfiError); 00184 00186 void FileDataInitialisation(long timeModel, 00187 void *fileData, 00188 long timeInitMode, long timeRef, 00189 TimeInterval time, 00190 OrbitInterval orbits, 00191 TimeInterval &valTime) throw (CfiError); 00192 00193 00194 }; 00195 00196 } // closing namespace 00197 00198 #endif