source: ntrip/trunk/BNC/src/PPP/pppObsPool.h@ 9241

Last change on this file since 9241 was 8956, checked in by stuerze, 4 years ago

update regarding PPP

  • Property svn:keywords set to Author Date Id Rev URL;svn:eol-style=native
  • Property svn:mime-type set to text/plain
File size: 2.5 KB
RevLine 
[7237]1#ifndef OBSPOOL_H
2#define OBSPOOL_H
3
4#include <vector>
5#include <deque>
[8905]6#include <QMap>
[7237]7#include "pppSatObs.h"
8#include "bnctime.h"
[8905]9#include "pppRefSat.h"
[7237]10
11namespace BNC_PPP {
12
13class t_pppObsPool {
[7288]14 public:
[7237]15
16 class t_epoch {
17 public:
[8905]18 t_epoch(const bncTime& epoTime, std::vector<t_pppSatObs*>& obsVector,
19 bool pseudoObsIono);
[7237]20 ~t_epoch();
[8905]21 std::vector<t_pppSatObs*>& obsVector() {return _obsVector;}
[7237]22 const std::vector<t_pppSatObs*>& obsVector() const {return _obsVector;}
23 const bncTime& epoTime() const {return _epoTime;}
[8905]24 bool pseudoObsIono() const {return _pseudoObsIono;}
[7237]25 private:
[8905]26 bncTime _epoTime;
[7237]27 std::vector<t_pppSatObs*> _obsVector;
[8905]28 bool _pseudoObsIono;
[7237]29 };
30
31 t_pppObsPool();
32 ~t_pppObsPool();
33 void putCodeBias(t_satCodeBias* satCodeBias);
[7288]34 void putPhaseBias(t_satPhaseBias* satPhaseBias);
[7249]35 void putTec(t_vTec* _vTec);
[7237]36
[8905]37 void putEpoch(const bncTime& epoTime, std::vector<t_pppSatObs*>& obsVector,
38 bool pseudoObs);
[7237]39
[8956]40 void deleteLastEpoch();
41
[7288]42 const t_satCodeBias* satCodeBias(const t_prn& prn) const {
[7237]43 return _satCodeBiases[prn.toInt()];
44 }
[7288]45 const t_satPhaseBias* satPhaseBias(const t_prn& prn) const {
46 return _satPhaseBiases[prn.toInt()];
47 }
[7249]48 const t_vTec* vTec() const {return _vTec;}
[7237]49
50 t_epoch* lastEpoch() {
51 if (_epochs.size()) {
52 return _epochs.back();
53 }
54 else {
55 return 0;
56 }
57 }
58
[8905]59 void initRefSatMapElement(char system) {
60 _refSatMap[system] = new t_pppRefSat();
61 }
62 void clearRefSatMap() {
63 QMapIterator<char, t_pppRefSat*> it(_refSatMap);
64 while (it.hasNext()) {
65 it.next();
66 delete it.value();
67 }
68 _refSatMap.clear();
69 }
70 t_pppRefSat* getRefSatMapElement(char system) {
71 return _refSatMap[system];
72 }
73 QMap<char, t_pppRefSat*> getRefSatMap() {return _refSatMap;}
74
[8911]75 void setRefSatChangeRequired(bool refSatChangeRequired) {
76 _refSatChangeRequired = refSatChangeRequired;
[8905]77 }
[8911]78 bool refSatChangeRequired() {return _refSatChangeRequired;}
[8905]79
[8956]80 void setHistoricalRefSatList(QList<t_prn>& historicalRefSats) {_historicalRefSats = historicalRefSats;}
81
82 bool hasHistoricalRefSat(t_prn prn) {return _historicalRefSats.contains(prn);}
83
[7237]84 private:
[8905]85 t_satCodeBias* _satCodeBiases[t_prn::MAXPRN+1];
86 t_satPhaseBias* _satPhaseBiases[t_prn::MAXPRN+1];
87 t_vTec* _vTec;
88 std::deque<t_epoch*> _epochs;
89 QMap<char, t_pppRefSat*> _refSatMap;
[8911]90 bool _refSatChangeRequired;
[8956]91 QList<t_prn> _historicalRefSats;
[7237]92};
93
94}
95
96#endif
Note: See TracBrowser for help on using the repository browser.