source: ntrip/trunk/BNC/src/PPP/ppp.h@ 5696

Last change on this file since 5696 was 5678, checked in by mervart, 10 years ago
File size: 3.6 KB
Line 
1#ifndef PPP_H
2#define PPP_H
3
4#include <string>
5
6namespace BNC {
7
8enum e_pppMode {
9 mode_PPP_DF,
10 mode_SPP_DF,
11 mode_PPP_SF,
12 mode_SPP_SF,
13};
14
15class t_pppOpt {
16 public:
17 e_pppMode _mode;
18 std::string _roverName;
19 std::string _baseName;
20 double _xyzAprRover[3];
21 double _neuEccRover[3];
22 std::string _antNameRover;
23 std::string _antexFileName;
24 int _logLevel;
25 int _minobs;
26 bool _useGlonass;
27};
28
29class t_pppOutput {
30 public:
31 bncTime _epoTime;
32 double _xyzRover[3];
33 double _covMatrix[6];
34 int _numSat;
35 double _ambFixRate;
36 double _pDop;
37 std::string _log;
38 bool _error;
39};
40
41class t_pppObs {
42 public:
43 std::string _rnxType2ch;
44 double _code;
45 bool _codeValid;
46 double _phase;
47 bool _phaseValid;
48 double _doppler;
49 bool _dopplerValid;
50 double _snr;
51 bool _snrValid;
52 bool _slip;
53 int _slipCounter;
54};
55
56class t_pppSat {
57 public:
58 char _system;
59 int _number;
60};
61
62class t_pppSatObs {
63 public:
64 t_pppSat _satellite;
65 bncTime _time;
66 std::vector<t_pppObs> _obs;
67};
68
69class t_pppOrbCorr {
70 public:
71 t_pppSat _satellite;
72 unsigned short _iod;
73 bncTime _time;
74 char _system;
75 double _xr[3];
76 double _dotXr[3];
77};
78
79class t_pppClkCorr {
80 public:
81 t_pppsat _satellite;
82 unsigned short _iod;
83 bncTime _time;
84 bool _absClk;
85 double _dClk;
86 double _dotDClk;
87 double _dotDotDClk;
88 double _clkPartial;
89};
90
91class t_pppBias {
92 public:
93 std::string _rnxType3ch;
94 double _value;
95};
96
97class t_pppSatBiases {
98 public:
99 t_pppSat _satellite;
100 bncTime _time;
101 int _nx;
102 int _jumpCount;
103 std::vector<t_pppSatBiases> _biases;
104};
105
106enum e_roverBase { e_rover, e_base };
107
108enum e_tropoModel{tropoModel_NO, tropoModel_SAAST, tropoModel_MARINI,
109 tropoModel_HOPF, tropoModel_UNB3M};
110
111enum e_tropoMF{tropoMF_INTRINSIC, tropoMF_COSZ, tropoMF_NIELL_DRY,
112 tropoMF_NIELL_WET, tropoMF_HOPF, tropoMF_GMF_DRY,
113 tropoMF_GMF_WET, tropoMF_GMF_COMB};
114
115class t_irc {
116 public:
117 enum irc {success = 0, failure};
118};
119
120class t_frequency {
121 public:
122 enum type {dummy = 0, G1, G2, R1, R2, maxFr};
123
124 static std::string toString(type tt) {
125 if (tt == G1) return "G1";
126 else if (tt == G2) return "G2";
127 else if (tt == R1) return "R1";
128 else if (tt == R2) return "R2";
129 return std::string();
130 }
131};
132
133class t_lc {
134 public:
135 enum type {dummy = 0, l1, l2, c1, c2, lIF, cIF, MW, CL, maxLc};
136
137 static bool need2ndFreq(type tt) {
138 if (tt == l2 || tt == c2 || tt == lIF || tt == cIF || tt == MW) return true;
139 return false;
140 }
141
142 static bool includesPhase(type tt) {
143 if (tt == l1 || tt == l2 || tt == lIF || tt == MW || tt == CL) return true;
144 return false;
145 }
146
147 static bool includesCode(type tt) {
148 if (tt == c1 || tt == c2 || tt == cIF || tt == MW || tt == CL) return true;
149 return false;
150 }
151
152 static std::string toString(type tt) {
153 if (tt == l1) return "l1";
154 else if (tt == l2) return "l2";
155 else if (tt == c1) return "c1";
156 else if (tt == c2) return "c2";
157 else if (tt == lIF) return "lIF";
158 else if (tt == cIF) return "cIF";
159 else if (tt == MW) return "MW";
160 else if (tt == CL) return "CL";
161 return std::string();
162 }
163};
164
165} // namespace BNC
166
167#endif
Note: See TracBrowser for help on using the repository browser.