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

Last change on this file since 3442 was 3442, checked in by mervart, 13 years ago
File size: 2.1 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 sig0;
26 double sigP;
27 bool epoSpec;
28 const t_eph* eph;
29};
30
31class bncComb : public bncEphUser {
32 Q_OBJECT
33
34 public:
35 bncComb();
36 virtual ~bncComb();
37 void processCorrLine(const QString& staID, const QString& line);
38 int nStreams() const {return _ACs.size();}
39
40 signals:
41 void newMessage(QByteArray msg, bool showOnScreen);
42
43 private:
44
45 class cmbAC {
46 public:
47 cmbAC() {
48 weight = 0.0;
49 numObs = 0;
50 }
51 ~cmbAC() {}
52 QString mountPoint;
53 QString name;
54 double weight;
55 unsigned numObs;
56 };
57
58 class cmbCorr : public t_corr {
59 public:
60 QString acName;
61 };
62
63 class cmbEpoch {
64 public:
65 cmbEpoch() {}
66 ~cmbEpoch() {
67 QVectorIterator<cmbCorr*> it(corrs);
68 while (it.hasNext()) {
69 delete it.next();
70 }
71 }
72 QVector<cmbCorr*> corrs;
73 };
74
75 void processEpoch();
76 t_irc createAmat(Matrix& AA, ColumnVector& ll, DiagonalMatrix& PP,
77 const ColumnVector& x0, QMap<QString, t_corr*>& resCorr);
78 void dumpResults(const QMap<QString, t_corr*>& resCorr);
79 void printResults(QTextStream& out, const QMap<QString, t_corr*>& resCorr);
80 void switchToLastEph(const t_eph* lastEph, t_corr* corr);
81 void switchToLastEph(const t_eph* lastEph, cmbParam* pp);
82
83 QVector<cmbCorr*>& corrs() {return _buffer[_resTime].corrs;}
84
85 QList<cmbAC*> _ACs;
86 bncTime _resTime;
87 QVector<cmbParam*> _params;
88 QMap<bncTime, cmbEpoch> _buffer;
89 bncRtnetDecoder* _rtnetDecoder;
90 SymmetricMatrix _QQ;
91 QByteArray _log;
92 bncAntex* _antex;
93 double _MAXRES;
94};
95
96#endif
Note: See TracBrowser for help on using the repository browser.