source: ntrip/trunk/BNC/src/pppModel.h@ 7240

Last change on this file since 7240 was 7240, checked in by stuerze, 9 years ago

initial import of ionosphere class

File size: 1.5 KB
Line 
1#ifndef PPPMODEL_H
2#define PPPMODEL_H
3
4#include <math.h>
5#include <newmat.h>
6#include "bnctime.h"
7#include "t_prn.h"
8#include "satObs.h"
9
10namespace BNC_PPP {
11
12class t_astro {
13 public:
14 static ColumnVector Sun(double Mjd_TT);
15 static ColumnVector Moon(double Mjd_TT);
16 static Matrix rotX(double Angle);
17 static Matrix rotY(double Angle);
18 static Matrix rotZ(double Angle);
19
20 private:
21 static const double RHO_DEG;
22 static const double RHO_SEC;
23 static const double MJD_J2000;
24
25 static double GMST(double Mjd_UT1);
26 static Matrix NutMatrix(double Mjd_TT);
27 static Matrix PrecMatrix (double Mjd_1, double Mjd_2);
28};
29
30class t_tides {
31 public:
32 t_tides() {
33 _lastMjd = 0.0;
34 }
35 ~t_tides() {}
36 ColumnVector displacement(const bncTime& time, const ColumnVector& xyz);
37 private:
38 double _lastMjd;
39 ColumnVector _xSun;
40 ColumnVector _xMoon;
41 double _rSun;
42 double _rMoon;
43};
44
45class t_windUp {
46 public:
47 t_windUp();
48 ~t_windUp() {};
49 double value(const bncTime& etime, const ColumnVector& rRec, t_prn prn,
50 const ColumnVector& rSat);
51 private:
52 double lastEtime[t_prn::MAXPRN+1];
53 double sumWind[t_prn::MAXPRN+1];
54};
55
56class t_tropo {
57 public:
58 static double delay_saast(const ColumnVector& xyz, double Ele);
59};
60
61class t_iono {
62 public:
63 t_iono();
64 ~t_iono();
65 void setTecData(const t_vTec* vTec);
66 double vtec();
67 private:
68 t_vTec* _vTec;
69 int _layer;
70 double _layerHeight;
71 double _roverHeight;
72
73
74};
75
76}
77
78#endif
Note: See TracBrowser for help on using the repository browser.