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: TimeCorrelation.h,v 1.19 2014-02-20 20:02:29 cavm Exp $ 00007 //-------------------------------------------------------------------- 00008 00009 #ifndef __TIMECORRELATION__ 00010 #define __TIMECORRELATION__ 00011 00012 //--INCLUDE----------------------------------------------------------- 00013 #include <CfiError.h> 00014 #include <CfiId.h> 00015 #include <DorisFile.h> 00016 #include <IersBulletinFile.h> 00017 #include <IersFile.h> 00018 #include <LibData.h> 00019 #include <OrbitFile.h> 00020 #include <OsfFile.h> 00021 #include <OsvRec.h> 00022 00023 //--NAMESPACES-------------------------------------------------------- 00024 00025 namespace EECFI 00026 { 00030 class XL_DECL TimeCorrelation : public CfiId 00031 { 00032 friend class Time; 00033 friend class OrbitId; 00034 friend class SatNomTransId; 00035 friend class SatTransId; 00036 friend class InstrTransId; 00037 friend class Attitude; 00038 friend class AttitudeDef; // AN-526 00039 friend struct GenericInternals<TimeCorrelation>; // AN-823 00040 00041 public: 00043 explicit TimeCorrelation(double time_corr[4]); 00044 00046 TimeCorrelation(long timeModel, const std::vector<std::string>& timeFiles, const TimeInterval& time, TimeInterval& valTime); 00047 00049 TimeCorrelation(long timeModel, const std::vector<std::string>& timeFiles, long timeRef, const OrbitInterval& orbits, TimeInterval& valTime); 00050 00052 TimeCorrelation(long timeModel, const std::vector<std::string>& timeFiles, long timeRef, TimeInterval& valTime); 00053 00055 TimeCorrelation(long timeModel, 00056 const std::vector<OsfFile>& fileData, 00057 const TimeInterval& time, 00058 TimeInterval& valTime); 00059 00061 TimeCorrelation(long timeModel, 00062 const std::vector<OsfFile>& fileData, 00063 long timeRef, 00064 const OrbitInterval& orbits, 00065 TimeInterval& valTime); 00066 00068 TimeCorrelation(long timeModel, 00069 const std::vector<OsfFile>& fileData, 00070 long timeRef, 00071 TimeInterval& valTime); 00072 00074 TimeCorrelation(long timeModel, 00075 const std::vector<OrbitFile>& fileData, 00076 const TimeInterval& time, 00077 TimeInterval& valTime); 00078 00080 TimeCorrelation(long timeModel, 00081 const std::vector<OrbitFile>& fileData, 00082 long timeRef, 00083 const OrbitInterval& orbits, 00084 TimeInterval& valTime); 00085 00087 TimeCorrelation(long timeModel, 00088 const std::vector<OrbitFile>& fileData, 00089 long timeRef, 00090 TimeInterval& valTime); 00091 00093 TimeCorrelation(long timeModel, 00094 const std::vector<DorisFile>& fileData, 00095 const TimeInterval& time, 00096 TimeInterval& valTime); 00097 00099 TimeCorrelation(long timeModel, 00100 const std::vector<DorisFile>& fileData, 00101 long timeRef, 00102 const OrbitInterval& orbits, 00103 TimeInterval& valTime); 00104 00106 TimeCorrelation(long timeModel, 00107 const std::vector<DorisFile>& fileData, 00108 long timeRef, 00109 TimeInterval& valTime); 00110 00112 TimeCorrelation(long timeModel, 00113 const std::vector<IersBulletinFile>& fileData, 00114 const TimeInterval& time, 00115 TimeInterval& valTime); 00116 00118 TimeCorrelation(long timeModel, 00119 const std::vector<IersBulletinFile>& fileData, 00120 long timeRef, 00121 const OrbitInterval& orbits, 00122 TimeInterval& valTime); 00123 00125 TimeCorrelation(long timeModel, 00126 const std::vector<IersBulletinFile>& fileData, 00127 long timeRef, 00128 TimeInterval& valTime); 00129 00131 TimeCorrelation(const TimeCorrelationData& timeData, 00132 long timeRef, 00133 TimeInterval& valTime); 00134 00136 TimeCorrelation(); 00137 00139 virtual ~TimeCorrelation() EXCEPT; 00140 00142 TimeCorrelationData getData() const; 00143 00147 void getLeapSecondInfo(long asciiFormat, 00148 long& leapFlag, 00149 std::string& UtcTimeBeforeLeap, 00150 std::string& UtcTimeAfterLeap) const; 00151 00153 void setData(const TimeCorrelationData& timeCorr); 00154 00156 void operator=(const TimeCorrelation& timeIdIn); // AN-872 00157 00158 protected: 00160 void eraseObject(); 00161 00163 GenericId* getId() const; // this is the xl_time_id variable 00164 00165 private: 00167 void FileInitialisation(long timeModel, const std::vector<std::string>& timeFiles, long timeInitMode, long timeRef, const TimeInterval& time, const OrbitInterval& orbits, TimeInterval& valTime); 00168 00170 void FileDataInitialisation(long timeModel, 00171 void* fileData, 00172 long timeInitMode, 00173 long timeRef, 00174 const TimeInterval& time, 00175 const OrbitInterval& orbits, 00176 TimeInterval& valTime); 00177 }; 00178 00179 } // namespace EECFI 00180 00181 #endif