source: ntrip/trunk/BNC/src/upload/bncrtnetuploadcaster.h@ 9911

Last change on this file since 9911 was 9911, checked in by stuerze, 17 months ago

some updates towards IGS20

File size: 3.6 KB
RevLine 
[3224]1#ifndef BNCRTNETUPLOADCASTER_H
2#define BNCRTNETUPLOADCASTER_H
[3222]3
[3224]4#include <newmat.h>
[9512]5#include <iostream>
[3224]6#include "bncuploadcaster.h"
[3222]7#include "bnctime.h"
[3225]8#include "ephemeris.h"
[8969]9#include "../RTCM3/clock_and_orbit/clock_orbit_rtcm.h"
10#include "../RTCM3/clock_and_orbit/clock_orbit_igs.h"
[3222]11
[3224]12class bncEphUser;
[3222]13class bncoutf;
14class bncClockRinex;
15class bncSP3;
[9652]16class bncBiasSinex;
[3222]17
[3224]18class bncRtnetUploadCaster : public bncUploadCaster {
[3222]19 Q_OBJECT
20 public:
[3224]21 bncRtnetUploadCaster(const QString& mountpoint,
[3222]22 const QString& outHost, int outPort,
[9032]23 const QString& ntripVersion, const QString& userName,
24 const QString& password,
[9025]25 const QString& crdTrafo, const QString& ssrFormat,
[9032]26 bool CoM,
27 const QString& sp3FileName,
[3222]28 const QString& rnxFileName,
[9652]29 const QString& bsxFileName,
[4111]30 int PID, int SID, int IOD, int iRow);
[3226]31 void decodeRtnetStream(char* buffer, int bufLen);
[3222]32 protected:
[3224]33 virtual ~bncRtnetUploadCaster();
[3222]34 private:
[8542]35 t_irc processSatellite(const t_eph* eph, int GPSweek,
[8017]36 double GPSweeks, const QString& prn,
[4991]37 const ColumnVector& rtnAPC,
[8483]38 double ura,
39 const ColumnVector& rtnClk,
[4991]40 const ColumnVector& rtnVel,
41 const ColumnVector& rtnCoM,
[8483]42 const ColumnVector& rtnClkSig,
[9025]43 struct SsrCorr::ClockOrbit::SatData* sd,
[3222]44 QString& outLine);
[9868]45 void decodeRtnetEpoch(QStringList epochLines);
[9179]46 bool corrIsOutOfRange(struct SsrCorr::ClockOrbit::SatData* sd);
47
[4803]48 void crdTrafo(int GPSWeek, ColumnVector& xyz, double& dc);
[9911]49 // TODO: the following line can be deleted if all parameters are updated regarding ITRF2020
50 void crdTrafo14(int GPSWeek, ColumnVector& xyz, double& dc);
[3222]51
[6557]52 int determineUpdateInd(double samplingRate);
53
[5130]54 QString _casterID;
[3222]55 bncEphUser* _ephUser;
56 QString _rtnetStreamBuffer;
57 QString _crdTrafo;
[9025]58 SsrCorr* _ssrCorr;
59 QString _ssrFormat;
[3222]60 bool _CoM;
[9128]61 bool _phaseBiasInformationDecoded;
[4111]62 int _PID;
63 int _SID;
64 int _IOD;
[6557]65 int _samplRtcmClkCorr;
[4174]66 double _samplRtcmEphCorr;
[3222]67 double _dx;
68 double _dy;
69 double _dz;
70 double _dxr;
71 double _dyr;
72 double _dzr;
73 double _ox;
74 double _oy;
75 double _oz;
76 double _oxr;
77 double _oyr;
78 double _ozr;
79 double _sc;
80 double _scr;
81 double _t0;
[9911]82 // TODO: the following lines can be deleted if all parameters are updated regarding ITRF2020
83 double _dx14;
84 double _dy14;
85 double _dz14;
86 double _dxr14;
87 double _dyr14;
88 double _dzr14;
89 double _ox14;
90 double _oy14;
91 double _oz14;
92 double _oxr14;
93 double _oyr14;
94 double _ozr14;
95 double _sc14;
96 double _scr14;
97 double _t014;
98
[3222]99 bncClockRinex* _rnx;
100 bncSP3* _sp3;
[9652]101 bncBiasSinex* _bsx;
[6442]102 QMap<QString, const t_eph*>* _usedEph;
[3222]103};
104
[6850]105struct phaseBiasesSat {
[7257]106 phaseBiasesSat() {
[8017]107 yawAngle = 0.0;
108 yawRate = 0.0;
[7257]109 }
[8017]110 double yawAngle;
111 double yawRate;
[6850]112};
113
114struct phaseBiasSignal {
[7257]115 phaseBiasSignal() {
116 bias = 0.0;
[8017]117 integerIndicator = 0;
118 wlIndicator = 0;
119 discontinuityCounter = 0;
[7257]120 }
[6850]121 QString type;
122 double bias;
[8017]123 unsigned int integerIndicator;
124 unsigned int wlIndicator;
125 unsigned int discontinuityCounter;
[6850]126};
127
[3222]128#endif
Note: See TracBrowser for help on using the repository browser.