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

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

ionosphere's class completed

File size: 1.7 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#include "bncutils.h"
10
11namespace BNC_PPP {
12
13class t_astro {
14 public:
15 static ColumnVector Sun(double Mjd_TT);
16 static ColumnVector Moon(double Mjd_TT);
17 static Matrix rotX(double Angle);
18 static Matrix rotY(double Angle);
19 static Matrix rotZ(double Angle);
20
21 private:
22 static const double RHO_DEG;
23 static const double RHO_SEC;
24 static const double MJD_J2000;
25
26 static double GMST(double Mjd_UT1);
27 static Matrix NutMatrix(double Mjd_TT);
28 static Matrix PrecMatrix (double Mjd_1, double Mjd_2);
29};
30
31class t_tides {
32 public:
33 t_tides() {
34 _lastMjd = 0.0;
35 }
36 ~t_tides() {}
37 ColumnVector displacement(const bncTime& time, const ColumnVector& xyz);
38 private:
39 double _lastMjd;
40 ColumnVector _xSun;
41 ColumnVector _xMoon;
42 double _rSun;
43 double _rMoon;
44};
45
46class t_windUp {
47 public:
48 t_windUp();
49 ~t_windUp() {};
50 double value(const bncTime& etime, const ColumnVector& rRec, t_prn prn,
51 const ColumnVector& rSat);
52 private:
53 double lastEtime[t_prn::MAXPRN+1];
54 double sumWind[t_prn::MAXPRN+1];
55};
56
57class t_tropo {
58 public:
59 static double delay_saast(const ColumnVector& xyz, double Ele);
60};
61
62class t_iono {
63 public:
64 t_iono();
65 ~t_iono();
66 double stec(const t_vTec* vTec, double signalPropagationTime,
67 const ColumnVector& rSat, const bncTime& epochTime,
68 const ColumnVector& xyzSta);
69 private:
70 double vtecSingleLayerContribution(const t_vTecLayer& vTecLayer);
71 void piercePoint(double layerHeight, double epoch, const double* geocSta,
72 double sphEle, double sphAzi);
73 double _psiPP;
74 double _phiPP;
75 double _lambdaPP;
76 double _lonS;
77
78
79};
80
81}
82
83#endif
Note: See TracBrowser for help on using the repository browser.