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

Last change on this file since 10581 was 8483, checked in by stuerze, 6 years ago

SSR parameter clock rate, clock drift and URA are added within RTNET format

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