Changeset 884 in ntrip for trunk/BNS/bnseph.h
- Timestamp:
- May 8, 2008, 3:36:12 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNS/bnseph.h
r838 r884 2 2 #define BNSEPH_H 3 3 4 #include <newmat.h> 5 6 #include <QtCore> 4 7 #include <QThread> 5 8 #include <QtNetwork> 6 9 7 class gpsEph { 10 11 class t_eph { 8 12 public: 9 QString prn; 10 double GPSweek; 11 double TOW; // [s] 12 double TOC; // [s] 13 double TOE; // [s] 14 double IODE; 15 double IODC; 13 virtual ~t_eph() {}; 14 virtual void position(int GPSweek, double GPSweeks, ColumnVector& xc, 15 ColumnVector& vv) const = 0; 16 virtual void read(const QStringList& lines) = 0; 17 virtual bool isNewerThan(const t_eph* ep) const = 0; 18 virtual int IOD() const = 0; 19 QString prn() const {return _prn;} 20 protected: 21 QString _prn; 22 }; 16 23 17 double clock_bias; // [s] 18 double clock_drift; // [s/s] 19 double clock_driftrate; // [s/s^2] 24 class t_ephGlo : public t_eph { 25 public: 26 t_ephGlo() { 27 _xv.ReSize(6); 28 }; 29 virtual ~t_ephGlo() {}; 30 virtual void read(const QStringList& lines); 31 virtual void position(int GPSweek, double GPSweeks, ColumnVector& xc, 32 ColumnVector& vv) const; 33 virtual bool isNewerThan(const t_eph* ep) const; 34 virtual int IOD() const; 35 private: 36 static ColumnVector glo_deriv(double /* tt */, const ColumnVector& xv); 37 ColumnVector _xv; 20 38 21 double Crs; // [m] 22 double Delta_n; // [rad/s] 23 double M0; // [rad] 24 double Cuc; // [rad] 25 double e; // 26 double Cus; // [rad] 27 double sqrt_A; // [m^0.5] 28 double Cic; // [rad] 29 double OMEGA0; // [rad] 30 double Cis; // [rad] 31 double i0; // [rad] 32 double Crc; // [m] 33 double omega; // [rad] 34 double OMEGADOT; // [rad/s] 35 double IDOT; // [rad/s] 39 double _GPSweek; 40 double _GPSTOW; 41 double _E; /* [days] */ 42 double _tau; /* [s] */ 43 double _gamma; /* */ 44 double _x_pos; /* [km] */ 45 double _x_velocity; /* [km/s] */ 46 double _x_acceleration; /* [km/s^2] */ 47 double _y_pos; /* [km] */ 48 double _y_velocity; /* [km/s] */ 49 double _y_acceleration; /* [km/s^2] */ 50 double _z_pos; /* [km] */ 51 double _z_velocity; /* [km/s] */ 52 double _z_acceleration; /* [km/s^2] */ 53 int _flags; /* GLOEPHF_xxx */ 54 int _frequency_number; /* ICD-GLONASS data position */ 55 }; 36 56 37 double TGD; // [s] 57 58 class t_ephGPS : public t_eph { 59 public: 60 t_ephGPS() {}; 61 virtual ~t_ephGPS() {}; 62 virtual void read(const QStringList& lines); 63 virtual void position(int GPSweek, double GPSweeks, ColumnVector& xc, 64 ColumnVector& vv) const; 65 virtual bool isNewerThan(const t_eph* ep) const; 66 virtual int IOD() const {return int(_IODE);} 67 68 private: 69 double _GPSweek; 70 double _TOW; // [s] 71 double _TOC; // [s] 72 double _TOE; // [s] 73 double _IODE; 74 double _IODC; 75 76 double _clock_bias; // [s] 77 double _clock_drift; // [s/s] 78 double _clock_driftrate; // [s/s^2] 79 80 double _Crs; // [m] 81 double _Delta_n; // [rad/s] 82 double _M0; // [rad] 83 double _Cuc; // [rad] 84 double _e; // 85 double _Cus; // [rad] 86 double _sqrt_A; // [m^0.5] 87 double _Cic; // [rad] 88 double _OMEGA0; // [rad] 89 double _Cis; // [rad] 90 double _i0; // [rad] 91 double _Crc; // [m] 92 double _omega; // [rad] 93 double _OMEGADOT; // [rad/s] 94 double _IDOT; // [rad/s] 95 96 double _TGD; // [s] 38 97 }; 39 98 … … 46 105 47 106 signals: 48 void newEph( gpsEph* eph);107 void newEph(t_eph* eph); 49 108 void newMessage(const QByteArray msg); 50 109 void error(const QByteArray msg);
Note:
See TracChangeset
for help on using the changeset viewer.