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

Last change on this file was 10106, checked in by stuerze, 11 months ago

allow to write summary only in sp3 comparison

File size: 2.6 KB
RevLine 
[6333]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
[6344]28#include <map>
[6345]29#include <set>
30#include <vector>
31#include <string>
[6352]32#include <sstream>
[6333]33#include <QtCore>
[6344]34#include <newmat.h>
35#include "bnctime.h"
36#include "t_prn.h"
[6333]37
38class t_sp3Comp : public QThread {
39Q_OBJECT
[10092]40
[6333]41 public:
42 t_sp3Comp(QObject* parent);
43
44 protected:
45 ~t_sp3Comp();
46
47 signals:
48 void finished();
[10092]49
[6333]50 public slots:
51
52 public:
53 virtual void run();
[10092]54
[6333]55 private:
[6344]56 class t_epoch {
57 public:
[6356]58 bncTime _tt;
[6344]59 std::map<t_prn, ColumnVector> _dr;
60 std::map<t_prn, ColumnVector> _xyz;
61 std::map<t_prn, double> _dc;
[10092]62 std::map<t_prn, double> _dcRed;
[6344]63 };
64
65 class t_stat {
66 public:
67 t_stat() {
[10092]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;
[6344]77 }
78 ColumnVector _rao;
[10092]79 double _rao3DRMS;
80 double _dcRMS;
81 double _dcRedRMS;
82 double _dcRedMean;
83 double _dcRedSig;
[6344]84 double _offset;
85 int _nr;
86 int _nc;
87 };
88
[6345]89 int satIndex(const std::set<t_prn>& clkSats, const t_prn& prn) const;
[6360]90 void processClocks(const std::set<t_prn>& clkSats, const std::vector<t_epoch*>& epochsIn,
[6345]91 std::map<std::string, t_stat>& stat) const;
[6352]92 void compare(std::ostringstream& out) const;
[6428]93 bool excludeSat(const t_prn& prn) const;
[6345]94
[6431]95 QStringList _sp3FileNames;
96 QString _logFileName;
97 QFile* _logFile;
98 QTextStream* _log;
99 QStringList _excludeSats;
[10106]100 bool _summaryOnly;
[6333]101};
102
103#endif
Note: See TracBrowser for help on using the repository browser.