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

Last change on this file since 6351 was 6351, checked in by mervart, 5 years ago
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 t_sp3Epoch* nextEpoch();
48  const t_sp3Epoch* currEpoch() const {return _currEpoch;}
49  const t_sp3Epoch* prevEpoch() const {return _prevEpoch;}
50
51 private:
52  enum e_inpOut {input, output};
53
54  virtual void writeHeader(const QDateTime& datTim);
55  virtual void closeFile();
56
57  e_inpOut      _inpOut;
58  bncTime       _lastEpoTime;
59  std::ifstream _stream;
60  std::string   _lastLine;
61  t_sp3Epoch*   _currEpoch;
62  t_sp3Epoch*   _prevEpoch;
63};
64
65#endif
Note: See TracBrowser for help on using the repository browser.