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

Last change on this file since 9560 was 9560, checked in by stuerze, 2 years ago

update regarding PPP

  • Property svn:keywords set to Author Date Id Rev URL;svn:eol-style=native
  • Property svn:mime-type set to text/plain
File size: 3.2 KB
RevLine 
[7237]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"
[9508]10#include "pppRefSat.h"
[7237]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:
[7288]24 t_pppClient(const t_pppOptions* opt);
25 ~t_pppClient();
[7237]26
[7288]27 void putEphemeris(const t_eph* eph);
[7237]28 void putTec(const t_vTec* vTec);
[7288]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*>& biases);
32 void putPhaseBiases(const std::vector<t_satPhaseBias*>& biases);
[7237]33 void processEpoch(const std::vector<t_satObs*>& satObs, t_output* output);
34
35 const t_pppEphPool* ephPool() const {return _ephPool;}
36 const t_pppObsPool* obsPool() const {return _obsPool;}
[8905]37 const bncAntex* antex() const {return _antex;}
[7237]38 const t_pppStation* staRover() const {return _staRover;}
[9288]39 double offGR() const {return _offGR;}
40 double offGE() const {return _offGE;}
41 double offGC() const {return _offGC;}
[7237]42
43 std::ostringstream& log() {return *_log;}
[7248]44 const t_pppOptions* opt() const {return _opt;}
[7237]45
46 static void bancroft(const Matrix& BBpass, ColumnVector& pos);
47
48 static t_pppClient* instance();
49
[7972]50 void reset();
51
[7237]52 private:
53 void initOutput(t_output* output);
[9545]54 void finish(t_irc irc, int ind);
[7237]55 void clearObs();
56 t_irc prepareObs(const std::vector<t_satObs*>& satObs,
57 std::vector<t_pppSatObs*>& obsVector, bncTime& epoTime);
[8905]58 bool preparePseudoObs(std::vector<t_pppSatObs*>& obsVector);
[9560]59 void useObsWithCodeBiasesOnly(std::vector<t_pppSatObs*>& obsVector);
[7237]60 t_irc cmpModel(t_pppStation* station, const ColumnVector& xyzc,
61 std::vector<t_pppSatObs*>& obsVector);
[7288]62 t_irc cmpBancroft(const bncTime& epoTime, std::vector<t_pppSatObs*>& obsVector,
[7237]63 ColumnVector& xyzc, bool print);
[9288]64 double cmpOffGR(std::vector<t_pppSatObs*>& obsVector);
65 double cmpOffGE(std::vector<t_pppSatObs*>& obsVector);
66 double cmpOffGC(std::vector<t_pppSatObs*>& obsVector);
[9386]67 t_irc handleRefSatellites(std::vector<t_pppSatObs*>& obsVector);
[8956]68 void setRefSatellites(std::vector<t_pppSatObs*>& obsVector);
[9386]69 void setHistoricalRefSats();
[7237]70
71 t_output* _output;
72 t_pppEphPool* _ephPool;
73 t_pppObsPool* _obsPool;
74 bncTime _epoTimeRover;
75 t_pppStation* _staRover;
76 bncAntex* _antex;
77 t_pppFilter* _filter;
[9288]78 double _offGR;
79 double _offGE;
80 double _offGC;
[7237]81 std::vector<t_pppSatObs*> _obsRover;
[9508]82 QMap<char, t_pppRefSat*> _refSatMap;
[7288]83 std::ostringstream* _log;
84 t_pppOptions* _opt;
[7237]85 t_tides* _tides;
[8905]86 bool _pseudoObsIono;
[9386]87 int _numEpoProcessing;
88 QMap<char, QList<t_prn>> _historicalRefSats;
[7237]89};
90
91}; // namespace BNC_PPP
92
93#define PPP_CLIENT (BNC_PPP::t_pppClient::instance())
94#define LOG (BNC_PPP::t_pppClient::instance()->log())
95#define OPT (BNC_PPP::t_pppClient::instance()->opt())
96
97#endif
Note: See TracBrowser for help on using the repository browser.