00001 #pragma ident "$Id: Rinex3ClockData.hpp 3319 2012-09-19 16:58:10Z prestonherrmann $" 00002 00009 #ifndef GPSTK_RINEX3CLOCKDATA_HPP 00010 #define GPSTK_RINEX3CLOCKDATA_HPP 00011 00012 //============================================================================ 00013 // 00014 // This file is part of GPSTk, the GPS Toolkit. 00015 // 00016 // The GPSTk is free software; you can redistribute it and/or modify 00017 // it under the terms of the GNU Lesser General Public License as published 00018 // by the Free Software Foundation; either version 2.1 of the License, or 00019 // any later version. 00020 // 00021 // The GPSTk is distributed in the hope that it will be useful, 00022 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00023 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00024 // GNU Lesser General Public License for more details. 00025 // 00026 // You should have received a copy of the GNU Lesser General Public 00027 // License along with GPSTk; if not, write to the Free Software Foundation, 00028 // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA 00029 // 00030 // Octavian Andrei - FGI ( http://www.fgi.fi ). 2008 00031 // 00032 //============================================================================ 00033 00034 //system 00035 #include<map> 00036 //GPSTk 00037 #include "CommonTime.hpp" 00038 #include "FFStream.hpp" 00039 #include "Rinex3ClockBase.hpp" 00040 #include "Rinex3ClockHeader.hpp" 00041 #include "RinexSatID.hpp" 00042 00043 namespace gpstk 00044 { 00047 00053 class Rinex3ClockData : public Rinex3ClockBase 00054 { 00055 public: 00056 00058 Rinex3ClockData(): time(gpstk::CommonTime::BEGINNING_OF_TIME){} 00059 00060 00062 virtual ~Rinex3ClockData() {} 00063 00065 std::string type; 00067 std::string name; 00069 CommonTime time; 00071 size_t numVal; 00079 double data[6]; 00080 00081 // The next four lines is our common interface 00083 virtual bool isData() const {return true;} 00084 00090 virtual void dump(std::ostream& s) const; 00091 00092 protected: 00101 virtual void reallyPutRecord(FFStream& s) const 00102 throw(std::exception, FFStreamError, 00103 gpstk::StringUtils::StringException); 00104 00118 virtual void reallyGetRecord(FFStream& s) 00119 throw(std::exception, FFStreamError, 00120 gpstk::StringUtils::StringException); 00121 00122 private: 00125 std::string writeTime(const CommonTime& dt) const 00126 throw(gpstk::StringUtils::StringException); 00127 00132 CommonTime parseTime(const std::string& line) const; 00133 00134 }; // End of class Rinex3ClockData 00135 00137 00138 } // End of namespace gpstk 00139 00140 #endif // GPSTK_RINEX3CLOCKDATA_HPP
1.3.9.1