00001 #pragma ident "$Id: EOPDataStore.hpp 2953 2011-10-28 17:00:32Z yanweignss $"
00002
00008 #ifndef GPSTK_EOPDATASTORE_HPP
00009 #define GPSTK_EOPDATASTORE_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 #include "EpochDataStore.hpp"
00036 #include "Triple.hpp"
00037
00038 namespace gpstk
00039 {
00042
00047 class EOPDataStore : public EpochDataStore
00048 {
00049 public:
00050
00051 typedef struct EOPData
00052 {
00053 double xp;
00054 double yp;
00055 double UT1mUTC;
00056 double dPsi;
00057 double dEps;
00058
00059 EOPData() : xp(0.0), yp(0.0), UT1mUTC(0.0),dPsi(0.0), dEps(0.0)
00060 {}
00061
00062 EOPData(double x, double y, double ut1_utc, double dpsi = 0.0, double deps = 0.0)
00063 : xp(x), yp(y), UT1mUTC(ut1_utc), dPsi(dpsi), dEps(deps)
00064 {}
00065 };
00066
00068 EOPDataStore() : EpochDataStore(2)
00069 {}
00070
00072 virtual ~EOPDataStore() {}
00073
00075 void addEOPData(const DayTime& utc,const EOPData& data)
00076 throw();
00077
00079 EOPData getEOPData(const DayTime& utc) const
00080 throw(InvalidRequest);
00081
00082
00085 void loadIERSFile(std::string iersFile)
00086 throw(FileMissingException);
00087
00088
00089 void loadIGSFile(std::string igsFile)
00090 throw(FileMissingException);
00091
00098 void loadSTKFile(std::string stkFile)
00099 throw(FileMissingException);
00100
00101 protected:
00102
00103
00104 };
00105
00106
00107 std::ostream& operator<<(std::ostream& s, const EOPDataStore::EOPData& d);
00108
00109
00110
00111 }
00112
00113
00114 #endif // GPSTK_EOPDATASTORE_HPP
00115
00116
00117
00118
00119
00120
00121