#ifndef OBSPOOL_H #define OBSPOOL_H #include #include #include "pppSatObs.h" #include "bnctime.h" namespace BNC_PPP { class t_pppObsPool { public: class t_epoch { public: t_epoch(const bncTime& epoTime, std::vector& obsVector); ~t_epoch(); std::vector& obsVector() {return _obsVector;} const std::vector& obsVector() const {return _obsVector;} const bncTime& epoTime() const {return _epoTime;} private: bncTime _epoTime; std::vector _obsVector; }; t_pppObsPool(); ~t_pppObsPool(); void putBias(t_satBias* satBias); void putEpoch(const bncTime& epoTime, std::vector& obsVector); const t_satBias* satBias(const t_prn& prn) const { return _satBiases[prn.toInt()]; } t_epoch* lastEpoch() { if (_epochs.size()) { return _epochs.back(); } else { return 0; } } private: t_satBias* _satBiases[t_prn::MAXPRN+1]; std::deque _epochs; }; } #endif