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

Last change on this file since 10003 was 10003, checked in by stuerze, 14 months ago

minor changes

  • 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.3 KB
RevLine 
[7237]1#ifndef PPPCLIENT_H
2#define PPPCLIENT_H
3
4#include <sstream>
5#include <vector>
[9589]6#include <QMap>
[7237]7#include "pppInclude.h"
8#include "ephemeris.h"
9#include "pppOptions.h"
10#include "pppModel.h"
[9508]11#include "pppRefSat.h"
[7237]12
13class bncAntex;
14
15namespace BNC_PPP {
16
17class t_pppEphPool;
18class t_pppObsPool;
19class t_pppSatObs;
20class t_pppStation;
21class t_pppFilter;
22
23class t_pppClient : public interface_pppClient {
24 public:
[7288]25 t_pppClient(const t_pppOptions* opt);
26 ~t_pppClient();
[7237]27
[7288]28 void putEphemeris(const t_eph* eph);
[7237]29 void putTec(const t_vTec* vTec);
[7288]30 void putOrbCorrections(const std::vector<t_orbCorr*>& corr);
31 void putClkCorrections(const std::vector<t_clkCorr*>& corr);
32 void putCodeBiases(const std::vector<t_satCodeBias*>& biases);
33 void putPhaseBiases(const std::vector<t_satPhaseBias*>& biases);
[7237]34 void processEpoch(const std::vector<t_satObs*>& satObs, t_output* output);
35
36 const t_pppEphPool* ephPool() const {return _ephPool;}
37 const t_pppObsPool* obsPool() const {return _obsPool;}
[8905]38 const bncAntex* antex() const {return _antex;}
[7237]39 const t_pppStation* staRover() const {return _staRover;}
[10003]40 double offGlo() const {return _offGlo;}
41 double offGal() const {return _offGal;}
42 double offBds() const {return _offBds;}
[7237]43
44 std::ostringstream& log() {return *_log;}
[7248]45 const t_pppOptions* opt() const {return _opt;}
[7237]46
[9600]47 static t_irc bancroft(const Matrix& BBpass, ColumnVector& pos);
[7237]48
49 static t_pppClient* instance();
50
[7972]51 void reset();
52
[7237]53 private:
54 void initOutput(t_output* output);
[9545]55 void finish(t_irc irc, int ind);
[7237]56 void clearObs();
57 t_irc prepareObs(const std::vector<t_satObs*>& satObs,
58 std::vector<t_pppSatObs*>& obsVector, bncTime& epoTime);
[8905]59 bool preparePseudoObs(std::vector<t_pppSatObs*>& obsVector);
[9560]60 void useObsWithCodeBiasesOnly(std::vector<t_pppSatObs*>& obsVector);
[7237]61 t_irc cmpModel(t_pppStation* station, const ColumnVector& xyzc,
62 std::vector<t_pppSatObs*>& obsVector);
[7288]63 t_irc cmpBancroft(const bncTime& epoTime, std::vector<t_pppSatObs*>& obsVector,
[7237]64 ColumnVector& xyzc, bool print);
[10003]65 double cmpOffGlo(std::vector<t_pppSatObs*>& obsVector);
66 double cmpOffGal(std::vector<t_pppSatObs*>& obsVector);
67 double cmpOffBds(std::vector<t_pppSatObs*>& obsVector);
[9386]68 t_irc handleRefSatellites(std::vector<t_pppSatObs*>& obsVector);
[8956]69 void setRefSatellites(std::vector<t_pppSatObs*>& obsVector);
[9386]70 void setHistoricalRefSats();
[7237]71
72 t_output* _output;
73 t_pppEphPool* _ephPool;
74 t_pppObsPool* _obsPool;
75 bncTime _epoTimeRover;
76 t_pppStation* _staRover;
77 bncAntex* _antex;
78 t_pppFilter* _filter;
[10003]79 double _offGlo;
80 double _offGal;
81 double _offBds;
[7237]82 std::vector<t_pppSatObs*> _obsRover;
[9508]83 QMap<char, t_pppRefSat*> _refSatMap;
[7288]84 std::ostringstream* _log;
85 t_pppOptions* _opt;
[7237]86 t_tides* _tides;
[8905]87 bool _pseudoObsIono;
[9386]88 int _numEpoProcessing;
89 QMap<char, QList<t_prn>> _historicalRefSats;
[7237]90};
91
92}; // namespace BNC_PPP
93
94#define PPP_CLIENT (BNC_PPP::t_pppClient::instance())
95#define LOG (BNC_PPP::t_pppClient::instance()->log())
96#define OPT (BNC_PPP::t_pppClient::instance()->opt())
97
98#endif
Note: See TracBrowser for help on using the repository browser.