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 // Ocean zonal tides
42 {
43  int n_[5];
44  double ut1_sin_, ut1_cos_;
45 };
46 
47 
48 
49 
50 /***===================================================================================================*/
57 {
58 public:
60  {
61  CT_FULL = 0, // UT1
63  CT_ALL_TERMS_REMOVED = 2, // UT1S
64  };
65 
66  //
67  // constructors/destructors:
68  //
73 
77  ~SgTidalUt1();
78 
79  //
80  // Interfaces:
81  //
82  // gets:
83  //
84 
85  // sets:
86 
87  //
88  // Functions:
89  //
92  static const QString className();
93 
96  double calc(const SgMJD&);
97 
98 
99 private:
103  const int *numOfUt1TableRecs_;
105  const int numZero_;
106 
107  void (*fundArgs_)(const SgMJD&, double[5]);
108  void calcTidalUt1(const double args[5], double& dUt1);
109 
110 };
111 /*=====================================================================================================*/
112 
113 
114 
115 //
116 // constants:
117 //
118 extern const SgUt1TidalTableEntry
120 extern const int numOfUt1TableRecs_IersConv2010;
121 //
122 extern const SgUt1TidalTableEntry
124 extern const int numOfUt1TableRecs_IersConv2003;
125 //
126 extern const SgUt1TidalTableEntry
128 extern const int numOfUt1TableRecs_IersConv1996;
129 //
130 extern const SgUt1TidalTableEntry
132 extern const int numOfUt1TableRecs_IersStds1992;
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 SgUt1TidalTableEntry ut1Ttable_IersConv1996[]
const SgUt1TidalTableEntry ut1Ttable_IersConv2010[]
const SgUt1TidalTableEntry ut1Ttable_IersConv2003[]
const int numOfUt1TableRecs_IersConv2003
const SgUt1TidalTableEntry ut1Ttable_IersStds1992[]
const int numOfUt1TableRecs_IersConv2010
const int numOfUt1TableRecs_IersConv1996
const int numOfUt1TableRecs_IersStds1992
Definition: SgMJD.h:59
void(* fundArgs_)(const SgMJD &, double[5])
Definition: SgTidalUt1.h:107
const SgUt1TidalTableEntry * ut1Ttable_
Definition: SgTidalUt1.h:102
UT1TideContentType
Definition: SgTidalUt1.h:60
@ CT_ALL_TERMS_REMOVED
Definition: SgTidalUt1.h:63
@ CT_SHORT_TERMS_REMOVED
Definition: SgTidalUt1.h:62
UT1TideContentType tideContent_
Definition: SgTidalUt1.h:100
SgTidalUt1(UT1TideContentType, double)
Definition: SgTidalUt1.cpp:58
void calcTidalUt1(const double args[5], double &dUt1)
Definition: SgTidalUt1.cpp:138
double calc(const SgMJD &)
Definition: SgTidalUt1.cpp:120
const int numOfUt1TableRecs4ShortPeriods_
Definition: SgTidalUt1.h:104
static const QString className()
Definition: SgTidalUt1.cpp:50
double calcVersionValue_
Definition: SgTidalUt1.h:101
const int * numOfUt1TableRecs_
Definition: SgTidalUt1.h:103
const int numZero_
Definition: SgTidalUt1.h:105