source: ntrip/trunk/BNC/src/PPP/pppEphPool.h@ 6653

Last change on this file since 6653 was 5814, checked in by mervart, 10 years ago
File size: 1.2 KB
Line 
1#ifndef EPHPOOL_H
2#define EPHPOOL_H
3
4#include <deque>
5#include "pppInclude.h"
6#include "bnctime.h"
7#include "ephemeris.h"
8
9namespace BNC_PPP {
10
11class t_pppEphPool {
12 public:
13 t_pppEphPool(unsigned maxQueueSize = 3) {
14 _maxQueueSize = maxQueueSize;
15 }
16 ~t_pppEphPool() {};
17
18 void putEphemeris(t_eph* eph);
19 void putOrbCorrection(t_orbCorr* corr);
20 void putClkCorrection(t_clkCorr* corr);
21
22 t_irc getCrd(const t_prn& prn, const bncTime& tt,
23 ColumnVector& xc, ColumnVector& vv) const;
24
25 int getChannel(const t_prn& prn) const;
26
27 std::deque<t_eph*>& ephs(t_prn prn) {
28 return _satEphPool[prn]._ephs;
29 }
30
31 private:
32
33 class t_satEphPool {
34 public:
35 t_satEphPool() {};
36 ~t_satEphPool() {
37 for (unsigned ii = 0; ii < _ephs.size(); ii++) {
38 delete _ephs[ii];
39 }
40 }
41 void putEphemeris(unsigned maxQueueSize, t_eph* eph);
42 void putOrbCorrection(t_orbCorr* corr);
43 void putClkCorrection(t_clkCorr* corr);
44 t_irc getCrd(const bncTime& tt,
45 ColumnVector& xc, ColumnVector& vv) const;
46 int getChannel() const;
47 std::deque<t_eph*> _ephs;
48 };
49
50 t_satEphPool _satEphPool[t_prn::MAXPRN+1];
51 unsigned _maxQueueSize;
52};
53
54}
55
56#endif
Note: See TracBrowser for help on using the repository browser.