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

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