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

Last change on this file since 6429 was 6428, checked in by mervart, 10 years ago
File size: 2.4 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 };
63
64 class t_stat {
65 public:
66 t_stat() {
67 _rao.ReSize(3);
68 _rao = 0.0;
69 _dc = 0.0;
70 _dcRed = 0.0;
71 _offset = 0.0;
72 _nr = 0;
73 _nc = 0;
74 }
75 ColumnVector _rao;
76 double _dc;
77 double _dcRed;
78 double _offset;
79 int _nr;
80 int _nc;
81 };
82
83 int satIndex(const std::set<t_prn>& clkSats, const t_prn& prn) const;
84 void processClocks(const std::set<t_prn>& clkSats, const std::vector<t_epoch*>& epochsIn,
85 std::map<std::string, t_stat>& stat) const;
86 void compare(std::ostringstream& out) const;
87 bool excludeSat(const t_prn& prn) const;
88
89 QStringList _sp3FileNames;
90 QString _logFileName;
91 QFile* _logFile;
92 QTextStream* _log;
93 std::set<t_prn> _excludeSats;
94};
95
96#endif
Note: See TracBrowser for help on using the repository browser.