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

Last change on this file since 10903 was 10805, checked in by stuerze, 3 months ago

minor changes regarding ppp output

File size: 2.2 KB
Line 
1#ifndef PPPMODEL_H
2#define PPPMODEL_H
3
4#include <math.h>
5#include <newmat.h>
6#include <iostream>
7#include <iomanip>
8#include <string>
9#include "bnctime.h"
10#include "t_prn.h"
11#include "satObs.h"
12#include "bncutils.h"
13#include "pppClient.h"
14
15namespace BNC_PPP {
16
17class t_astro {
18 public:
19 static ColumnVector Sun(double Mjd_TT);
20 static ColumnVector Moon(double Mjd_TT);
21 static Matrix rotX(double Angle);
22 static Matrix rotY(double Angle);
23 static Matrix rotZ(double Angle);
24
25 private:
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 ~t_tides();
35 ColumnVector earth(const bncTime& time, const ColumnVector& xyz);
36 ColumnVector ocean(const bncTime& time, const ColumnVector& xyz, const std::string& station);
37 t_irc readBlqFile(const char* fileName);
38 void printAllBlqSets() const;
39 private:
40 double _lastMjd;
41 ColumnVector _xSun;
42 ColumnVector _xMoon;
43 double _rSun;
44 double _rMoon;
45
46 class t_blqData {
47 public:
48 t_blqData() {}
49 Matrix amplitudes;
50 Matrix phases;
51 };
52 t_blqData* newBlqData;
53 QMap <QString, t_blqData*> blqMap;
54 void printBlqSet(const std::string& station, t_blqData* blq);
55};
56
57class t_windUp {
58 public:
59 t_windUp();
60 ~t_windUp() {};
61 double value(const bncTime& etime, const ColumnVector& rRec, t_prn prn,
62 const ColumnVector& rSat, bool useYaw, double yaw,
63 const ColumnVector& vSat);
64 private:
65 double lastEtime[t_prn::MAXPRN+1];
66 double sumWind[t_prn::MAXPRN+1];
67};
68
69class t_tropo {
70 public:
71 static double delay_saast(const ColumnVector& xyz, double Ele);
72};
73
74class t_iono {
75 public:
76 t_iono();
77 ~t_iono();
78 double stec(const t_vTec* vTec, double signalPropagationTime,
79 const ColumnVector& rSat, const bncTime& epochTime,
80 const ColumnVector& xyzSta);
81 private:
82 double vtecSingleLayerContribution(const t_vTecLayer& vTecLayer);
83 void piercePoint(double layerHeight, double epoch, const double* geocSta,
84 double sphEle, double sphAzi);
85 double _psiPP;
86 double _phiPP;
87 double _lambdaPP;
88 double _lonS;
89};
90
91}
92
93#endif
Note: See TracBrowser for help on using the repository browser.