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

Last change on this file since 10650 was 10650, checked in by stuerze, 3 days ago

minor changes

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