Earth Observation Mission CFI Software Lib Software User Manual |
00001 //-------------------------------------------------------------------- 00002 // CVS Info: $Id: TimeCorrelation.h,v 1.12 2010/02/03 16:07:32 expcfi Exp $ 00003 //-------------------------------------------------------------------- 00004 00005 00006 #ifndef __TIMECORRELATION__ 00007 #define __TIMECORRELATION__ 00008 00009 //--INCLUDE----------------------------------------------------------- 00010 #include "LibData.h" 00011 #include "CfiError.h" 00012 #include "CfiId.h" 00013 00014 //--NAMESPACES-------------------------------------------------------- 00015 using namespace std; 00016 00017 namespace EECFI 00018 { 00019 00023 class TimeCorrelation: public CfiId 00024 { 00025 friend class Time; 00026 friend class OrbitId; 00027 friend class OrbitFunc; 00028 friend class SatNomTransId; 00029 friend class SatTransId; 00030 friend class InstrTransId; 00031 friend class Attitude; 00032 00033 public: 00034 00036 TimeCorrelation(double time_corr[4]) throw (CfiError); 00037 00039 TimeCorrelation(long timeModel, vector<string> timeFiles, 00040 TimeInterval time, 00041 TimeInterval &valTime) throw (CfiError); 00042 00044 TimeCorrelation(long timeModel, vector<string> timeFiles, 00045 long timeRef, 00046 OrbitInterval orbits, 00047 TimeInterval &valTime) throw (CfiError); 00048 00050 TimeCorrelation(long timeModel, vector<string> timeFiles, 00051 long timeRef, 00052 TimeInterval &valTime) throw (CfiError); 00053 00055 TimeCorrelation(); 00056 00058 ~TimeCorrelation() throw (CfiError); 00059 00061 TimeCorrelationData getData(); 00062 00066 void getLeapSecondInfo(long asciiFormat, 00067 long &leapFlag, 00068 string &UtcTimeBeforeLeap, 00069 string &UtcTimeAfterLeap) throw (CfiError); 00070 00072 void setData(TimeCorrelationData timeCorr); 00073 00074 protected: 00075 00077 GenericId* getId(); // this is the xl_time_id variable 00078 00080 void eraseObject() throw (CfiError); 00081 00082 private: 00083 00085 void FileInitialisation(long timeModel, vector<string> timeFiles, 00086 long timeInitMode, long timeRef, 00087 TimeInterval time, 00088 OrbitInterval orbits, 00089 TimeInterval &valTime) throw (CfiError); 00090 00091 }; 00092 00093 } // closing namespace 00094 00095 #endif