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

Last change on this file since 10113 was 8401, checked in by stuerze, 6 years ago

minor changes to prevent a crash of the program

  • Property svn:keywords set to Author Date Id Rev URL;svn:eol-style=native
  • Property svn:mime-type set to text/plain
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 if (_ephs.empty()) return;
38 for (unsigned ii = 0; ii < _ephs.size(); ii++) {
39 delete _ephs[ii];
40 }
41 }
42 void putEphemeris(unsigned maxQueueSize, t_eph* eph);
43 void putOrbCorrection(t_orbCorr* corr);
44 void putClkCorrection(t_clkCorr* corr);
45 t_irc getCrd(const bncTime& tt,
46 ColumnVector& xc, ColumnVector& vv) const;
47 int getChannel() const;
48 std::deque<t_eph*> _ephs;
49 };
50
51 t_satEphPool _satEphPool[t_prn::MAXPRN+1];
52 unsigned _maxQueueSize;
53};
54
55}
56
57#endif
Note: See TracBrowser for help on using the repository browser.