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

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

updated transformation parameters for ITRF2014 => DREF91 and ITRF2014 => ETRF2000

File size: 2.9 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  int determineUpdateInd(double samplingRate);
42
43  QString        _casterID;
44  bncEphUser*    _ephUser;
45  QString        _rtnetStreamBuffer;
46  QString        _crdTrafo;
47  bool           _CoM;
48  int            _PID;
49  int            _SID;
50  int            _IOD;
51  int            _samplRtcmClkCorr;
52  double         _samplRtcmEphCorr;
53  double         _dx;
54  double         _dy;
55  double         _dz;
56  double         _dxr;
57  double         _dyr;
58  double         _dzr;
59  double         _ox;
60  double         _oy;
61  double         _oz;
62  double         _oxr;
63  double         _oyr;
64  double         _ozr;
65  double         _sc;
66  double         _scr;
67  double         _t0;
68  bncClockRinex* _rnx;
69  bncSP3*        _sp3;
70  QMap<QString, const t_eph*>* _usedEph;
71    // TODO: the following lines can be deleted if all parameters are updated regarding ITRF2014
72  double         _dx8;
73  double         _dy8;
74  double         _dz8;
75  double         _dxr8;
76  double         _dyr8;
77  double         _dzr8;
78  double         _ox8;
79  double         _oy8;
80  double         _oz8;
81  double         _oxr8;
82  double         _oyr8;
83  double         _ozr8;
84  double         _sc8;
85  double         _scr8;
86  double         _t08;
87};
88
89struct phaseBiasesSat {
90  phaseBiasesSat() {
91    yawAngle = 0.0;
92    yawRate = 0.0;
93  }
94  double yawAngle;
95  double yawRate;
96};
97
98struct phaseBiasSignal {
99  phaseBiasSignal() {
100    bias      = 0.0;
101    integerIndicator     = 0;
102    wlIndicator          = 0;
103    discontinuityCounter = 0;
104  }
105  QString type;
106  double bias;
107  unsigned int integerIndicator;
108  unsigned int wlIndicator;
109  unsigned int discontinuityCounter;
110};
111
112#endif
Note: See TracBrowser for help on using the repository browser.