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

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

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

File size: 1.4 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      _clkValid = false;
22    }
23    ~t_sp3Sat() {}
24    t_prn        _prn;
25    ColumnVector _xyz;
26    double       _clk;
27    bool         _clkValid;
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
44  virtual ~bncSP3();
45  t_irc write(int GPSweek, double GPSweeks, const QString& prn,
46              const ColumnVector& xCoM, double sp3Clk,
47              const ColumnVector& v, double sp3ClkRate);
48  const t_sp3Epoch* nextEpoch();
49  const t_sp3Epoch* currEpoch() const {return _currEpoch;}
50  const t_sp3Epoch* prevEpoch() const {return _prevEpoch;}
51
52 private:
53  enum e_inpOut {input, output};
54
55  virtual void writeHeader(const QDateTime& datTim);
56  virtual void closeFile();
57
58  e_inpOut      _inpOut;
59  bncTime       _lastEpoTime;
60  std::ifstream _stream;
61  std::string   _lastLine;
62  t_sp3Epoch*   _currEpoch;
63  t_sp3Epoch*   _prevEpoch;
64};
65
66#endif
Note: See TracBrowser for help on using the repository browser.