source: ntrip/trunk/BNC/src/PPP/pppInclude.h@ 5906

Last change on this file since 5906 was 5877, checked in by mervart, 10 years ago
File size: 3.8 KB
RevLine 
[5678]1#ifndef PPP_H
2#define PPP_H
3
4#include <string>
[5747]5#include <vector>
[5839]6#include <newmat.h>
[5742]7
8#include "bncconst.h"
[5708]9#include "bnctime.h"
[5742]10#include "t_prn.h"
[5678]11
[5814]12namespace BNC_PPP {
[5678]13
[5825]14class t_except {
[5763]15 public:
[5825]16 t_except(const char* msg) {
[5763]17 _msg = msg;
18 }
[5825]19 ~t_except() {}
[5763]20 std::string what() {return _msg;}
21 private:
22 std::string _msg;
23};
24
[5743]25class t_output {
[5678]26 public:
27 bncTime _epoTime;
28 double _xyzRover[3];
29 double _covMatrix[6];
[5877]30 double _neu[3];
[5678]31 int _numSat;
32 double _pDop;
33 std::string _log;
34 bool _error;
35};
36
[5819]37class t_frqObs {
[5678]38 public:
[5819]39 t_frqObs() {
[5750]40 _code = 0.0;
41 _codeValid = false;
42 _phase = 0.0;
43 _phaseValid = false;
44 _doppler = 0.0;
45 _dopplerValid = false;
46 _snr = 0.0;
47 _snrValid = false;
48 _slip = false;
49 _slipCounter = 0;
50 _biasJumpCounter = 0;
51 }
[5678]52 std::string _rnxType2ch;
53 double _code;
54 bool _codeValid;
55 double _phase;
56 bool _phaseValid;
57 double _doppler;
58 bool _dopplerValid;
59 double _snr;
60 bool _snrValid;
61 bool _slip;
62 int _slipCounter;
[5742]63 int _biasJumpCounter;
[5678]64};
65
[5819]66class t_satObs {
[5678]67 public:
[5819]68 t_satObs() {}
69 ~t_satObs() {for (unsigned ii = 0; ii < _obs.size(); ii++) delete _obs[ii];}
[5784]70 t_prn _prn;
71 bncTime _time;
[5819]72 std::vector<t_frqObs*> _obs;
[5678]73};
74
[5742]75class t_orbCorr {
[5678]76 public:
[5749]77 t_prn prn() const {return _prn;}
78 unsigned short IOD() const {return _iod;}
[5742]79 t_prn _prn;
[5678]80 unsigned short _iod;
81 bncTime _time;
82 char _system;
83 double _xr[3];
[5839]84 double _dotXr[3];
[5678]85};
86
[5742]87class t_clkCorr {
[5678]88 public:
[5749]89 t_prn prn() const {return _prn;}
90 unsigned short IOD() const {return _iod;}
[5742]91 t_prn _prn;
[5678]92 unsigned short _iod;
93 bncTime _time;
94 double _dClk;
95 double _dotDClk;
96 double _dotDotDClk;
97 double _clkPartial;
98};
99
[5825]100class t_frqBias {
[5678]101 public:
[5825]102 t_frqBias() {
103 _code = 0.0;
104 _codeValid = false;
105 _phase = 0.0;
106 _phaseValid = false;
107 }
108 std::string _rnxType2ch;
109 double _code;
110 bool _codeValid;
111 double _phase;
112 bool _phaseValid;
[5678]113};
114
[5825]115class t_satBias {
[5678]116 public:
[5825]117 t_prn _prn;
118 bncTime _time;
119 int _nx;
120 int _jumpCount;
121 std::vector<t_frqBias> _bias;
[5678]122};
123
124class t_frequency {
125 public:
126 enum type {dummy = 0, G1, G2, R1, R2, maxFr};
127
128 static std::string toString(type tt) {
129 if (tt == G1) return "G1";
130 else if (tt == G2) return "G2";
131 else if (tt == R1) return "R1";
132 else if (tt == R2) return "R2";
133 return std::string();
134 }
135};
136
137class t_lc {
138 public:
139 enum type {dummy = 0, l1, l2, c1, c2, lIF, cIF, MW, CL, maxLc};
140
141 static bool need2ndFreq(type tt) {
142 if (tt == l2 || tt == c2 || tt == lIF || tt == cIF || tt == MW) return true;
143 return false;
144 }
145
146 static bool includesPhase(type tt) {
147 if (tt == l1 || tt == l2 || tt == lIF || tt == MW || tt == CL) return true;
148 return false;
149 }
150
151 static bool includesCode(type tt) {
152 if (tt == c1 || tt == c2 || tt == cIF || tt == MW || tt == CL) return true;
153 return false;
154 }
155
156 static std::string toString(type tt) {
157 if (tt == l1) return "l1";
158 else if (tt == l2) return "l2";
159 else if (tt == c1) return "c1";
160 else if (tt == c2) return "c2";
161 else if (tt == lIF) return "lIF";
162 else if (tt == cIF) return "cIF";
163 else if (tt == MW) return "MW";
164 else if (tt == CL) return "CL";
165 return std::string();
166 }
167};
168
[5814]169} // namespace BNC_PPP
[5678]170
171#endif
Note: See TracBrowser for help on using the repository browser.