source: ntrip/branches/BNC_2.12/src/upload/bncrtnetuploadcaster.h @ 8146

Last change on this file since 8146 was 8146, checked in by stuerze, 21 months ago

bug fixed regarding crd trafo: trafo from ITRF2014 into ETRF2008, NAD83 or DREF91 is done via ITRF2008

File size: 3.0 KB
Line 
1#ifndef BNCRTNETUPLOADCASTER_H
2#define BNCRTNETUPLOADCASTER_H
3
4#include <newmat.h>
5#include "bncuploadcaster.h"
6#include "bnctime.h"
7#include "ephemeris.h"
8extern "C" {
9#include "clock_orbit_rtcm.h"
10}
11
12class bncEphUser;
13class bncoutf;
14class bncClockRinex;
15class bncSP3;
16
17class bncRtnetUploadCaster : public bncUploadCaster {
18 Q_OBJECT
19 public:
20  bncRtnetUploadCaster(const QString& mountpoint,
21                  const QString& outHost, int outPort,
22                  const QString& password, 
23                  const QString& crdTrafo, bool  CoM, 
24                  const QString& sp3FileName,
25                  const QString& rnxFileName,
26                  int PID, int SID, int IOD, int iRow);
27  void decodeRtnetStream(char* buffer, int bufLen);
28 protected:
29  virtual ~bncRtnetUploadCaster();
30 private:
31  void processSatellite(const t_eph* eph, int GPSweek, 
32                        double GPSweeks, const QString& prn, 
33                        const ColumnVector& rtnAPC,
34                        double rtnClk,
35                        const ColumnVector& rtnVel,
36                        const ColumnVector& rtnCoM,
37                        struct ClockOrbit::SatData* sd,
38                        QString& outLine);
39  void crdTrafo(int GPSWeek, ColumnVector& xyz, double& dc);
40
41  // TODO: the following lines can be deleted if all parameters are updated regarding ITRF2014
42  void crdTrafo8(int GPSWeek, ColumnVector& xyz, double& dc);
43 
44  int determineUpdateInd(double samplingRate);
45
46  QString        _casterID;
47  bncEphUser*    _ephUser;
48  QString        _rtnetStreamBuffer;
49  QString        _crdTrafo;
50  bool           _CoM;
51  int            _PID;
52  int            _SID;
53  int            _IOD;
54  int            _samplRtcmClkCorr;
55  double         _samplRtcmEphCorr;
56  double         _dx;
57  double         _dy;
58  double         _dz;
59  double         _dxr;
60  double         _dyr;
61  double         _dzr;
62  double         _ox;
63  double         _oy;
64  double         _oz;
65  double         _oxr;
66  double         _oyr;
67  double         _ozr;
68  double         _sc;
69  double         _scr;
70  double         _t0;
71  bncClockRinex* _rnx;
72  bncSP3*        _sp3;
73  QMap<QString, const t_eph*>* _usedEph;
74    // TODO: the following lines can be deleted if all parameters are updated regarding ITRF2014
75  double         _dx8;
76  double         _dy8;
77  double         _dz8;
78  double         _dxr8;
79  double         _dyr8;
80  double         _dzr8;
81  double         _ox8;
82  double         _oy8;
83  double         _oz8;
84  double         _oxr8;
85  double         _oyr8;
86  double         _ozr8;
87  double         _sc8;
88  double         _scr8;
89  double         _t08;
90};
91
92struct phaseBiasesSat {
93  phaseBiasesSat() {
94    yawAngle = 0.0;
95    yawRate = 0.0;
96  }
97  double yawAngle;
98  double yawRate;
99};
100
101struct phaseBiasSignal {
102  phaseBiasSignal() {
103    bias      = 0.0;
104    integerIndicator     = 0;
105    wlIndicator          = 0;
106    discontinuityCounter = 0;
107  }
108  QString type;
109  double bias;
110  unsigned int integerIndicator;
111  unsigned int wlIndicator;
112  unsigned int discontinuityCounter;
113};
114
115#endif
Note: See TracBrowser for help on using the repository browser.