![]() |
Earth Observation Mission CFI Software DataHandling Software User Manual |
![]() |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.16 00003 //-------------------------------------------------------- 00004 00005 00006 #ifndef _ORBITFILEDIAGNOSTICS_H 00007 #define _ORBITFILEDIAGNOSTICS_H 00008 00009 //-INCLUDE--------------------------------------------- 00010 #include "EEFile.h" 00011 #include "CfiError.h" 00012 #include "SP3File.h" 00013 #include "OemFile.h" 00014 #include "DorisFile.h" 00015 #include "OsvRec.h" 00016 #include "OsfRec.h" 00017 #include "OrbitFile.h" 00018 00019 #include <string> 00020 #include <vector> 00021 00022 //-NAMESPACES------------------------------------------ 00023 using namespace std; 00024 00025 namespace EECFI 00026 { 00030 class XD_DECL OrbitFileDiagnosticsSettings 00031 { 00032 public: 00033 double gapThreshold; 00034 double duplicatedOsvThreshold; 00035 double timeStep; 00036 double timeStepThreshold; 00037 long timeRef; 00038 00039 00041 OrbitFileDiagnosticsSettings(); 00042 00044 ~OrbitFileDiagnosticsSettings(); 00045 00046 protected: 00047 00048 private: 00049 00050 };//class OrbitFileDiagnosticsSettings 00051 00055 class XD_DECL OrbitFileDiagnosticsReport 00056 { 00057 public: 00058 long osvListId; 00059 long numOsv; 00060 double totalTime; 00061 double timeFirstOsv; 00062 double timeLastOsv; 00063 long timeRef; 00064 vector<double> timeStartGap; 00065 vector<double> timeStopGap; 00066 vector<long> indexGap; 00067 long numGaps; 00068 vector<double> timeGoingBackOsv; 00069 vector<long> indexGoingBackOsv; 00070 long numGoingBackOsv; 00071 vector<double> timeDuplicatedOsv; 00072 vector<long> indexDuplicatedOsv; 00073 long numDuplicatedOsv; 00074 vector<double> timeInconsistentOrbitNumber; 00075 vector<long> indexInconsistentOrbitNumber; 00076 long numInconsistentOrbitNumber; 00077 vector<double> timeNonEquallySpacedOsv; 00078 vector<long> indexNonEquallySpacedOsv; 00079 long numNonEquallySpacedOsv; 00080 00082 OrbitFileDiagnosticsReport(); 00083 00085 ~OrbitFileDiagnosticsReport(); 00086 00087 friend class OrbitFileDiagnostics; 00088 00089 protected: 00091 OrbitFileDiagnosticsReport(void *diagnostics_report); 00092 00093 private: 00094 00095 };//class OrbitFileDiagnosticsReport 00096 00100 class XD_DECL OrbitFileDiagnostics:CfiClass 00101 { 00102 public: 00103 OrbitFileDiagnosticsSettings diagnosticsSettings; 00104 vector<OrbitFileDiagnosticsReport> diagnosticsReport; 00105 00106 00108 OrbitFileDiagnostics(); 00109 00111 ~OrbitFileDiagnostics(); 00112 00114 void computeDiagnostics(string fileNam) throw (CfiError); 00115 00117 void computeDiagnostics(OrbitFile file) throw (CfiError); 00118 00120 void computeDiagnostics(OemFile file) throw (CfiError); 00121 00123 void computeDiagnostics(SP3File file) throw (CfiError); 00124 00125 protected: 00126 00127 private: 00128 00129 };//class OrbitFileDiagnostics 00130 }//namespace EECFI 00131 00132 #endif