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

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