Earth Observation Mission CFI Software DataHandling Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.10 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 "explorer_data_handling.h" 00020 00021 #include <string> 00022 #include <vector> 00023 00024 //-NAMESPACES------------------------------------------ 00025 using namespace std; 00026 00027 namespace EECFI 00028 { 00032 class OrbitFileDiagnosticsSettings 00033 { 00034 public: 00035 double gapThreshold; 00036 double duplicatedOsvThreshold; 00037 double timeStep; 00038 double timeStepThreshold; 00039 long timeRef; 00040 00041 00043 OrbitFileDiagnosticsSettings(); 00044 00046 ~OrbitFileDiagnosticsSettings(); 00047 00048 protected: 00049 00050 private: 00051 00052 };//class OrbitFileDiagnosticsSettings 00053 00057 class OrbitFileDiagnosticsReport 00058 { 00059 public: 00060 long osvListId; 00061 long numOsv; 00062 double totalTime; 00063 double timeFirstOsv; 00064 double timeLastOsv; 00065 long timeRef; 00066 vector<double> timeStartGap; 00067 vector<double> timeStopGap; 00068 vector<long> indexGap; 00069 long numGaps; 00070 vector<double> timeGoingBackOsv; 00071 vector<long> indexGoingBackOsv; 00072 long numGoingBackOsv; 00073 vector<double> timeDuplicatedOsv; 00074 vector<long> indexDuplicatedOsv; 00075 long numDuplicatedOsv; 00076 vector<double> timeInconsistentOrbitNumber; 00077 vector<long> indexInconsistentOrbitNumber; 00078 long numInconsistentOrbitNumber; 00079 vector<double> timeNonEquallySpacedOsv; 00080 vector<long> indexNonEquallySpacedOsv; 00081 long numNonEquallySpacedOsv; 00082 00084 OrbitFileDiagnosticsReport(); 00085 00087 OrbitFileDiagnosticsReport(xd_orbit_file_diagnostics_report_single *diagnostics_report); 00088 00090 ~OrbitFileDiagnosticsReport(); 00091 00092 protected: 00093 00094 private: 00095 00096 };//class OrbitFileDiagnosticsReport 00097 00101 class OrbitFileDiagnostics:CfiClass 00102 { 00103 public: 00104 OrbitFileDiagnosticsSettings diagnosticsSettings; 00105 vector<OrbitFileDiagnosticsReport> diagnosticsReport; 00106 00107 00109 OrbitFileDiagnostics(); 00110 00112 ~OrbitFileDiagnostics(); 00113 00115 void computeDiagnostics(string fileNam) throw (CfiError); 00116 00118 void computeDiagnostics(OrbitFile file) throw (CfiError); 00119 00121 void computeDiagnostics(OemFile file) throw (CfiError); 00122 00124 void computeDiagnostics(SP3File file) throw (CfiError); 00125 00126 protected: 00127 00128 private: 00129 00130 };//class OrbitFileDiagnostics 00131 }//namespace EECFI 00132 00133 #endif