source: ntrip/trunk/BNC/src/PPP/ppp_include.h@ 5721

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