source: ntrip/trunk/BNC/combination/bnccomb.h@ 3434

Last change on this file since 3434 was 3434, checked in by mervart, 13 years ago
File size: 1.9 KB
Line 
1
2#ifndef BNCCOMB_H
3#define BNCCOMB_H
4
5#include <fstream>
6#include <newmat.h>
7#include "bncephuser.h"
8
9class bncRtnetDecoder;
10class bncSP3;
11class bncAntex;
12
13class cmbParam {
14 public:
15 enum parType {offAC, offACSat, clkSat};
16 cmbParam(parType type_, int index_, const QString& ac_, const QString& prn_);
17 ~cmbParam();
18 double partial(const QString& AC_, const QString& prn_);
19 QString toString() const;
20 parType type;
21 int index;
22 QString AC;
23 QString prn;
24 double xx;
25 double sig_0;
26 double sig_P;
27};
28
29class bncComb : public bncEphUser {
30 Q_OBJECT
31
32 public:
33 bncComb();
34 virtual ~bncComb();
35 void processCorrLine(const QString& staID, const QString& line);
36 int nStreams() const {return _ACs.size();}
37
38 signals:
39 void newMessage(QByteArray msg, bool showOnScreen);
40
41 private:
42
43 class cmbAC {
44 public:
45 cmbAC() {
46 weight = 0.0;
47 numObs = 0;
48 }
49 ~cmbAC() {}
50 QString mountPoint;
51 QString name;
52 double weight;
53 unsigned numObs;
54 };
55
56 class cmbCorr : public t_corr {
57 public:
58 QString acName;
59 };
60
61 class cmbEpoch {
62 public:
63 cmbEpoch() {}
64 ~cmbEpoch() {
65 QVectorIterator<cmbCorr*> it(corrs);
66 while (it.hasNext()) {
67 delete it.next();
68 }
69 }
70 QVector<cmbCorr*> corrs;
71 };
72
73 void processEpoch();
74 void dumpResults(const QMap<QString, t_corr*>& resCorr);
75 void printResults(QTextStream& out, const QMap<QString, t_corr*>& resCorr);
76 void switchToLastEph(const t_eph* lastEph, t_corr* corr);
77
78 QVector<cmbCorr*>& corrs() {return _buffer[_resTime].corrs;}
79
80 QList<cmbAC*> _ACs;
81 bncTime _resTime;
82 QVector<cmbParam*> _params;
83 QMap<bncTime, cmbEpoch> _buffer;
84 bncRtnetDecoder* _rtnetDecoder;
85 SymmetricMatrix _QQ;
86 bool _firstReg;
87 QByteArray _log;
88 bncAntex* _antex;
89 double _MAXRES;
90};
91
92#endif
Note: See TracBrowser for help on using the repository browser.