![]() |
Earth Observation Mission CFI Software DataHandling Software User Manual |
![]() |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.22 00003 //-------------------------------------------------------- 00004 00005 #ifndef _ORBITFILEDIAGNOSTICS_H 00006 #define _ORBITFILEDIAGNOSTICS_H 00007 00008 //-INCLUDE--------------------------------------------- 00009 #include <CfiError.h> 00010 #include <DorisFile.h> 00011 #include <EEFile.h> 00012 #include <OemFile.h> 00013 #include <OrbitFile.h> 00014 #include <OsfRec.h> 00015 #include <OsvRec.h> 00016 #include <SP3File.h> 00017 #include <string> 00018 #include <vector> 00019 00020 //-NAMESPACES------------------------------------------ 00021 00022 namespace EECFI 00023 { 00027 class XD_DECL OrbitFileDiagnosticsSettings 00028 { 00029 public: 00030 double gapThreshold; 00031 double duplicatedOsvThreshold; 00032 double timeStep; 00033 double timeStepThreshold; 00034 long timeRef; 00035 00037 OrbitFileDiagnosticsSettings(); 00038 00040 ~OrbitFileDiagnosticsSettings() NOEXCEPT; 00041 00042 protected: 00043 private: 00044 }; //class OrbitFileDiagnosticsSettings 00045 00049 class XD_DECL OrbitFileDiagnosticsReport 00050 { 00051 public: 00052 long osvListId; 00053 long numOsv; 00054 double totalTime; 00055 double timeFirstOsv; 00056 double timeLastOsv; 00057 long timeRef; 00058 std::vector<double> timeStartGap; 00059 std::vector<double> timeStopGap; 00060 std::vector<long> indexGap; 00061 long numGaps; 00062 std::vector<double> timeGoingBackOsv; 00063 std::vector<long> indexGoingBackOsv; 00064 long numGoingBackOsv; 00065 std::vector<double> timeDuplicatedOsv; 00066 std::vector<long> indexDuplicatedOsv; 00067 long numDuplicatedOsv; 00068 std::vector<double> timeInconsistentOrbitNumber; 00069 std::vector<long> indexInconsistentOrbitNumber; 00070 long numInconsistentOrbitNumber; 00071 std::vector<double> timeNonEquallySpacedOsv; 00072 std::vector<long> indexNonEquallySpacedOsv; 00073 long numNonEquallySpacedOsv; 00074 00076 OrbitFileDiagnosticsReport(); 00077 00079 ~OrbitFileDiagnosticsReport() NOEXCEPT; 00080 00081 friend class OrbitFileDiagnostics; 00082 00083 protected: 00085 explicit OrbitFileDiagnosticsReport(const void* diagnostics_report); 00086 00087 private: 00088 }; //class OrbitFileDiagnosticsReport 00089 00093 class XD_DECL OrbitFileDiagnostics : CfiClass 00094 { 00095 public: 00096 OrbitFileDiagnosticsSettings diagnosticsSettings; 00097 std::vector<OrbitFileDiagnosticsReport> diagnosticsReport; 00098 00100 OrbitFileDiagnostics(); 00101 00103 ~OrbitFileDiagnostics() NOEXCEPT; 00104 00106 void computeDiagnostics(const std::string& fileNam); 00107 00109 void computeDiagnostics(const OrbitFile& file); 00110 00112 void computeDiagnostics(const OemFile& file); 00113 00115 void computeDiagnostics(const SP3File& file); 00116 00117 protected: 00118 private: 00119 }; //class OrbitFileDiagnostics 00120 } //namespace EECFI 00121 00122 #endif