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

Last change on this file since 6345 was 6345, checked in by mervart, 9 years ago
File size: 2.2 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 <QtCore>
33#include <newmat.h>
34#include "bnctime.h"
35#include "t_prn.h"
36
37class t_sp3Comp : public QThread {
38Q_OBJECT
39
40 public:
41 t_sp3Comp(QObject* parent);
42
43 protected:
44 ~t_sp3Comp();
45
46 signals:
47 void finished();
48
49 public slots:
50
51 public:
52 virtual void run();
53
54 private:
55 class t_epoch {
56 public:
57 bncTime _tt;
58 std::map<t_prn, ColumnVector> _dr;
59 std::map<t_prn, ColumnVector> _xyz;
60 std::map<t_prn, double> _dc;
61 };
62
63 class t_stat {
64 public:
65 t_stat() {
66 _rao.ReSize(3);
67 _rao = 0.0;
68 _dc = 0.0;
69 _dcRed = 0.0;
70 _offset = 0.0;
71 _nr = 0;
72 _nc = 0;
73 }
74 ColumnVector _rao;
75 double _dc;
76 double _dcRed;
77 double _offset;
78 int _nr;
79 int _nc;
80 };
81
82 int satIndex(const std::set<t_prn>& clkSats, const t_prn& prn) const;
83 void processClocks(const std::set<t_prn>& clkSats, std::vector<t_epoch*>& epochs,
84 std::map<std::string, t_stat>& stat) const;
85
86 QStringList _sp3FileNames;
87 QString _logFileName;
88 QFile* _logFile;
89 QTextStream* _log;
90};
91
92#endif
Note: See TracBrowser for help on using the repository browser.