source: ntrip/trunk/BNC/src/pppOptions.h@ 10791

Last change on this file since 10791 was 10791, checked in by mervart, 5 days ago

BNC Multifrequency and PPPAR Client (initial version)

File size: 3.9 KB
Line 
1#ifndef OPTIONS_H
2#define OPTIONS_H
3
4#include <string>
5#include <vector>
6#include <set>
7#include <newmat.h>
8#include "pppInclude.h"
9
10namespace BNC_PPP {
11
12class t_pppOptions {
13 public:
14 enum iono_type {est};
15 enum e_logMode {normal, debug, all};
16
17 class SysTrkModes {
18 public:
19 class FrqTrkModes {
20 public:
21 FrqTrkModes(t_frequency::type frq, const std::string trkModes)
22 : _frq(frq), _trkModes(trkModes) {}
23 t_frequency::type _frq;
24 std::string _trkModes;
25 };
26 std::vector<FrqTrkModes> _frqTrkModes;
27 };
28
29 class ArOptions {
30 public:
31 std::set<char> _systems;
32 double _minEle = 0.0;
33 unsigned _minNumEpo = 0;
34 int _minNumSat = 0;
35 bool _useYaw = false;
36 double _maxFrac = 0.0;
37 double _maxSig = 0.0;
38 };
39
40 t_pppOptions();
41 ~t_pppOptions();
42
43 std::vector<char> systems() const;
44 const std::vector<t_lc>& LCs(char system) const;
45 std::vector<t_lc> ambLCs(char system) const;
46 bool useSystem(char system) const {return LCs(system).size() > 0;}
47 bool useOrbClkCorr() const;
48 bool estTrp() const {return _aprSigTrp > 0.0 || _noiseTrp > 0.0;}
49 bool xyzAprRoverSet() const {
50 return (_xyzAprRover[0] != 0.0 || _xyzAprRover[1] != 0.0 || _xyzAprRover[2] != 0.0);
51 }
52 void setTrkModes(const std::string& trkStr);
53 const SysTrkModes* sysTrkModes(char sys) const {
54 auto it = _trkModesMap.find(sys);
55 return (it != _trkModesMap.end() ? &it->second : 0);
56 }
57 void setLCs(char sys, const std::string& lcStr);
58 void defaultFrqs(char sys, t_frequency::type& frq1, t_frequency::type& frq2) const;
59 bool ambRes() const {return _ar._systems.size() > 0;}
60 bool arSystem(char sys) const {return _ar._systems.find(sys) != _ar._systems.end();}
61
62 iono_type _ionoModelType;
63 bool _realTime;
64 std::string _crdFile;
65 std::string _corrMount;
66 std::string _biasMount;
67 std::string _ionoMount;
68 bool _isAPC;
69 std::string _rinexObs;
70 std::string _rinexNav;
71 std::string _corrFile;
72 std::string _biasFile;
73 std::string _ionoFile;
74 double _corrWaitTime;
75 std::string _roverName;
76 ColumnVector _xyzAprRover;
77 ColumnVector _neuEccRover;
78 std::string _recNameRover;
79 std::string _antNameRover;
80 std::string _antexFileName;
81 std::string _blqFileName;
82 double _sigmaC1;
83 double _sigmaL1;
84 double _sigmaGIM;
85 double _maxResC1;
86 double _maxResL1;
87 double _maxResGIM;
88 bool _eleWgtCode;
89 bool _eleWgtPhase;
90 double _minEle;
91 int _minObs;
92 ColumnVector _aprSigCrd;
93 double _aprSigClk;
94 double _aprSigTrp;
95 double _aprSigIon;
96 double _aprSigAmb;
97 double _aprSigCodeBias;
98 ColumnVector _noiseCrd;
99 double _noiseTrp;
100 int _nmeaPort;
101 double _seedingTime;
102 std::vector<t_lc> _LCsGPS;
103 std::vector<t_lc> _LCsGLONASS;
104 std::vector<t_lc> _LCsGalileo;
105 std::vector<t_lc> _LCsBDS;
106 bool _pseudoObsIono;
107 bool _refSatRequired;
108 ArOptions _ar;
109 e_logMode _logMode;
110private:
111 std::map<char, SysTrkModes> _trkModesMap;
112};
113
114}
115
116#endif
Note: See TracBrowser for help on using the repository browser.