source: ntrip/trunk/BNC/src/orbComp/sp3Comp.h@ 10580

Last change on this file since 10580 was 10106, checked in by stuerze, 18 months ago

allow to write summary only in sp3 comparison

File size: 2.6 KB
Line 
1// Part of BNC, a utility for retrieving decoding and
2// converting GNSS data streams from NTRIP broadcasters.
3//
4// Copyright (C) 2007
5// German Federal Agency for Cartography and Geodesy (BKG)
6// http://www.bkg.bund.de
7// Czech Technical University Prague, Department of Geodesy
8// http://www.fsv.cvut.cz
9//
10// Email: euref-ip@bkg.bund.de
11//
12// This program is free software; you can redistribute it and/or
13// modify it under the terms of the GNU General Public License
14// as published by the Free Software Foundation, version 2.
15//
16// This program is distributed in the hope that it will be useful,
17// but WITHOUT ANY WARRANTY; without even the implied warranty of
18// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19// GNU General Public License for more details.
20//
21// You should have received a copy of the GNU General Public License
22// along with this program; if not, write to the Free Software
23// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24
25#ifndef SP3COMP_H
26#define SP3COMP_H
27
28#include <map>
29#include <set>
30#include <vector>
31#include <string>
32#include <sstream>
33#include <QtCore>
34#include <newmat.h>
35#include "bnctime.h"
36#include "t_prn.h"
37
38class t_sp3Comp : public QThread {
39Q_OBJECT
40
41 public:
42 t_sp3Comp(QObject* parent);
43
44 protected:
45 ~t_sp3Comp();
46
47 signals:
48 void finished();
49
50 public slots:
51
52 public:
53 virtual void run();
54
55 private:
56 class t_epoch {
57 public:
58 bncTime _tt;
59 std::map<t_prn, ColumnVector> _dr;
60 std::map<t_prn, ColumnVector> _xyz;
61 std::map<t_prn, double> _dc;
62 std::map<t_prn, double> _dcRed;
63 };
64
65 class t_stat {
66 public:
67 t_stat() {
68 _rao.ReSize(3); _rao = 0.0;
69 _rao3DRMS = 0.0;
70 _dcRMS = 0.0;
71 _dcRedRMS = 0.0;
72 _dcRedMean = 0.0;
73 _dcRedSig = 0.0;
74 _offset = 0.0;
75 _nr = 0;
76 _nc = 0;
77 }
78 ColumnVector _rao;
79 double _rao3DRMS;
80 double _dcRMS;
81 double _dcRedRMS;
82 double _dcRedMean;
83 double _dcRedSig;
84 double _offset;
85 int _nr;
86 int _nc;
87 };
88
89 int satIndex(const std::set<t_prn>& clkSats, const t_prn& prn) const;
90 void processClocks(const std::set<t_prn>& clkSats, const std::vector<t_epoch*>& epochsIn,
91 std::map<std::string, t_stat>& stat) const;
92 void compare(std::ostringstream& out) const;
93 bool excludeSat(const t_prn& prn) const;
94
95 QStringList _sp3FileNames;
96 QString _logFileName;
97 QFile* _logFile;
98 QTextStream* _log;
99 QStringList _excludeSats;
100 bool _summaryOnly;
101};
102
103#endif
Note: See TracBrowser for help on using the repository browser.