PvtStore.hpp

Go to the documentation of this file.
00001 #pragma ident "$Id: PvtStore.hpp 2535 2011-03-25 15:58:06Z ccutlip $"
00002 
00008 #ifndef GPSTK_PVTSTORE_HPP
00009 #define GPSTK_PVTSTORE_HPP
00010 
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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00029 //
00030 //  Wei Yan - Chinese Academy of Sciences . 2009, 2010, 2011
00031 //
00032 //============================================================================
00033 
00034 
00035 #include "EpochDataStore.hpp"
00036 #include "Triple.hpp"
00037 
00038 namespace gpstk
00039 {
00042 
00047    class PvtStore : public EpochDataStore
00048    {
00049    public:
00050       enum ReferenceFrame
00051       {
00052          Unknown    =0,   
00053          ITRF,            
00054          ICRF            
00055       };
00056 
00057       typedef struct PvtData
00058       {
00059          Triple position;  
00060          Triple velocity;  
00061          double dtime;     
00062          double ddtime;    
00063          
00064          PvtData() : dtime(0.0), ddtime(0.0){}
00065 
00066          PvtData(Triple pos, Triple vel, double dt = 0.0, double ddt = 0.0) 
00067             : position(pos), velocity(vel), dtime(dt), ddtime(ddt)
00068          {}
00069 
00070       } Pvt;
00071 
00073       PvtStore(std::string desc = "PvtData", ReferenceFrame frame = Unknown) 
00074          : dataDesc(desc), dataFrame(frame) 
00075       {}
00076 
00078       virtual ~PvtStore() {}
00079       
00081       void addPvt(const DayTime& time,const Pvt& vd)
00082          throw();
00083 
00090       Pvt getPvt(const DayTime& t) const
00091          throw(InvalidRequest);
00092 
00094       ReferenceFrame referenceFrame()
00095       { return dataFrame; }
00096 
00097    protected:
00098 
00100       ReferenceFrame  dataFrame;
00101 
00103       std::string dataDesc;
00104 
00105    }; // End of class 'PvtStore'
00106 
00107    
00108    std::ostream& operator<<(std::ostream& s, const PvtStore::Pvt& d);
00109 
00110       // @}
00111 
00112 }  // End of namespace 'gpstk'
00113 
00114 
00115 #endif   // GPSTK_PVTSTORE_HPP
00116 
00117 
00118 
00119 
00120 
00121 
00122 

Generated on Tue May 22 03:31:00 2012 for GPS ToolKit Software Library by  doxygen 1.3.9.1