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

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