General Purpose Geodetic Library
SgTidalUt1.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_UT1R_H
24 #define SG_UT1R_H
25 
26 
27 #ifdef HAVE_CONFIG_H
28 # include <config.h>
29 #endif
30 
31 
32 #include <QtCore/QString>
33 
34 
35 #include <SgMJD.h>
36 #include <SgVector.h>
37 
38 
39 
40 /***===================================================================================================*/
47 {
48 public:
50  {
51  CT_FULL = 0, // UT1
53  CT_ALL_TERMS_REMOVED = 2, // UT1S
54  };
55 
56  //
57  // constructors/destructors:
58  //
63 
67  ~SgTidalUt1();
68 
69  //
70  // Interfaces:
71  //
72  // gets:
73  //
74 
75  // sets:
76 
77  //
78  // Functions:
79  //
82  static const QString className();
83 
86  double calc(const SgMJD&);
87 
88 
89 private:
92 
93  void (*fundArgs) (const SgMJD&, double[5]);
94  void (*calcUT1_UTC)(const double[5], double&);
95 };
96 /*=====================================================================================================*/
97 
98 
99 
100 //
101 // auxiliary types:
103 {
104  int n_[5];
105  double ut1_sin_;
106  double lod_cos_;
107  double omg_cos_;
108 };
110 {
111  int n_[5];
115 };
117 {
118  int n_[5];
120 };
121 
122 
123 
124 // and constants:
126 extern const int numOfRecs_Ut1cm;
128 extern const int numOfRecs_Ut1s2k;
130 extern const int numOfRecs_Ut1s82;
132 extern const int numOfRecs_Ut1s83;
133 
134 
135 
136 
137 /*=====================================================================================================*/
138 /* */
139 /* SgTidalUt1 inline members: */
140 /* */
141 /*=====================================================================================================*/
142 //
143 //
144 // CONSTRUCTORS:
145 //
146 //
147 
148 
149 
150 //
151 // INTERFACES:
152 //
153 //
154 
155 
156 
157 //
158 // FUNCTIONS:
159 //
160 //
161 //
162 
163 
164 
165 // FRIENDS:
166 //
167 //
168 //
169 /*=====================================================================================================*/
170 
171 
172 
173 
174 /*=====================================================================================================*/
175 //
176 // aux functions:
177 //
178 
179 
180 /*=====================================================================================================*/
181 #endif //SG_UT1R_H
const int numOfRecs_Ut1s83
const int numOfRecs_Ut1s82
const int numOfRecs_Ut1s2k
const SgUt1TidalTableEntry_Standard ut1Ttable_Ut1s82[]
const SgUt1TidalTableEntry_Clipped ut1Ttable_Ut1s83[]
const SgUt1TidalTableEntry_Simplified ut1Ttable_Ut1cm[]
const SgUt1TidalTableEntry_Standard ut1Ttable_Ut1s2k[]
const int numOfRecs_Ut1cm
Definition: SgMJD.h:59
UT1TideContentType
Definition: SgTidalUt1.h:50
@ CT_ALL_TERMS_REMOVED
Definition: SgTidalUt1.h:53
@ CT_SHORT_TERMS_REMOVED
Definition: SgTidalUt1.h:52
UT1TideContentType tideContent_
Definition: SgTidalUt1.h:90
SgTidalUt1(UT1TideContentType, double)
Definition: SgTidalUt1.cpp:66
double calc(const SgMJD &)
Definition: SgTidalUt1.cpp:119
void(* fundArgs)(const SgMJD &, double[5])
Definition: SgTidalUt1.h:93
static const QString className()
Definition: SgTidalUt1.cpp:58
void(* calcUT1_UTC)(const double[5], double &)
Definition: SgTidalUt1.h:94
double calcVersionValue_
Definition: SgTidalUt1.h:91