source: ntrip/trunk/BNC/src/PPP/ppp.h@ 5721

Last change on this file since 5721 was 5710, checked in by mervart, 10 years ago
File size: 2.4 KB
Line 
1#ifndef PPPMAIN_H
2#define PPPMAIN_H
3
4#include <sstream>
5#include <vector>
6#include "RTCM3/ephemeris.h"
7
8namespace BNC {
9
10class t_ephPool;
11class t_obsPool;
12class t_satObs;
13class t_station;
14class t_antex;
15class t_filter;
16
17class t_pppMain {
18 public:
19 t_pppMain();
20 ~t_pppMain();
21 void setOptions(const t_pppOpt* opt);
22 void putGPSEphemeris(const t_ephGPS* eph);
23 void putGloEphemeris(const t_ephGlo* eph);
24 void putOrbCorrections(int numCorr, const t_pppOrbCorr* corr);
25 void putClkCorrections(int numCorr, const t_pppClkCorr* corr);
26 void putBiases(int numBiases, const t_pppSatBiases* biases);
27 void processEpoch(int numSatRover, const t_pppSatObs* satObsRover,
28 t_pppOutput* output);
29 const t_ephPool* ephPool() const {return _ephPool;}
30 const t_obsPool* obsPool() const {return _obsPool;}
31 const t_antex* antex() const {return _antex;}
32 const t_station* staRover() const {return _staRover;}
33 double offGG() const {return _offGG;}
34
35 std::ostringstream* _log;
36 t_options* _opt;
37
38 private:
39 void initOutput(t_pppOutput* output);
40 void finish(t_irc::irc irc);
41 void clearObs();
42 t_irc::irc prepareObs(int numSat, const t_pppSatObs* satObs,
43 std::vector<t_satObs*>& obsVector, t_time& epoTime);
44 t_irc::irc cmpModel(t_station* station, const ColumnVector& xyzc,
45 std::vector<t_satObs*>& obsVector);
46 t_irc::irc cmpBancroft(const t_time& epoTime,
47 std::vector<t_satObs*>& obsVector,
48 ColumnVector& xyzc, bool print);
49 t_irc::irc createDifferences();
50 double cmpOffGG(std::vector<t_satObs*>& obsVector);
51
52 t_pppOutput* _output;
53 t_ephPool* _ephPool;
54 t_obsPool* _obsPool;
55 t_time _epoTimeRover;
56 t_time _epoTimeBase;
57 t_station* _staRover;
58 t_station* _staBase;
59 t_antex* _antex;
60 t_filter* _filter;
61 double _offGG;
62 std::vector<t_satObs*> _obsRover;
63 std::vector<t_satObs*> _obsBase;
64
65};
66
67}; // namespace BNC
68
69/// Pointer to the main object
70extern GPSS::t_pppMain* pppMain;
71
72/// Log stream abbreviation
73#define LOG (*pppMain->_log)
74
75/// Options abbreviation
76#define OPT (pppMain->_opt)
77
78#endif
Note: See TracBrowser for help on using the repository browser.