source: ntrip/trunk/BNC/src/PPP/pppClient.h@ 5740

Last change on this file since 5740 was 5740, checked in by mervart, 10 years ago
File size: 2.4 KB
Line 
1#ifndef PPPCLIENT_H
2#define PPPCLIENT_H
3
4#include <sstream>
5#include <vector>
6#include "ppp.h"
7#include "ephemeris.h"
8#include "options.h"
9
10class bncAntex;
11
12namespace BNC {
13
14class t_ephPool;
15class t_obsPool;
16class t_satObs;
17class t_station;
18class t_filter;
19
20class t_pppClient {
21 public:
22 t_pppClient();
23 ~t_pppClient();
24 void setOptions(const t_options* opt);
25 void putGPSEphemeris(const t_ephGPS* eph);
26 void putGloEphemeris(const t_ephGlo* eph);
27 void putOrbCorrections(int numCorr, const t_orbCorr* corr);
28 void putClkCorrections(int numCorr, const t_clkCorr* corr);
29 void putBiases(int numBiases, const t_satBiases* biases);
30 void processEpoch(int numSatRover, const t_pppSatObs* satObsRover,
31 t_pppOutput* output);
32 const t_ephPool* ephPool() const {return _ephPool;}
33 const t_obsPool* obsPool() const {return _obsPool;}
34 const bncAntex* antex() const {return _antex;}
35 const t_station* staRover() const {return _staRover;}
36 double offGG() const {return _offGG;}
37 static void bancroft(const Matrix& BBpass, ColumnVector& pos);
38
39 std::ostringstream* _log;
40 t_options* _opt;
41
42 private:
43 void initOutput(t_pppOutput* output);
44 void finish(t_irc irc);
45 void clearObs();
46 t_irc prepareObs(int numSat, const t_pppSatObs* satObs,
47 std::vector<t_satObs*>& obsVector, bncTime& epoTime);
48 t_irc cmpModel(t_station* station, const ColumnVector& xyzc,
49 std::vector<t_satObs*>& obsVector);
50 t_irc cmpBancroft(const bncTime& epoTime,
51 std::vector<t_satObs*>& obsVector,
52 ColumnVector& xyzc, bool print);
53 double cmpOffGG(std::vector<t_satObs*>& obsVector);
54
55 t_pppOutput* _output;
56 t_ephPool* _ephPool;
57 t_obsPool* _obsPool;
58 bncTime _epoTimeRover;
59 t_station* _staRover;
60 bncAntex* _antex;
61 t_filter* _filter;
62 double _offGG;
63 std::vector<t_satObs*> _obsRover;
64
65};
66
67}; // namespace BNC
68
69/// Pointer to the main object
70extern BNC::t_pppClient* pppClient;
71
72/// Log stream abbreviation
73#define LOG (*pppClient->_log)
74
75/// Options abbreviation
76#define OPT (pppClient->_opt)
77
78#endif
Note: See TracBrowser for help on using the repository browser.