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

Last change on this file since 7905 was 7288, checked in by stuerze, 9 years ago

phase biases added

  • Property svn:keywords set to Author Date Id Rev URL;svn:eol-style=native
  • Property svn:mime-type set to text/plain
File size: 2.4 KB
Line 
1#ifndef PPPCLIENT_H
2#define PPPCLIENT_H
3
4#include <sstream>
5#include <vector>
6#include "pppInclude.h"
7#include "ephemeris.h"
8#include "pppOptions.h"
9#include "pppModel.h"
10
11class bncAntex;
12
13namespace BNC_PPP {
14
15class t_pppEphPool;
16class t_pppObsPool;
17class t_pppSatObs;
18class t_pppStation;
19class t_pppFilter;
20
21class t_pppClient : public interface_pppClient {
22 public:
23 t_pppClient(const t_pppOptions* opt);
24 ~t_pppClient();
25
26 void putEphemeris(const t_eph* eph);
27 void putTec(const t_vTec* vTec);
28 void putOrbCorrections(const std::vector<t_orbCorr*>& corr);
29 void putClkCorrections(const std::vector<t_clkCorr*>& corr);
30 void putCodeBiases(const std::vector<t_satCodeBias*>& biases);
31 void putPhaseBiases(const std::vector<t_satPhaseBias*>& biases);
32 void processEpoch(const std::vector<t_satObs*>& satObs, t_output* output);
33
34 const t_pppEphPool* ephPool() const {return _ephPool;}
35 const t_pppObsPool* obsPool() const {return _obsPool;}
36 const bncAntex* antex() const {return _antex;}
37 const t_pppStation* staRover() const {return _staRover;}
38 double offGG() const {return _offGG;}
39
40 std::ostringstream& log() {return *_log;}
41 const t_pppOptions* opt() const {return _opt;}
42
43 static void bancroft(const Matrix& BBpass, ColumnVector& pos);
44
45 static t_pppClient* instance();
46
47 private:
48 void initOutput(t_output* output);
49 void finish(t_irc irc);
50 void clearObs();
51 t_irc prepareObs(const std::vector<t_satObs*>& satObs,
52 std::vector<t_pppSatObs*>& obsVector, bncTime& epoTime);
53 t_irc cmpModel(t_pppStation* station, const ColumnVector& xyzc,
54 std::vector<t_pppSatObs*>& obsVector);
55 t_irc cmpBancroft(const bncTime& epoTime, std::vector<t_pppSatObs*>& obsVector,
56 ColumnVector& xyzc, bool print);
57 double cmpOffGG(std::vector<t_pppSatObs*>& obsVector);
58
59 t_output* _output;
60 t_pppEphPool* _ephPool;
61 t_pppObsPool* _obsPool;
62 bncTime _epoTimeRover;
63 t_pppStation* _staRover;
64 bncAntex* _antex;
65 t_pppFilter* _filter;
66 double _offGG;
67 std::vector<t_pppSatObs*> _obsRover;
68 std::ostringstream* _log;
69 t_pppOptions* _opt;
70 t_tides* _tides;
71};
72
73}; // namespace BNC_PPP
74
75#define PPP_CLIENT (BNC_PPP::t_pppClient::instance())
76#define LOG (BNC_PPP::t_pppClient::instance()->log())
77#define OPT (BNC_PPP::t_pppClient::instance()->opt())
78
79#endif
Note: See TracBrowser for help on using the repository browser.