source: ntrip/trunk/BNC/src/bncsp3.h@ 6347

Last change on this file since 6347 was 6347, checked in by mervart, 9 years ago
File size: 1.3 KB
Line 
1#ifndef BNCSP3_H
2#define BNCSP3_H
3
4#include <fstream>
5#include <newmat.h>
6#include <QtCore>
7
8#include "bncoutf.h"
9#include "bnctime.h"
10#include "t_prn.h"
11
12class bncSP3 : public bncoutf {
13 public:
14
15 class t_sp3Sat {
16 public:
17 t_sp3Sat() {
18 _xyz.ReSize(3);
19 _xyz = 0.0;
20 _clk = 0.0;
21 }
22 ~t_sp3Sat() {}
23 t_prn _prn;
24 ColumnVector _xyz;
25 double _clk;
26 };
27
28 class t_sp3Epoch {
29 public:
30 t_sp3Epoch() {}
31 ~t_sp3Epoch() {
32 for (int ii = 0; ii < _sp3Sat.size(); ii++) {
33 delete _sp3Sat[ii];
34 }
35 }
36 bncTime _tt;
37 QVector<t_sp3Sat*> _sp3Sat;
38 };
39
40 bncSP3(const QString& fileName); // input
41 bncSP3(const QString& sklFileName, const QString& intr, int sampl); // output
42 virtual ~bncSP3();
43 t_irc write(int GPSweek, double GPSweeks, const QString& prn,
44 const ColumnVector& xCoM, double sp3Clk);
45 const t_sp3Epoch* nextEpoch();
46 const t_sp3Epoch* currEpoch() const {return _currEpoch;}
47 const t_sp3Epoch* prevEpoch() const {return _prevEpoch;}
48
49 private:
50 enum e_inpOut {input, output};
51
52 virtual void writeHeader(const QDateTime& datTim);
53 virtual void closeFile();
54
55 e_inpOut _inpOut;
56 bncTime _lastEpoTime;
57 std::ifstream _stream;
58 std::string _lastLine;
59 t_sp3Epoch* _currEpoch;
60 t_sp3Epoch* _prevEpoch;
61};
62
63#endif
Note: See TracBrowser for help on using the repository browser.