Changeset 884 in ntrip for trunk/BNS/bnseph.h


Ignore:
Timestamp:
May 8, 2008, 3:36:12 PM (16 years ago)
Author:
mervart
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNS/bnseph.h

    r838 r884  
    22#define BNSEPH_H
    33
     4#include <newmat.h>
     5
     6#include <QtCore>
    47#include <QThread>
    58#include <QtNetwork>
    69
    7 class gpsEph {
     10
     11class t_eph {
    812 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};
    1623
    17   double clock_bias;       //  [s]   
    18   double clock_drift;      //  [s/s] 
    19   double clock_driftrate;  //  [s/s^2]
     24class 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;
    2038
    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};
    3656
    37   double TGD;              //  [s]   
     57
     58class 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]   
    3897};
    3998
     
    46105
    47106 signals:
    48   void newEph(gpsEph* eph);
     107  void newEph(t_eph* eph);
    49108  void newMessage(const QByteArray msg);
    50109  void error(const QByteArray msg);
Note: See TracChangeset for help on using the changeset viewer.