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
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
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 };
00135
00137
00138 }
00139
00140 #endif // GPSTK_SP3_EPHEMERIS_STORE_HPP