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

Last change on this file since 10460 was 10388, checked in by stuerze, 10 months ago

changes 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.4 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"
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:
[7288]23 t_pppClient(const t_pppOptions* opt);
24 ~t_pppClient();
[7237]25
[7288]26 void putEphemeris(const t_eph* eph);
[7237]27 void putTec(const t_vTec* vTec);
[7288]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);
[7237]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;}
[8905]36 const bncAntex* antex() const {return _antex;}
[7237]37 const t_pppStation* staRover() const {return _staRover;}
[10388]38 double offGps() const {return _offGps;}
[10256]39 double offGlo() const {return _offGlo;}
40 double offGal() const {return _offGal;}
41 double offBds() const {return _offBds;}
[10388]42 void resetOffGps() {_offGps = 0.0;}
43 void resetOffGlo() {_offGlo = 0.0;}
44 void resetOffGal() {_offGal = 0.0;}
45 void resetOffBds() {_offBds = 0.0;}
[7237]46
[10373]47
[7237]48 std::ostringstream& log() {return *_log;}
[7248]49 const t_pppOptions* opt() const {return _opt;}
[9600]50 static t_irc bancroft(const Matrix& BBpass, ColumnVector& pos);
[7237]51
52 static t_pppClient* instance();
53
[7972]54 void reset();
55
[7237]56 private:
57 void initOutput(t_output* output);
[9545]58 void finish(t_irc irc, int ind);
[7237]59 void clearObs();
60 t_irc prepareObs(const std::vector<t_satObs*>& satObs,
61 std::vector<t_pppSatObs*>& obsVector, bncTime& epoTime);
[8905]62 bool preparePseudoObs(std::vector<t_pppSatObs*>& obsVector);
[9560]63 void useObsWithCodeBiasesOnly(std::vector<t_pppSatObs*>& obsVector);
[7237]64 t_irc cmpModel(t_pppStation* station, const ColumnVector& xyzc,
65 std::vector<t_pppSatObs*>& obsVector);
[7288]66 t_irc cmpBancroft(const bncTime& epoTime, std::vector<t_pppSatObs*>& obsVector,
[7237]67 ColumnVector& xyzc, bool print);
[10388]68 double cmpOffGps(std::vector<t_pppSatObs*>& obsVector);
[10256]69 double cmpOffGlo(std::vector<t_pppSatObs*>& obsVector);
70 double cmpOffGal(std::vector<t_pppSatObs*>& obsVector);
71 double cmpOffBds(std::vector<t_pppSatObs*>& obsVector);
[10232]72
[10256]73
[7237]74 t_output* _output;
75 t_pppEphPool* _ephPool;
76 t_pppObsPool* _obsPool;
77 bncTime _epoTimeRover;
78 t_pppStation* _staRover;
79 bncAntex* _antex;
80 t_pppFilter* _filter;
[10388]81 double _offGps;
[10256]82 double _offGlo;
83 double _offGal;
84 double _offBds;
[7237]85 std::vector<t_pppSatObs*> _obsRover;
[7288]86 std::ostringstream* _log;
87 t_pppOptions* _opt;
[7237]88 t_tides* _tides;
[8905]89 bool _pseudoObsIono;
[10256]90 QMap<char, int> _usedSystems;
[10259]91 bool _running;
[7237]92};
93
94}; // namespace BNC_PPP
95
96#define PPP_CLIENT (BNC_PPP::t_pppClient::instance())
97#define LOG (BNC_PPP::t_pppClient::instance()->log())
98#define OPT (BNC_PPP::t_pppClient::instance()->opt())
99
100#endif
Note: See TracBrowser for help on using the repository browser.