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

Last change on this file since 5810 was 5810, checked in by mervart, 10 years ago
File size: 2.4 KB
RevLine 
[5734]1#ifndef PPPCLIENT_H
2#define PPPCLIENT_H
[5682]3
4#include <sstream>
5#include <vector>
[5810]6#include "pppInclude.h"
[5740]7#include "ephemeris.h"
[5810]8#include "pppOptions.h"
[5802]9#include "pppModel.h"
[5682]10
[5740]11class bncAntex;
12
[5682]13namespace BNC {
14
[5810]15class t_pppEphPool;
16class t_pppObsPool;
[5682]17class t_satObs;
[5810]18class t_pppStation;
19class t_pppFilter;
[5682]20
[5734]21class t_pppClient {
[5682]22 public:
[5810]23 t_pppClient(const t_pppOptions* opt);
[5734]24 ~t_pppClient();
[5761]25
[5772]26 void putEphemeris(const t_eph* eph);
[5779]27 void putOrbCorrections(const std::vector<t_orbCorr*>& corr);
28 void putClkCorrections(const std::vector<t_clkCorr*>& corr);
29 void putBiases(const std::vector<t_satBiases*>& biases);
[5778]30 void processEpoch(const std::vector<t_pppSatObs*>& pppSatObs, t_output* output);
[5761]31
[5810]32 const t_pppEphPool* ephPool() const {return _ephPool;}
33 const t_pppObsPool* obsPool() const {return _obsPool;}
[5740]34 const bncAntex* antex() const {return _antex;}
[5810]35 const t_pppStation* staRover() const {return _staRover;}
[5761]36 double offGG() const {return _offGG;}
37
38 std::ostringstream& log() {return *_log;}
[5810]39 const t_pppOptions* opt() const {return _opt;}
[5761]40
[5740]41 static void bancroft(const Matrix& BBpass, ColumnVector& pos);
[5682]42
[5758]43 static t_pppClient* instance();
44
[5682]45 private:
[5744]46 void initOutput(t_output* output);
[5740]47 void finish(t_irc irc);
[5682]48 void clearObs();
[5778]49 t_irc prepareObs(const std::vector<t_pppSatObs*>& pppSatObs,
[5772]50 std::vector<t_satObs*>& obsVector, bncTime& epoTime);
[5810]51 t_irc cmpModel(t_pppStation* station, const ColumnVector& xyzc,
[5772]52 std::vector<t_satObs*>& obsVector);
53 t_irc cmpBancroft(const bncTime& epoTime, std::vector<t_satObs*>& obsVector,
54 ColumnVector& xyzc, bool print);
[5682]55 double cmpOffGG(std::vector<t_satObs*>& obsVector);
56
[5744]57 t_output* _output;
[5810]58 t_pppEphPool* _ephPool;
59 t_pppObsPool* _obsPool;
[5740]60 bncTime _epoTimeRover;
[5810]61 t_pppStation* _staRover;
[5740]62 bncAntex* _antex;
[5810]63 t_pppFilter* _filter;
[5682]64 double _offGG;
65 std::vector<t_satObs*> _obsRover;
[5761]66 std::ostringstream* _log;
[5810]67 t_pppOptions* _opt;
[5802]68 t_tides* _tides;
[5682]69};
70
71}; // namespace BNC
72
[5758]73#define PPP_CLIENT (BNC::t_pppClient::instance())
[5761]74#define LOG (BNC::t_pppClient::instance()->log())
75#define OPT (BNC::t_pppClient::instance()->opt())
[5682]76
77#endif
Note: See TracBrowser for help on using the repository browser.