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

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

ionosphere's class completed

File size: 1.7 KB
RevLine 
[5801]1#ifndef PPPMODEL_H
2#define PPPMODEL_H
[2579]3
[5806]4#include <math.h>
[2579]5#include <newmat.h>
6#include "bnctime.h"
[5805]7#include "t_prn.h"
[7240]8#include "satObs.h"
[7246]9#include "bncutils.h"
[2579]10
[5814]11namespace BNC_PPP {
[5805]12
[5801]13class t_astro {
14 public:
15 static ColumnVector Sun(double Mjd_TT);
16 static ColumnVector Moon(double Mjd_TT);
[6400]17 static Matrix rotX(double Angle);
18 static Matrix rotY(double Angle);
19 static Matrix rotZ(double Angle);
[2579]20
[5801]21 private:
[6268]22 static const double RHO_DEG;
23 static const double RHO_SEC;
24 static const double MJD_J2000;
[2582]25
[5801]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
[5802]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
[5808]57class t_tropo {
58 public:
59 static double delay_saast(const ColumnVector& xyz, double Ele);
60};
61
[7240]62class t_iono {
63 public:
64 t_iono();
65 ~t_iono();
[7246]66 double stec(const t_vTec* vTec, double signalPropagationTime,
67 const ColumnVector& rSat, const bncTime& epochTime,
68 const ColumnVector& xyzSta);
[7240]69 private:
[7246]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;
[7240]77
78
79};
80
[5805]81}
82
[2579]83#endif
Note: See TracBrowser for help on using the repository browser.