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

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

minor changes regarding PPP (not completed)

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