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

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

minor changes regarding ppp output

File size: 2.2 KB
RevLine 
[5801]1#ifndef PPPMODEL_H
2#define PPPMODEL_H
[2579]3
[5806]4#include <math.h>
[2579]5#include <newmat.h>
[7998]6#include <iostream>
[10805]7#include <iomanip>
[8905]8#include <string>
[2579]9#include "bnctime.h"
[5805]10#include "t_prn.h"
[7240]11#include "satObs.h"
[7246]12#include "bncutils.h"
[10805]13#include "pppClient.h"
[2579]14
[5814]15namespace BNC_PPP {
[5805]16
[5801]17class t_astro {
18 public:
19 static ColumnVector Sun(double Mjd_TT);
20 static ColumnVector Moon(double Mjd_TT);
[6400]21 static Matrix rotX(double Angle);
22 static Matrix rotY(double Angle);
23 static Matrix rotZ(double Angle);
[2579]24
[5801]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:
[8905]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;
[5801]39 private:
40 double _lastMjd;
41 ColumnVector _xSun;
42 ColumnVector _xMoon;
43 double _rSun;
44 double _rMoon;
45
[7996]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;
[8905]54 void printBlqSet(const std::string& station, t_blqData* blq);
[7996]55};
56
[5802]57class t_windUp {
58 public:
59 t_windUp();
60 ~t_windUp() {};
61 double value(const bncTime& etime, const ColumnVector& rRec, t_prn prn,
[10791]62 const ColumnVector& rSat, bool useYaw, double yaw,
[8619]63 const ColumnVector& vSat);
[5802]64 private:
65 double lastEtime[t_prn::MAXPRN+1];
66 double sumWind[t_prn::MAXPRN+1];
67};
68
[5808]69class t_tropo {
[7625]70 public:
[5808]71 static double delay_saast(const ColumnVector& xyz, double Ele);
72};
73
[7240]74class t_iono {
75 public:
76 t_iono();
77 ~t_iono();
[7246]78 double stec(const t_vTec* vTec, double signalPropagationTime,
79 const ColumnVector& rSat, const bncTime& epochTime,
80 const ColumnVector& xyzSta);
[7240]81 private:
[7246]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;
[7240]89};
90
[5805]91}
92
[2579]93#endif
Note: See TracBrowser for help on using the repository browser.