00001 #pragma ident "$Id: MSCData.hpp 3341 2013-01-28 16:05:33Z btolman $" 00002 00003 //============================================================================ 00004 // 00005 // This file is part of GPSTk, the GPS Toolkit. 00006 // 00007 // The GPSTk is free software; you can redistribute it and/or modify 00008 // it under the terms of the GNU Lesser General Public License as published 00009 // by the Free Software Foundation; either version 2.1 of the License, or 00010 // any later version. 00011 // 00012 // The GPSTk is distributed in the hope that it will be useful, 00013 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 // GNU Lesser General Public License for more details. 00016 // 00017 // You should have received a copy of the GNU Lesser General Public 00018 // License along with GPSTk; if not, write to the Free Software Foundation, 00019 // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA 00020 // 00021 // Copyright 2004, The University of Texas at Austin 00022 // 00023 //============================================================================ 00024 00025 //============================================================================ 00026 // 00027 //This software developed by Applied Research Laboratories at the University of 00028 //Texas at Austin, under contract to an agency or agencies within the U.S. 00029 //Department of Defense. The U.S. Government retains all rights to use, 00030 //duplicate, distribute, disclose, or release this software. 00031 // 00032 //Pursuant to DoD Directive 523024 00033 // 00034 // DISTRIBUTION STATEMENT A: This software has been approved for public 00035 // release, distribution is unlimited. 00036 // 00037 //============================================================================= 00038 00039 00045 #ifndef MSCDATA_HPP 00046 #define MSCDATA_HPP 00047 00048 #include <string> 00049 #include "StringUtils.hpp" 00050 #include "Triple.hpp" 00051 #include "Position.hpp" 00052 #include "CommonTime.hpp" 00053 #include "YDSTime.hpp" 00054 #include "FFData.hpp" 00055 #include "Xvt.hpp" 00056 00057 namespace gpstk 00058 { 00061 00065 class MSCData : public gpstk::FFData 00066 { 00067 public: 00069 MSCData() throw() : time(gpstk::YDSTime()) {} 00070 00072 virtual ~MSCData() throw() {} 00073 00079 Xvt getXvt(const YDSTime& t) 00080 const throw(InvalidRequest); 00081 00082 gpstk::YDSTime time; 00083 00084 unsigned long station; 00085 std::string mnemonic; 00086 gpstk::YDSTime refepoch; 00087 gpstk::YDSTime effepoch; 00088 gpstk::Triple coordinates; 00089 gpstk::Triple velocities; 00090 00092 virtual bool isData() const { return true; } 00093 00094 protected: 00096 virtual void reallyPutRecord(gpstk::FFStream& ffs) const 00097 throw(std::exception, gpstk::FFStreamError, 00098 gpstk::StringUtils::StringException); 00099 00109 virtual void reallyGetRecord(gpstk::FFStream& ffs) 00110 throw(std::exception, gpstk::FFStreamError, 00111 gpstk::StringUtils::StringException); 00112 }; // class MSCData 00113 00115 00116 } // namespace gpstk 00117 00118 #endif 00119
1.3.9.1