Earth Observation Mission CFI Software DataHandling Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.26 00003 //-------------------------------------------------------- 00004 00005 //---------------------------------------------------------------- 00006 // CVS Info: $Id: DorisFile.h,v 1.15 2014-02-20 20:02:23 cavm Exp $ 00007 //---------------------------------------------------------------- 00008 00009 #ifndef DORISFILE_H 00010 #define DORISFILE_H 00011 00012 //-INCLUDE--------------------------------------------- 00013 #include <CfiError.h> 00014 #include <DataHandlingData.h> 00015 #include <EEFile.h> 00016 #include <OsvRec.h> 00017 #include <string> 00018 #include <vector> 00019 00020 //-NAMESPACES------------------------------------------ 00021 00022 namespace EECFI 00023 { 00027 class XD_DECL DorisFile : public EEFile 00028 { 00029 public: 00030 // Atributes 00031 long fileType; 00032 DorisHeader* header; 00033 std::vector<OsvRec> osvRec; 00034 std::vector<OsvRec> osvRecJ2; 00035 double leapTime; 00036 int leapSign; 00037 long absOrbit; 00038 long relOrbit; 00039 00041 explicit DorisFile(const std::string& fileNam); 00042 00044 DorisFile(const std::string& fileNam, 00045 const DorisHeader& fhr, 00046 const std::vector<OsvRec>& osvRecEF, 00047 const std::vector<OsvRec>& osvRecJ, 00048 double leapTim, 00049 int leapSig, 00050 long absOrbi, 00051 long relOrbi); 00052 00055 DorisFile(const DorisFile& other); 00056 00058 ~DorisFile() NOEXCEPT; 00059 00062 DorisFile& operator=(const DorisFile& other); 00063 00065 void read(bool interpolFlag); 00066 00068 void read(bool interpolFlag, 00069 double time0, 00070 double time1); 00071 00073 void readHeader(); 00074 00076 void write(const std::string& fileNam) const; 00077 00079 void write(const std::string& fileNam, 00080 const DorisHeader& fhr, 00081 const std::vector<OsvRec>& osvRecEF, 00082 const std::vector<OsvRec>& osvRecJ, 00083 double leapTim, 00084 int leapSig, 00085 long absOrbi, 00086 long relOrbi); 00087 00088 }; //class DorisFile 00089 } //namespace EECFI 00090 00091 #endif