source: ntrip/trunk/BNC/src/PPP/pppObsPool.cpp@ 11041

Last change on this file since 11041 was 11041, checked in by stuerze, 3 days ago

updates regarding RTCM-SSR

  • Property svn:keywords set to Author Date Id Rev URL;svn:eol-style=native
  • Property svn:mime-type set to text/plain
File size: 5.2 KB
RevLine 
[7237]1/* -------------------------------------------------------------------------
2 * BKG NTRIP Client
3 * -------------------------------------------------------------------------
4 *
5 * Class: t_pppObsPool
6 *
7 * Purpose: Buffer with observations
8 *
9 * Author: L. Mervart
10 *
11 * Created: 29-Jul-2014
12 *
[7288]13 * Changes:
[7237]14 *
15 * -----------------------------------------------------------------------*/
16
[10791]17#include <iomanip>
[7237]18#include "pppObsPool.h"
[10791]19#include "pppClient.h"
[7237]20
21using namespace BNC_PPP;
22using namespace std;
23
24// Constructor
25/////////////////////////////////////////////////////////////////////////////
[8905]26t_pppObsPool::t_epoch::t_epoch(const bncTime& epoTime, vector<t_pppSatObs*>& obsVector,
[10034]27 bool pseudoObsIono) {
[8905]28 _epoTime = epoTime;
29 _pseudoObsIono = pseudoObsIono;
[7237]30 for (unsigned ii = 0; ii < obsVector.size(); ii++) {
31 _obsVector.push_back(obsVector[ii]);
32 }
33 obsVector.clear();
34}
35
36// Destructor
37/////////////////////////////////////////////////////////////////////////////
38t_pppObsPool::t_epoch::~t_epoch() {
39 for (unsigned ii = 0; ii < _obsVector.size(); ii++) {
40 delete _obsVector[ii];
41 }
42}
43
44// Constructor
45/////////////////////////////////////////////////////////////////////////////
46t_pppObsPool::t_pppObsPool() {
47 for (unsigned ii = 0; ii <= t_prn::MAXPRN; ii++) {
48 _satCodeBiases[ii] = 0;
49 }
[7288]50 for (unsigned ii = 0; ii <= t_prn::MAXPRN; ii++) {
51 _satPhaseBiases[ii] = 0;
52 }
[11041]53 for (unsigned ii = 0; ii <= t_prn::MAXPRN; ii++) {
54 _satAntennas[ii] = 0;
55 }
[7249]56 _vTec = 0;
[11009]57 _metaData = 0;
[7237]58}
59
60// Destructor
61/////////////////////////////////////////////////////////////////////////////
62t_pppObsPool::~t_pppObsPool() {
63 for (unsigned ii = 0; ii <= t_prn::MAXPRN; ii++) {
64 delete _satCodeBiases[ii];
65 }
[7642]66 for (unsigned ii = 0; ii <= t_prn::MAXPRN; ii++) {
67 delete _satPhaseBiases[ii];
68 }
[11041]69 for (unsigned ii = 0; ii <= t_prn::MAXPRN; ii++) {
70 delete _satAntennas[ii];
71 }
[7249]72 delete _vTec;
[11009]73 delete _metaData;
[7237]74 while (_epochs.size() > 0) {
75 delete _epochs.front();
76 _epochs.pop_front();
77 }
78}
79
80//
81/////////////////////////////////////////////////////////////////////////////
82void t_pppObsPool::putCodeBias(t_satCodeBias* satCodeBias) {
83 int iPrn = satCodeBias->_prn.toInt();
84 delete _satCodeBiases[iPrn];
85 _satCodeBiases[iPrn] = satCodeBias;
[10791]86 if (OPT->_logMode > t_pppOptions::normal) {
87 LOG << "codeBias " << string(satCodeBias->_time) << ' ' << satCodeBias->_prn.toString();
88 for (const auto& bias : satCodeBias->_bias) {
89 LOG << " " << bias._rnxType2ch << ' ' << setw(7) << setprecision(3) << bias._value;
90 }
91 LOG << endl;
92 }
[7237]93}
94
95//
96/////////////////////////////////////////////////////////////////////////////
[7288]97void t_pppObsPool::putPhaseBias(t_satPhaseBias* satPhaseBias) {
98 int iPrn = satPhaseBias->_prn.toInt();
99 delete _satPhaseBiases[iPrn];
100 _satPhaseBiases[iPrn] = satPhaseBias;
[10791]101 if (OPT->_logMode > t_pppOptions::normal) {
102 LOG.setf(ios::fixed);
103 LOG << "phaseBias " << string(satPhaseBias->_time) << ' ' << satPhaseBias->_prn.toString()
104 << ' ' << setw(7) << setprecision(2) << satPhaseBias->_yaw * 180.0 / M_PI
105 << ' ' << setw(7) << setprecision(3) << satPhaseBias->_yawRate * 180.0 / M_PI;
106 for (const auto& bias : satPhaseBias->_bias) {
107 LOG << " " << bias._rnxType2ch << ' ' << setw(2) << bias._jumpCounter;
108 if (bias._fixIndicator) {
109 LOG << " x ";
110 }
111 else {
112 LOG << " . ";
113 }
114 LOG << setw(6) << setprecision(3) << bias._value;
115 }
116 LOG << endl;
117 }
[7288]118}
119
120//
121/////////////////////////////////////////////////////////////////////////////
[11041]122void t_pppObsPool::putSatAntenna(t_satAntenna* satAntenna) {
123 int iPrn = satAntenna->_prn.toInt();
124 delete _satAntennas[iPrn];
125 _satAntennas[iPrn] = satAntenna;
126}
127
128//
129/////////////////////////////////////////////////////////////////////////////
[10791]130void t_pppObsPool::clearCodeBiases(char sys) {
131 for (unsigned iPrn = 1; iPrn <= t_prn::MAXPRN; ++iPrn) {
132 t_prn prn; prn.set(iPrn);
133 if (prn.system() == sys) {
134 delete _satCodeBiases[iPrn];
135 _satCodeBiases[iPrn] = 0;
136 }
137 }
138}
139
140//
141/////////////////////////////////////////////////////////////////////////////
142void t_pppObsPool::clearPhaseBiases(char sys) {
143 for (unsigned iPrn = 1; iPrn <= t_prn::MAXPRN; ++iPrn) {
144 t_prn prn; prn.set(iPrn);
145 if (prn.system() == sys) {
146 delete _satPhaseBiases[iPrn];
147 _satPhaseBiases[iPrn] = 0;
148 }
149 }
150}
151
152//
153/////////////////////////////////////////////////////////////////////////////
[7249]154void t_pppObsPool::putTec(t_vTec* vTec) {
[7643]155 delete _vTec;
[7249]156 _vTec = new t_vTec(*vTec);
[7643]157 delete vTec;
[7249]158}
159
160//
161/////////////////////////////////////////////////////////////////////////////
[11009]162void t_pppObsPool::putMetaData(t_metaData* metaData) {
163 delete _metaData;
164 _metaData = new t_metaData(*metaData);
165 delete metaData;
166}
167
168//
169/////////////////////////////////////////////////////////////////////////////
[8905]170void t_pppObsPool::putEpoch(const bncTime& epoTime, vector<t_pppSatObs*>& obsVector,
[10034]171 bool pseudoObsIono) {
[7237]172 const unsigned MAXSIZE = 2;
[10034]173 _epochs.push_back(new t_epoch(epoTime, obsVector, pseudoObsIono));
[8905]174
[7237]175 if (_epochs.size() > MAXSIZE) {
176 delete _epochs.front();
177 _epochs.pop_front();
178 }
179}
Note: See TracBrowser for help on using the repository browser.