Rev | Line | |
---|
[5743] | 1 | #ifndef EPHPOOL_H
|
---|
| 2 | #define EPHPOOL_H
|
---|
| 3 |
|
---|
| 4 | #include <deque>
|
---|
[5810] | 5 | #include "pppInclude.h"
|
---|
[5743] | 6 | #include "bnctime.h"
|
---|
| 7 | #include "ephemeris.h"
|
---|
| 8 |
|
---|
[5814] | 9 | namespace BNC_PPP {
|
---|
[5743] | 10 |
|
---|
[5810] | 11 | class t_pppEphPool {
|
---|
[5743] | 12 | public:
|
---|
[5810] | 13 | t_pppEphPool(unsigned maxQueueSize = 3) {
|
---|
[5743] | 14 | _maxQueueSize = maxQueueSize;
|
---|
| 15 | }
|
---|
[5810] | 16 | ~t_pppEphPool() {};
|
---|
[5743] | 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.