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

Last change on this file since 5802 was 5802, checked in by mervart, 10 years ago
File size: 2.3 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#include "pppModel.h"
10
11class bncAntex;
12
13namespace BNC {
14
15class t_ephPool;
16class t_obsPool;
17class t_satObs;
18class t_station;
19class t_filter;
20
21class t_pppClient {
22 public:
23 t_pppClient(const t_options* opt);
24 ~t_pppClient();
25
26 void putEphemeris(const t_eph* eph);
27 void putOrbCorrections(const std::vector<t_orbCorr*>& corr);
28 void putClkCorrections(const std::vector<t_clkCorr*>& corr);
29 void putBiases(const std::vector<t_satBiases*>& biases);
30 void processEpoch(const std::vector<t_pppSatObs*>& pppSatObs, t_output* output);
31
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
38 std::ostringstream& log() {return *_log;}
39 const t_options* opt() const {return _opt;}
40
41 static void bancroft(const Matrix& BBpass, ColumnVector& pos);
42
43 static t_pppClient* instance();
44
45 private:
46 void initOutput(t_output* output);
47 void finish(t_irc irc);
48 void clearObs();
49 t_irc prepareObs(const std::vector<t_pppSatObs*>& pppSatObs,
50 std::vector<t_satObs*>& obsVector, bncTime& epoTime);
51 t_irc cmpModel(t_station* station, const ColumnVector& xyzc,
52 std::vector<t_satObs*>& obsVector);
53 t_irc cmpBancroft(const bncTime& epoTime, std::vector<t_satObs*>& obsVector,
54 ColumnVector& xyzc, bool print);
55 double cmpOffGG(std::vector<t_satObs*>& obsVector);
56
57 t_output* _output;
58 t_ephPool* _ephPool;
59 t_obsPool* _obsPool;
60 bncTime _epoTimeRover;
61 t_station* _staRover;
62 bncAntex* _antex;
63 t_filter* _filter;
64 double _offGG;
65 std::vector<t_satObs*> _obsRover;
66 std::ostringstream* _log;
67 t_options* _opt;
68 t_tides* _tides;
69};
70
71}; // namespace BNC
72
73#define PPP_CLIENT (BNC::t_pppClient::instance())
74#define LOG (BNC::t_pppClient::instance()->log())
75#define OPT (BNC::t_pppClient::instance()->opt())
76
77#endif
Note: See TracBrowser for help on using the repository browser.