Earth Observation Mission CFI Software Orbit Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.18 00003 //-------------------------------------------------------- 00004 00005 //-------------------------------------------------------------------- 00006 // CVS Info: $Id: OrbitFunc.h,v 1.13 2014-02-20 20:02:31 cavm Exp $ 00007 //-------------------------------------------------------------------- 00008 00009 #ifndef _ORBITFUNC_H 00010 #define _ORBITFUNC_H 00011 00012 //--INCLUDE----------------------------------------------------------- 00013 #include "OrbitData.h" 00014 #include "CfiError.h" 00015 #include "CfiClass.h" 00016 #include "TimeCorrelation.h" 00017 #include "SatId.h" 00018 #include "ModelId.h" 00019 00020 //--NAMESPACES-------------------------------------------------------- 00021 00022 namespace EECFI 00023 { 00024 00028 class XO_DECL OrbitFunc: public CfiClass 00029 { 00030 public: 00032 OrbitFunc(); 00033 00035 ~OrbitFunc() NOEXCEPT; 00036 00038 static std::string genOef( const std::string &oef, const std::string &osf, const std::string &pof, const std::string &fileClass, 00039 long versionNumber, const std::string &fhSystem ) ; 00040 00044 static std::string genOsf( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, long absOrbitNum, 00045 long cycleNumber, long phaseNumber, long repeatCycle, 00046 long cycleLength, double anxLong, long driftMode, 00047 double inclination, double mlstDrift, double mlst, 00048 double date, const std::string &outputDir, const std::string &outputFileName, 00049 const std::string &fileClass, long versionNumber, const std::string &fhSystem ) ; 00050 00052 static std::string genOsf( const SatId &satId, const ModelId &modelId, const TimeCorrelation &timeCor, 00053 double date, const OrbitInfo &missionInfo, const RefOrbitInfo &refOrbitInfo, 00054 const std::string &outputDir, const std::string &outputFileName, 00055 const std::string &fileClass, long versionNumber, const std::string &fhSystem ) ; 00056 00060 static std::string genOsfAppendOrbitChange( const SatId &satId, const ModelId &modelId, 00061 const TimeCorrelation &timeCor, 00062 const std::string &inputFilename, long absOrbitNum, 00063 long repeatCycle, long cycleLength, double anxLong, 00064 long driftMode, double inclination, double mlstDrift, double mlst, 00065 long phaseIncrement, const std::string &outputDir, const std::string &outputFileName, 00066 const std::string &fileClass, long versionNumber, const std::string &fhSystem ) ; 00067 00069 static std::string genOsfAppendOrbitChange( const SatId &satId, const ModelId &modelId, 00070 const TimeCorrelation &timeCor, 00071 const std::string &inputFilename, long absOrbitNum, 00072 const RefOrbitInfo &refOrbitInfo, 00073 long phaseIncrement, const std::string &outputDir, const std::string &outputFileName, 00074 const std::string &fileClass, long versionNumber, const std::string &fhSystem ) ; 00075 00079 static std::string genOsfChangeRepeatCycle( const SatId &satId, const ModelId &modelId, 00080 const TimeCorrelation &timeCor, 00081 const std::string &inputFileName, long absOrbitNum, long searchDirection, 00082 long repeatCycle, long cycleLength, double anxLong, 00083 long driftMode, double inclination, double mlstDrift, 00084 long phaseIncrement, const std::string &outputDir, const std::string &outputFileName, 00085 const std::string &fileClass, long versionNumber, const std::string &fhSystem ) ; 00086 00088 static std::string genOsfChangeRepeatCycle( const SatId &satId, const ModelId &modelId, 00089 const TimeCorrelation &timeCor, 00090 const std::string &inputFileName, long absOrbitNum, long searchDirection, 00091 const RefOrbitInfo &refOrbitInfo, 00092 long phaseIncrement, const std::string &outputDir, const std::string &outputFileName, 00093 const std::string &fileClass, long versionNumber, const std::string &fhSystem ) ; 00094 00096 static std::string genOsfAddDriftCycle( const SatId &satId, const ModelId &modelId, 00097 const TimeCorrelation &timeCor, 00098 const std::string &inputFileName, long driftStartOrbit, long driftStopOrbit, 00099 double driftStopAnxLong, double maxAltitudeChange, 00100 long phaseIncStart, long phaseIncStop, 00101 const std::string &outputDir, const std::string &outputFileName, 00102 const std::string &fileClass, long versionNumber, const std::string &fhSystem) ; 00103 00105 static std::string genPof( const SatId &satId, const ModelId &modelId, 00106 const TimeCorrelation &timeCor, long timeRef, 00107 long timeInit, double startTime, double stopTime, 00108 long startOrbit, long stopOrbit, double osvLocation, 00109 long refFiletype, const std::string &referenceFile, 00110 const std::string &preciseConfFile, 00111 long pofFileType, 00112 const std::string &outputDir, const std::string &outputFileName, 00113 const std::string &fileClass, long versionNumber, const std::string &fhSystem ) ; 00114 00116 static std::string genRof( const SatId &satId, const ModelId &modelId, 00117 const TimeCorrelation &timeCor, long timeRef, 00118 long timeInit, double startTime, double stopTime, 00119 long startOrbit, long stopOrbit, 00120 double osvInterval, long osvPrecise, 00121 long refFiletype, const std::string &referenceFile, 00122 const std::string &preciseConfFile, 00123 long rofFileType, 00124 const std::string &outputDir, const std::string &outputFileName, 00125 const std::string &fileClass, long versionNumber, const std::string &fhSystem ) ; 00126 00128 static std::string genRofPrototype( const SatId &satId, const ModelId &modelId, 00129 const TimeCorrelation &timeCor, 00130 long timeRef, long propagModel, 00131 double time0, long orbit0, long timeInitMode, 00132 double startTime, long startOrbit, 00133 double stopTime, long stopOrbit, long driftMode, 00134 double ascmlstDrift, double inclination, 00135 long repRef, long cycRef, double rLong, double ascmlst, 00136 double osvInterval, long rofFileType, 00137 const std::string &outputDir, const std::string &outputFileName, 00138 const std::string &fileClass, long versionNumber, const std::string &fhSystem ) ; 00139 00141 static std::string genDnf( const SatId &satId, const ModelId &modelId, 00142 const TimeCorrelation &timeCor, long timeRef, 00143 long timeInit, double startTime, double stopTime, 00144 long startOrbit, long stopOrbit, 00145 double osvInterval, long osvPrecise, 00146 long refFiletype, const std::string &referenceFile, 00147 long dnfFileType, 00148 const std::string &preciseConfFile, 00149 const std::string &ctrlFile, 00150 const std::string &outputDir, const std::string &outputFileName, 00151 const std::string &fileClass, long versionNumber, const std::string &fhSystem ) ; 00152 00154 static std::string genTle( const SatId &satId, long fitMode, const TimeCorrelation &timeCor, 00155 long timeRef, long timeMode, double startTime, double stopTime, 00156 long startOrbit, long stopOrbit, 00157 const std::string &referenceFile, const std::string &outputFileName ) ; 00158 00160 static std::vector<double> checkOsf( const SatId &satId, const ModelId &modelId, 00161 const TimeCorrelation &timeCor, 00162 const std::string &osfFile, long transitionNumber, 00163 std::vector<double> threshold) ; 00164 00166 static std::vector< std::pair<double,double> > checkOef( const SatId &satId, const ModelId &modelId, 00167 const TimeCorrelation &timeCor, long timeRef, 00168 long timeMode, double startTime, double stopTime, 00169 long startOrbit, long stopOrbit, const std::string &oefFile, 00170 const std::vector<double> &threshold) ; 00171 00173 static long orbitDataFilter(const std::vector<OrbitFile> &osvDataIn, 00174 const OrbitDataFilterConfiguration &filterSettings, 00175 std::vector<OrbitFile> &osvDataOut, 00176 OrbitDataFilterReport &filterReport) ; 00177 00179 static long orbitDataFilter(const std::vector<DorisFile> &osvDataIn, 00180 const OrbitDataFilterConfiguration &filterSettings, 00181 std::vector<DorisFile> &osvDataOut, 00182 OrbitDataFilterReport &filterReport) ; 00183 00184 00185 protected: 00186 00187 00188 private: 00189 }; 00190 00191 } // closing namespace 00192 00193 #endif