source: ntrip/trunk/BNC/src/PPP_RTK/pppClient.h@ 7232

Last change on this file since 7232 was 7231, checked in by stuerze, 10 years ago

some interfaces are added to be able to handle ssr vtec in PPP mode

  • 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.5 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#include "satObs.h"
11
12class bncAntex;
13
14namespace BNC_PPP {
15
16class t_pppEphPool;
17class t_pppObsPool;
18class t_pppSatObs;
19class t_pppStation;
20class t_pppFilter;
21
22class t_pppClient : public interface_pppClient {
23 public:
24 t_pppClient(const t_pppOptions* opt);
25 ~t_pppClient();
26
27 void putEphemeris(const t_eph* eph);
28 void putTec(const t_vTec* vTec);
29 void putOrbCorrections(const std::vector<t_orbCorr*>& corr);
30 void putClkCorrections(const std::vector<t_clkCorr*>& corr);
31 void putCodeBiases(const std::vector<t_satCodeBias*>& satBias);
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.