source: ntrip/trunk/BNC/src/satObs.h@ 6589

Last change on this file since 6589 was 6589, checked in by stuerze, 9 years ago

minor changes

File size: 4.4 KB
RevLine 
[6135]1#ifndef SATOBS_H
2#define SATOBS_H
3
4#include <string>
5#include <vector>
6#include <newmat.h>
7
[6455]8#include <QtCore>
9
[6135]10#include "bncconst.h"
11#include "bnctime.h"
12#include "t_prn.h"
13
14class t_frqObs {
15 public:
16 t_frqObs() {
17 _code = 0.0;
18 _codeValid = false;
19 _phase = 0.0;
20 _phaseValid = false;
21 _doppler = 0.0;
22 _dopplerValid = false;
23 _snr = 0.0;
24 _snrValid = false;
25 _slip = false;
26 _slipCounter = 0;
27 _biasJumpCounter = 0;
28 }
29 std::string _rnxType2ch;
30 double _code;
31 bool _codeValid;
32 double _phase;
33 bool _phaseValid;
34 double _doppler;
35 bool _dopplerValid;
36 double _snr;
37 bool _snrValid;
38 bool _slip;
39 int _slipCounter;
40 int _biasJumpCounter;
41};
42
43class t_satObs {
44 public:
45 t_satObs() {}
[6137]46 t_satObs(const t_satObs& old) { // copy constructor (deep copy)
47 _staID = old._staID;
48 _prn = old._prn;
49 _time = old._time;
50 for (unsigned ii = 0; ii < old._obs.size(); ii++) {
51 _obs.push_back(new t_frqObs(*old._obs[ii]));
52 }
53 }
[6589]54 ~t_satObs() {for (unsigned ii = 0; ii < _obs.size(); ii++) delete _obs[ii];}
[6581]55
[6137]56 std::string _staID;
[6135]57 t_prn _prn;
58 bncTime _time;
59 std::vector<t_frqObs*> _obs;
60};
61
62class t_orbCorr {
63 public:
[6466]64 t_orbCorr();
[6455]65 static void writeEpoch(std::ostream* out, const QList<t_orbCorr>& corrList);
[6499]66 static void readEpoch(const std::string& epoLine, std::istream& in, QList<t_orbCorr>& corrList);
[6141]67 std::string _staID;
[6135]68 t_prn _prn;
69 unsigned short _iod;
70 bncTime _time;
[6556]71 unsigned int _updateInt;
[6135]72 char _system;
[6157]73 ColumnVector _xr;
74 ColumnVector _dotXr;
[6135]75};
76
77class t_clkCorr {
78 public:
[6466]79 t_clkCorr();
[6455]80 static void writeEpoch(std::ostream* out, const QList<t_clkCorr>& corrList);
[6499]81 static void readEpoch(const std::string& epoLine, std::istream& in, QList<t_clkCorr>& corrList);
[6141]82 std::string _staID;
[6135]83 t_prn _prn;
84 unsigned short _iod;
85 bncTime _time;
[6556]86 unsigned int _updateInt;
[6135]87 double _dClk;
88 double _dotDClk;
89 double _dotDotDClk;
90};
91
[6463]92class t_frqCodeBias {
[6135]93 public:
[6463]94 t_frqCodeBias() {
95 _value = 0.0;
[6135]96 }
97 std::string _rnxType2ch;
[6463]98 double _value;
[6135]99};
100
[6463]101class t_satCodeBias {
[6135]102 public:
[6475]103 static void writeEpoch(std::ostream* out, const QList<t_satCodeBias>& biasList);
[6499]104 static void readEpoch(const std::string& epoLine, std::istream& in, QList<t_satCodeBias>& biasList);
[6463]105 std::string _staID;
106 t_prn _prn;
107 bncTime _time;
[6556]108 unsigned int _updateInt;
[6463]109 std::vector<t_frqCodeBias> _bias;
[6135]110};
111
[6481]112class t_frqPhaseBias {
113 public:
114 t_frqPhaseBias() {
115 _value = 0.0;
116 _fixIndicator = 0;
117 _fixWideLaneIndicator = 0;
118 _jumpCounter = 0;
119 }
120 std::string _rnxType2ch;
121 double _value;
122 int _fixIndicator;
123 int _fixWideLaneIndicator;
124 int _jumpCounter;
125};
126
127class t_satPhaseBias {
128 public:
129 t_satPhaseBias() {
[6589]130 _updateInt = 0;
[6481]131 _yawDeg = 0.0;
132 _yawDegRate = 0.0;
133 }
134 static void writeEpoch(std::ostream* out, const QList<t_satPhaseBias>& biasList);
[6499]135 static void readEpoch(const std::string& epoLine, std::istream& in, QList<t_satPhaseBias>& biasList);
[6481]136 std::string _staID;
137 t_prn _prn;
138 bncTime _time;
[6556]139 unsigned int _updateInt;
[6481]140 double _yawDeg;
141 double _yawDegRate;
142 std::vector<t_frqPhaseBias> _bias;
143};
144
[6482]145class t_vTecLayer {
146 public:
147 double _height;
148 Matrix _C;
149 Matrix _S;
150};
151
152class t_vTec {
153 public:
154 static void write(std::ostream* out, const t_vTec& vTec);
[6499]155 static void read(const std::string& epoLine, std::istream& in, t_vTec& vTec);
[6482]156 std::string _staID;
157 bncTime _time;
[6556]158 unsigned int _updateInt;
[6482]159 std::vector<t_vTecLayer> _layers;
160};
161
[6498]162class t_corrSSR {
163 public:
164 enum e_type {clkCorr, orbCorr, codeBias, phaseBias, vTec, unknown};
[6501]165 static e_type readEpoLine(const std::string& line, bncTime& epoTime,
[6556]166 unsigned int& updateInt, int& numEntries, std::string& staID);
[6498]167};
168
[6135]169#endif
Note: See TracBrowser for help on using the repository browser.