General Purpose Geodetic Library
SgModelEop_JMG_96_hf.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_MODEL_EOP_JMG_96_HF_H
24 #define SG_MODEL_EOP_JMG_96_HF_H
25 
26 
27 #ifdef HAVE_CONFIG_H
28 # include <config.h>
29 #endif
30 
31 
32 #include <QtCore/QMultiMap>
33 #include <QtCore/QString>
34 
35 
36 #include <SgMJD.h>
37 
38 
39 
40 // this is a preliminary realizaion of accessing to auxiliari 'a priori' files, should be reworked later.
41 
42 
43 // The high frequency EOP variations in "jmg96.hf" file format:
44 /***===================================================================================================*/
50 {
51 public:
52  //
53  // constructors/destructors:
54  //
58  inline SgModelEop_JMG_96_hf();
59 
63  inline ~SgModelEop_JMG_96_hf();
64 
65  //
66  // Interfaces:
67  //
68  // gets:
69  //
72  inline const QString& getFileName() const;
73  inline bool isOk() const {return isOk_;};
74 
75  // sets:
78  inline void setFileName(const QString&);
79 
80  //
81  // Functions:
82  //
85  static const QString className();
86 
89  bool readFile(const QString&);
90 
91  /*
92  */
93  void calcCorrections(const SgMJD&, double& dUt1, double& dPx, double& dPy);
94 
95 private:
96  struct HfEopRec
97  {
98  int n_[6];
99  double a_cos_, a_sin_;
100  inline HfEopRec();
101  };
102  QString fileName_;
103  bool isOk_;
104  int numUt_;
105  int numPm_;
109 };
110 /*=====================================================================================================*/
111 
112 
113 
114 
115 /*=====================================================================================================*/
116 /* */
117 /* SgModelEop_JMG_96_hf inline members: */
118 /* */
119 /*=====================================================================================================*/
120 //
121 //
122 // CONSTRUCTORS:
123 //
124 //
126 {
127  n_[0] = n_[1] = n_[2] = n_[3] = n_[4] = n_[5] = 0;
128  a_cos_ = a_sin_ = 0.0;
129 };
130 
131 
132 
133 // An empty constructor:
135  fileName_("none")
136 {
137  numUt_ = 0;
138  numPm_ = 0;
139  baseModel_ = NULL;
140  utModel_ = NULL;
141  pmModel_ = NULL;
142  isOk_ = false;
143 };
144 
145 
146 
147 // A destructor:
149 {
150  numUt_ = numPm_ = 0;
151  if (baseModel_)
152  {
153  delete[] baseModel_;
154  baseModel_ = NULL;
155  };
156  utModel_ = pmModel_ = NULL;
157 };
158 
159 
160 
161 //
162 // INTERFACES:
163 //
164 //
165 inline const QString& SgModelEop_JMG_96_hf::getFileName() const
166 {
167  return fileName_;
168 };
169 
170 
171 
172 //
173 inline void SgModelEop_JMG_96_hf::setFileName(const QString& name)
174 {
175  fileName_ = name;
176 };
177 
178 
179 
180 //
181 // FUNCTIONS:
182 //
183 //
184 //
185 
186 // FRIENDS:
187 //
188 //
189 //
190 /*=====================================================================================================*/
191 
192 
193 
194 
195 /*=====================================================================================================*/
196 //
197 // aux functions:
198 //
199 
200 
201 /*=====================================================================================================*/
202 #endif //SG_MODEL_EOP_JMG_96_HF_H
Definition: SgMJD.h:59
bool readFile(const QString &)
void setFileName(const QString &)
const QString & getFileName() const
void calcCorrections(const SgMJD &, double &dUt1, double &dPx, double &dPy)
static const QString className()