General Purpose Geodetic Library
SgRefraction.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_REFRACTION_H
24 #define SG_REFRACTION_H
25 
26 
27 #ifdef HAVE_CONFIG_H
28 # include <config.h>
29 #endif
30 
31 
32 #include <QtCore/QString>
33 
34 
35 #include <SgMappingFunction.h>
36 
37 
38 class SgMeteoData;
39 class SgTaskConfig;
40 class SgVlbiSourceInfo;
41 class SgVlbiStationInfo;
42 class SgZenithDelay;
43 
44 
45 
46 /***===================================================================================================*/
53 {
54 public:
55  //
56  // constructors/destructors:
57  //
61  SgRefraction(const SgTaskConfig*);
62 
66  ~SgRefraction();
67 
68  //
69  // Interfaces:
70  //
73  inline double dDryZD() const;
74 
77  inline double dWetZD() const;
78 
81  inline double dDryMF() const;
82 
85  inline double dWetMF() const;
86 
89  inline double dGrdMF() const;
90 
93  inline double dGradientDelay() const;
94 
97  inline double dTotalZD() const;
98 
101  inline double dTotalDelay() const;
102 
105  //
106  // Functions:
107  //
110  static const QString className();
111 
112  double calcTroposphericDelay(const SgMJD& epoch, const SgMeteoData& meteo, double e, double a,
113  SgVlbiStationInfo* stnInfo, const SgVlbiSourceInfo* srcInfo);
114 
115 
116 
117  //
118  // Friends:
119  //
120 
121  //
122  // I/O:
123  //
124  // ...
125 
126 private:
133  double dDryZD_;
134  double dWetZD_;
135  double dDryMF_;
136  double dWetMF_;
137  double dGrdMF_;
139  double dTotalZD_;
140  double dTotalDelay_;
141 };
142 /*=====================================================================================================*/
143 
144 
145 
146 
147 /*=====================================================================================================*/
148 /* */
149 /* SgRefraction inline members: */
150 /* */
151 /*=====================================================================================================*/
152 
153 
154 //
155 // INTERFACES:
156 //
157 //
158 inline double SgRefraction::dDryZD() const
159 {
160  return dDryZD_;
161 };
162 
163 
164 
165 //
166 inline double SgRefraction::dWetZD() const
167 {
168  return dWetZD_;
169 };
170 
171 
172 
173 //
174 inline double SgRefraction::dDryMF() const
175 {
176  return dDryMF_;
177 };
178 
179 
180 
181 //
182 inline double SgRefraction::dWetMF() const
183 {
184  return dWetMF_;
185 };
186 
187 
188 
189 //
190 inline double SgRefraction::dGrdMF() const
191 {
192  return dGrdMF_;
193 };
194 
195 
196 
197 //
198 inline double SgRefraction::dGradientDelay() const
199 {
200  return dGradientDelay_;
201 };
202 
203 
204 
205 //
206 inline double SgRefraction::dTotalZD() const
207 {
208  return dTotalZD_;
209 };
210 
211 
212 
213 //
214 inline double SgRefraction::dTotalDelay() const
215 {
216  return dTotalDelay_;
217 };
218 
219 
220 
221 
222 //
223 // FUNCTIONS:
224 //
225 //
226 //
227 
228 // FRIENDS:
229 //
230 //
231 //
232 /*=====================================================================================================*/
233 
234 
235 /*=====================================================================================================*/
236 //
237 // aux functions:
238 //
239 
240 /*=====================================================================================================*/
241 #endif //SG_REFRACTION_H
Definition: SgMJD.h:59
double dDryZD() const
Definition: SgRefraction.h:158
double dDryZD_
Definition: SgRefraction.h:133
double dWetZD_
Definition: SgRefraction.h:134
double dWetMF_
Definition: SgRefraction.h:136
SgZenithDelay * dryZenithDelay_
Definition: SgRefraction.h:128
double dWetMF() const
Definition: SgRefraction.h:182
SgZenithDelay * wetZenithDelay_
Definition: SgRefraction.h:129
SgMappingFunction * wetMappingFunction_
Definition: SgRefraction.h:131
const SgMappingFunction * wetMappingFunction() const
Definition: SgRefraction.h:104
const SgTaskConfig * cfg_
Definition: SgRefraction.h:127
double dWetZD() const
Definition: SgRefraction.h:166
double dTotalDelay() const
Definition: SgRefraction.h:214
SgRefraction(const SgTaskConfig *)
double dTotalZD() const
Definition: SgRefraction.h:206
double dTotalZD_
Definition: SgRefraction.h:139
double dGradientDelay() const
Definition: SgRefraction.h:198
double dGradientDelay_
Definition: SgRefraction.h:138
static const QString className()
const SgMappingFunction * dryMappingFunction() const
Definition: SgRefraction.h:103
double dDryMF() const
Definition: SgRefraction.h:174
double calcTroposphericDelay(const SgMJD &epoch, const SgMeteoData &meteo, double e, double a, SgVlbiStationInfo *stnInfo, const SgVlbiSourceInfo *srcInfo)
double dDryMF_
Definition: SgRefraction.h:135
SgMappingFunction * dryMappingFunction_
Definition: SgRefraction.h:130
double dGrdMF_
Definition: SgRefraction.h:137
double dGrdMF() const
Definition: SgRefraction.h:190
SgMappingFunction * gradientMappingFunction_
Definition: SgRefraction.h:132
double dTotalDelay_
Definition: SgRefraction.h:140