Earth Observation Mission CFI Software DataHandling Software User Manual |
00001 //-------------------------------------------------------- 00002 // Earth Observation Mission CFI Software. Version 4.18 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 "EEFile.h" 00014 #include "OsvRec.h" 00015 #include "CfiError.h" 00016 #include "DataHandlingData.h" 00017 00018 #include <string> 00019 #include <vector> 00020 00021 //-NAMESPACES------------------------------------------ 00022 00023 namespace EECFI 00024 { 00025 00029 class XD_DECL DorisFile:public EEFile 00030 { 00031 public: 00032 00033 // Atributes 00034 long fileType; 00035 DorisHeader *header; 00036 std::vector<OsvRec> osvRec; 00037 std::vector<OsvRec> osvRecJ2; 00038 double leapTime; 00039 int leapSign; 00040 long absOrbit; 00041 long relOrbit; 00042 00044 explicit DorisFile(const std::string &fileNam); 00045 00047 DorisFile(const std::string &fileNam, 00048 const DorisHeader &fhr, 00049 const std::vector<OsvRec> &osvRecEF, 00050 const std::vector<OsvRec> &osvRecJ, 00051 double leapTim, 00052 int leapSig, 00053 long absOrbi, 00054 long relOrbi ); 00055 00057 ~DorisFile() NOEXCEPT; 00058 00060 void read(const bool interpolFlag) ; 00061 00063 void read(const bool interpolFlag, 00064 const double time0, 00065 const double time1) ; 00066 00068 void readHeader() ; 00069 00071 void write( const std::string &fileNam ) const; 00072 00074 void write( const std::string &fileNam, 00075 const DorisHeader &fhr, 00076 const std::vector<OsvRec> &osvRecEF, 00077 const std::vector<OsvRec> &osvRecJ, 00078 double leapTim, 00079 int leapSig, 00080 long absOrbi, 00081 long relOrbi ) ; 00082 00083 protected: 00084 00085 private: 00086 00087 };//class DorisFile 00088 }//namespace EECFI 00089 00090 #endif