SP3EphemerisStore.hpp

Go to the documentation of this file.
00001 #pragma ident "$Id: SP3EphemerisStore.hpp 2293 2010-02-12 18:14:16Z btolman $"
00002 
00008 #ifndef GPSTK_SP3_EPHEMERIS_STORE_HPP
00009 #define GPSTK_SP3_EPHEMERIS_STORE_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 //  Copyright 2004, The University of Texas at Austin
00031 //
00032 //============================================================================
00033 //============================================================================
00034 //
00035 //This software developed by Applied Research Laboratories at the University of
00036 //Texas at Austin, under contract to an agency or agencies within the U.S.
00037 //Department of Defense. The U.S. Government retains all rights to use,
00038 //duplicate, distribute, disclose, or release this software.
00039 //
00040 //Pursuant to DoD Directive 523024
00041 //
00042 // DISTRIBUTION STATEMENT A: This software has been approved for public
00043 //                           release, distribution is unlimited.
00044 //
00045 //=============================================================================
00046 
00047 
00048 #include <iostream>
00049 
00050 #include "TabularEphemerisStore.hpp"
00051 #include "FileStore.hpp"
00052 
00053 #include "SP3Stream.hpp"
00054 #include "SP3Data.hpp"
00055 #include "SP3Header.hpp"
00056 
00057 namespace gpstk
00058 {
00059 
00062 
00066    class SP3EphemerisStore : public TabularEphemerisStore,
00067                              public FileStore<SP3Header>
00068    {
00069    public:
00070 
00072       SP3EphemerisStore()
00073          throw()
00074          : rejectBadPosFlag(false), rejectBadClockFlag(false)
00075       { TabularEphemerisStore(); };
00076 
00077 
00079       virtual ~SP3EphemerisStore() {};
00080 
00081 
00089       virtual void dump( std::ostream& s=std::cout,
00090                          short detail = 0 )
00091          const throw();
00092 
00093 
00095       virtual void loadFile(const std::string& filename)
00096          throw(FileMissingException);
00097 
00098 
00101       virtual SP3EphemerisStore& rejectBadPositions(const bool flag)
00102       { rejectBadPosFlag = true; return (*this); };
00103 
00104 
00107       virtual SP3EphemerisStore& rejectBadClocks(const bool flag)
00108       { rejectBadClockFlag = true; return (*this); };
00109 
00110 
00112       int nfiles(void) throw()
00113       { return FileStore<SP3Header>::size(); }
00114 
00116       int nsats(void) throw()
00117       { return TabularEphemerisStore::nsats(); }
00118 
00120       int neph(void) throw()
00121       { return TabularEphemerisStore::neph(); }
00122 
00123    private:
00124 
00125 
00127       bool rejectBadPosFlag;
00128 
00129 
00131       bool rejectBadClockFlag;
00132 
00133 
00134    }; // End of class 'SP3EphemerisStore'
00135 
00137 
00138 }  // End of namespace gpstk
00139 
00140 #endif   // GPSTK_SP3_EPHEMERIS_STORE_HPP

Generated on Wed Feb 8 03:31:03 2012 for GPS ToolKit Software Library by  doxygen 1.3.9.1