General Purpose Geodetic Library
SgZenithDelay.h
Go to the documentation of this file.
1 /*
2  *
3  * This file is a part of Space Geodetic Library. The library is used by
4  * nuSolve, a part of CALC/SOLVE system, and designed to make analysis of
5  * geodetic VLBI observations.
6  * Copyright (C) 2010-2020 Sergei Bolotin.
7  *
8  * This program is free software: you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation, either version 3 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program. If not, see <http://www.gnu.org/licenses/>.
20  *
21  */
22 
23 #ifndef SG_ZENITH_DELAY_H
24 #define SG_ZENITH_DELAY_H
25 
26 
27 #ifdef HAVE_CONFIG_H
28 # include <config.h>
29 #endif
30 
31 
32 #include <QtCore/QString>
33 
34 #include <SgMeteoData.h>
35 
36 
37 
38 class SgVlbiStationInfo;
39 /***===================================================================================================*/
46 {
47 public:
48  //
49  // constructors/destructors:
50  //
54  inline SgZenithDelay();
55 
59  inline virtual ~SgZenithDelay();
60 
61  //
62  // Interfaces:
63  //
67  double k1() const {return k1_;};
68 
71  double k2() const {return k2_;};
72 
75  double k3() const {return k3_;};
76 
77  //
78  // Functions:
79  //
82  static const QString className();
83 
89  virtual double calc(const SgMeteoData& meteo, const SgVlbiStationInfo* stnInfo);
90 
96  static double calcVapourPressure(const SgMeteoData& meteo, const SgVlbiStationInfo* stnInfo);
97 
98  //
99  // Friends:
100  //
101 
102  //
103  // I/O:
104  //
105  // ...
106 
107 private:
108  static const double k1_;
109  static const double k2_;
110  static const double k3_;
111 };
112 /*=====================================================================================================*/
113 
114 
115 
116 
117 
118 /***===================================================================================================*/
126 {
127 public:
128  //
129  // Functions:
130  //
133  static const QString className();
134 
140  virtual double calc(const SgMeteoData& meteo, const SgVlbiStationInfo* stnInfo);
141 };
142 /*=====================================================================================================*/
143 
144 
145 
146 
147 
148 
149 /***===================================================================================================*/
157 {
158 public:
159  //
160  // Functions:
161  //
164  static const QString className();
165 
171  virtual double calc(const SgMeteoData& meteo, const SgVlbiStationInfo* stnInfo);
172 };
173 /*=====================================================================================================*/
174 
175 
176 
177 
178 
179 /*=====================================================================================================*/
180 /* */
181 /* SgZenithDelay inline members: */
182 /* */
183 /*=====================================================================================================*/
184 //
185 //
186 // CONSTRUCTORS:
187 //
188 // An empty constructor:
190 {
191 };
192 
193 
194 
195 // A destructor:
197 {
198  // nothing to do
199 };
200 
201 
202 
203 //
204 // INTERFACES:
205 //
206 
207 //
208 // FUNCTIONS:
209 //
210 //
211 //
212 
213 // FRIENDS:
214 //
215 //
216 //
217 /*=====================================================================================================*/
218 
219 
220 
221 
222 
223 
224 
225 
226 /*=====================================================================================================*/
227 //
228 // aux functions:
229 //
230 
231 
232 /*=====================================================================================================*/
233 #endif //SG_ZENITH_DELAY_H
static const QString className()
virtual double calc(const SgMeteoData &meteo, const SgVlbiStationInfo *stnInfo)
virtual double calc(const SgMeteoData &meteo, const SgVlbiStationInfo *stnInfo)
static const QString className()
double k1() const
Definition: SgZenithDelay.h:67
static const double k1_
refraction coeff. #1, K/mbar; Thayer, 1974
virtual double calc(const SgMeteoData &meteo, const SgVlbiStationInfo *stnInfo)
virtual ~SgZenithDelay()
static const QString className()
static const double k3_
refraction coeff. #3, K/mbar^2; Thayer, 1974
double k3() const
Definition: SgZenithDelay.h:75
double k2() const
Definition: SgZenithDelay.h:71
static double calcVapourPressure(const SgMeteoData &meteo, const SgVlbiStationInfo *stnInfo)
static const double k2_
refraction coeff. #2, K/mbar; Thayer, 1974