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

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