General Purpose Geodetic Library
SgVlbiObservation.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_VLBI_OBSERVATION_H
24 #define SG_VLBI_OBSERVATION_H
25 
26 
27 #ifdef HAVE_CONFIG_H
28 # include <config.h>
29 #endif
30 
31 
32 #include <math.h>
33 
34 #include <QtCore/QList>
35 #include <QtCore/QMap>
36 #include <QtCore/QVector>
37 
38 class QDataStream;
39 
40 
41 #include <Sg3dVector.h>
42 #include <Sg3dMatrix.h>
43 #include <SgObservation.h>
44 #include <SgVlbiObservable.h>
45 
46 
47 
48 class SgTaskConfig;
49 class SgParameter;
51 class SgVlbiBand;
52 class SgVlbiBaselineInfo;
53 class SgVlbiSession;
54 class SgVlbiSourceInfo;
55 class SgVlbiStationInfo;
56 
57 
58 /***===================================================================================================*/
65 {
66 public:
68  {
69 // Attr_NOT_VALID = 1<<0, //!< omit the observation;
70 // Attr_PROCESSED = 1<<1, //!< the observation has been processed;
71 // Attr_FORCE_2_PROCESS = 1<<2, //!< include the observation in data analysis in any condition;
78  };
79 
80  //
81  // constructors/destructors:
82  //
87 
91  virtual ~SgVlbiObservation();
92 
93 
94  //
95  // Interfaces:
96  //
99  // inline SgVlbiObservation& operator=(const SgVlbiObservation& obs);
100 
101  inline const QString& getKey();
102 
105  inline SgVlbiSession* session();
106 
109  inline SgVlbiObservable* observable(const QString&);
110  inline QMap<QString, SgVlbiObservable*>& observableByKey() {return observableByKey_;};
111 
112  // gets:
115  inline short int getStation1Idx() const;
116 
119  inline short int getStation2Idx() const;
120 
123  inline short int getSourceIdx() const;
124 
127  inline short int getBaselineIdx() const;
128 
131  inline SgVlbiObservable* activeObs();
132 
135  inline SgVlbiObservable* primeObs();
136 
138 
141  inline const QString& getScanName() const;
142 
143  inline const QString& getCorrRootFileName() const {return corrRootFileName_;};
144 
147  inline const QString& getScanId() const;
148 
149  inline const QString& getScanFullName() const;
150 
151  inline double getDTec() const;
152 
153  inline double getDTecStdDev() const;
154 
157  inline double getCalcConsensusDelay() const;
158  inline double getCalcConsensusRate() const {return calcConsensusRate_;};
159 
162  inline double getCalcConsBendingDelay() const {return calcConsBendingDelay_;};
163  inline double getCalcConsBendingRate () const {return calcConsBendingRate_;};
164  inline double getCalcConsBendingSunDelay() const {return calcConsBendingSunDelay_;};
165  inline double getCalcConsBendingSunRate () const {return calcConsBendingSunRate_;};
170 
173  inline double getCalcOceanTideDelay() const {return calcOceanTideDelay_;};
174  inline double getCalcOceanTideRate () const {return calcOceanTideRate_;};
175 
178  inline double getCalcHiFyUt1Delay() const {return calcHiFyUt1Delay_;};
179  inline double getCalcHiFyUt1Rate() const {return calcHiFyUt1Rate_;};
180 
183  inline double getExtDelayHiFyUt1() const {return extDelayHiFyUt1_;};
184  inline double getExtRateHiFyUt1() const {return extRateHiFyUt1_;};
185 
188  inline double getCalcHiFyPxyDelay() const {return calcHiFyPxyDelay_;};
189  inline double getCalcHiFyPxyRate() const {return calcHiFyPxyRate_;};
190 
193  inline double getExtDelayHiFyPxy() const {return extDelayHiFyPxy_;};
194  inline double getExtRateHiFyPxy() const {return extRateHiFyPxy_;};
195 
198  inline double getExtDelayErp() const {return extDelayErp_;};
199  inline double getExtRateErp() const {return extRateErp_;};
200 
201  inline double getAprioriPxHfContrib() const {return aPrioriPxHfContrib_;};
202  inline double getAprioriPxLfContrib() const {return aPrioriPxLfContrib_;};
203  inline double getAprioriPyHfContrib() const {return aPrioriPyHfContrib_;};
204  inline double getAprioriPyLfContrib() const {return aPrioriPyLfContrib_;};
205  inline double getAprioriUt1HfContrib() const {return aPrioriUt1HfContrib_;};
206  inline double getAprioriUt1LfContrib() const {return aPrioriUt1LfContrib_;};
207  inline double getAprioriCxLfContrib() const {return aPrioriCxLfContrib_;};
208  inline double getAprioriCyLfContrib() const {return aPrioriCyLfContrib_;};
209 
210  inline double aPrioriPx() const {return aPrioriPxHfContrib_ + aPrioriPxLfContrib_;};
211  inline double aPrioriPy() const {return aPrioriPyHfContrib_ + aPrioriPyLfContrib_;};
212  inline double aPrioriUt1() const {return aPrioriUt1HfContrib_ + aPrioriUt1LfContrib_;};
213  inline double aPrioriCipX() const {return aPrioriCxLfContrib_;};
214  inline double aPrioriCipY() const {return aPrioriCyLfContrib_;};
215 
218  inline double getCalcPoleTideDelay() const {return calcPoleTideDelay_;};
219  inline double getCalcPoleTideRate () const {return calcPoleTideRate_;};
220 
223  inline double getCalcEarthTideDelay() const {return calcEarthTideDelay_;};
224  inline double getCalcEarthTideRate () const {return calcEarthTideRate_;};
225 
228  inline double getCalcPxDelay() const {return calcPxDelay_;};
229  inline double getCalcPxRate() const {return calcPxRate_;};
230 
233  inline double getCalcPyDelay() const {return calcPyDelay_;};
234  inline double getCalcPyRate() const {return calcPyRate_;};
235 
238  inline double getCalcWobNutatContrib() const;
239 
242  inline double getCalcFeedCorrDelay() const {return calcFeedCorrDelay_;};
243  inline double getCalcFeedCorrRate () const {return calcFeedCorrRate_;};
244 
247  inline double getCalcTiltRemvrDelay() const {return calcTiltRemvrDelay_;};
248  inline double getCalcTiltRemvrRate() const {return calcTiltRemvrRate_;};
249 
251  inline double getCalcOceanPoleTideLdRate() const {return calcOceanPoleTideLdRate_;};
252 
257 
258  inline double getCalcOceanTideOldDelay() const {return calcOceanTideOldDelay_;};
259  inline double getCalcOceanTideOldRate () const {return calcOceanTideOldRate_;};
260  inline double getCalcPoleTideOldDelay() const {return calcPoleTideOldDelay_;};
261  inline double getCalcPoleTideOldRate () const {return calcPoleTideOldRate_;};
262 
263  inline const Sg3dVector& getRsun() const {return rSun_;};
264  inline const Sg3dVector& getVsun() const {return vSun_;};
265  inline const Sg3dVector& getRmoon() const {return rMoon_;};
266  inline const Sg3dVector& getVmoon() const {return vMoon_;};
267  inline const Sg3dVector& getRearth() const {return rEarth_;};
268  inline const Sg3dVector& getVearth() const {return vEarth_;};
269  inline const Sg3dVector& getAearth() const {return aEarth_;};
270 
271  inline const Sg3dMatrix& getTrf2crfVal() const {return trf2crfVal_;};
272  inline const Sg3dMatrix& getTrf2crfRat() const {return trf2crfRat_;};
273  inline const Sg3dMatrix& getTrf2crfAcc() const {return trf2crfAcc_;};
274 
275  inline double getCalcUt1_Tai() const {return calcUt1_Tai_;};
276  inline double getCalcPmX() const {return calcPmX_;};
277  inline double getCalcPmY() const {return calcPmY_;};
278 
279  inline double getCalcCipXv() const;
280  inline double getCalcCipYv() const;
281  inline double getCalcCipSv() const;
282  inline double getCalcCipXr() const;
283  inline double getCalcCipYr() const;
284  inline double getCalcCipSr() const;
285  inline double getCalcNutWahr_dPsiV() const;
286  inline double getCalcNutWahr_dEpsV() const;
287  inline double getCalcNutWahr_dPsiR() const;
288  inline double getCalcNutWahr_dEpsR() const;
289  inline double getCalcNut2006_dPsiV() const;
290  inline double getCalcNut2006_dEpsV() const;
291  inline double getCalcNut2006_dPsiR() const;
292  inline double getCalcNut2006_dEpsR() const;
293 
296  inline const Sg3dVector& getDdel_dR_1() const {return dDel_dR_1_;};
297  inline const Sg3dVector& getDrat_dR_1() const {return dRat_dR_1_;};
298 
301  inline const Sg3dVector& getDdel_dR_2() const {return dDel_dR_2_;};
302  inline const Sg3dVector& getDrat_dR_2() const {return dRat_dR_2_;};
303 
306  inline double getDdel_dRA() const {return dDel_dRA_;};
307  inline double getDrat_dRA() const {return dRat_dRA_;};
310  inline double getDdel_dDN() const {return dDel_dDN_;};
311  inline double getDrat_dDN() const {return dRat_dDN_;};
312 
313  inline double getDdel_dBend() const {return dDel_dBend_;};
314  inline double getDrat_dBend() const {return dRat_dBend_;};
317  inline double getDdel_dUT1() const {return dDel_dUT1_;};
318  inline double getDrat_dUT1() const {return dRat_dUT1_;};
321  inline double getD2del_dUT12() const {return d2Del_dUT12_;};
322  inline double getD2rat_dUT12() const {return d2Rat_dUT12_;};
325  inline double getDdel_dPx() const {return dDel_dPx_;};
326  inline double getDrat_dPx() const {return dRat_dPx_;};
329  inline double getDdel_dPy() const {return dDel_dPy_;};
330  inline double getDrat_dPy() const {return dRat_dPy_;};
333  inline double getDdel_dCipX() const {return dDel_dCipX_;};
334  inline double getDrat_dCipX() const {return dRat_dCipX_;};
337  inline double getDdel_dCipY() const {return dDel_dCipY_;};
338  inline double getDrat_dCipY() const {return dRat_dCipY_;};
339  // aux:
340  inline double getDdel_dGamma() const {return dDel_dGamma_;};
341  inline double getDrat_dGamma() const {return dRat_dGamma_;};
342  inline double getDdel_dParallax() const {return dDel_dParallax_;};
343  inline double getDrat_dParallax() const {return dRat_dParallax_;};
344  inline double getDdel_dParallaxRev() const {return dDel_dParallaxRev_;};
345  inline double getDrat_dParallaxRev() const {return dRat_dParallaxRev_;};
346  inline double getDdel_dPolTideX() const {return dDel_dPolTideX_;};
347  inline double getDrat_dPolTideX() const {return dRat_dPolTideX_;};
348  inline double getDdel_dPolTideY() const {return dDel_dPolTideY_;};
349  inline double getDrat_dPolTideY() const {return dRat_dPolTideY_;};
350 
351  inline double getFractC() const {return fractC_;};
352 
355  inline double getBaselineClock_F1() const;
356  inline double getBaselineClock_F1l() const;
357  inline double getBaselineClock_F1r() const;
358  //
359  //
360  inline double getApLength() const {return apLength_;};
361  inline double sumAX_4delay() const {return sumAX_4delay_;};
362  inline double sumAX_4rate() const {return sumAX_4rate_;};
363 
364 
365 // /**Returns a pointer on band's stationInfo structure for the first station.
366 // */
367 // SgVlbiStationInfo* bandStn_1() {return bandStn_1_ ;};
368 
369 // /**Returns a pointer on band's stationInfo structure for the second station.
370 // */
371 // SgVlbiStationInfo* bandStn_2() {return bandStn_2_;};
372 
373 // /**Returns a pointer on band's sourceInfo structure for the source.
374 // */
375 // SgVlbiSourceInfo* bandSrc() {return bandSrc_;};
376 
377 // /**Returns a pointer on band's baselineInfo structure for the baseline.
378 // */
379 // SgVlbiBaselineInfo* bandBaseline() {return bandBaseline_;};
380 
383  inline SgVlbiStationInfo* stn_1() {return stn_1_;};
384 
387  inline SgVlbiStationInfo* stn_2() {return stn_2_;};
388 
391  inline SgVlbiSourceInfo* src() {return src_;};
392 
395  inline SgVlbiBaselineInfo* baseline() {return baseline_;};
396 
400 
404 
405  inline double theoDelay() const {return theoDelay_;};
406  inline double theoRate() const {return theoRate_;};
407 
408 
409  inline double reweightAuxSum4delay() const {return reweightAuxSum4delay_;};
410  inline double reweightAuxSum4rate () const {return reweightAuxSum4rate_;};
411 
412  inline const QVector<double>& getUserCorrections() const {return userCorrections_;};
413 
414 
415  // sets:
416  //
417  inline void setKey(const QString&);
418 
422  inline void setStation1Idx(short int idx);
423 
427  inline void setStation2Idx(short int idx);
428 
432  inline void setSourceIdx(short int idx);
433 
437  inline void setBaselineIdx(short int idx);
438 
442  inline void setScanName(const QString& sName);
443 
444  inline void setCorrRootFileName(const QString& sName) {corrRootFileName_=sName;};
445 
449  inline void setScanId(const QString& sId);
450 
451  inline void setScanFullName(const QString& sId);
452 
453  inline void setDTec(double d);
454 
455  inline void setDTecStdDev(double e);
456 
460  inline void setCalcConsensusDelay(double tau);
461  inline void setCalcConsensusRate(double r) {calcConsensusRate_ = r;};
462 
466  inline void setCalcConsBendingDelay(double d) {calcConsBendingDelay_ = d;};
467  inline void setCalcConsBendingRate (double d) {calcConsBendingRate_ = d;};
469  inline void setCalcConsBendingSunRate (double d) {calcConsBendingSunRate_ = d;};
474 
478  inline void setCalcOceanTideDelay(double v) {calcOceanTideDelay_ = v;};
479  inline void setCalcOceanTideRate (double v) {calcOceanTideRate_ = v;};
480 
484  inline void setCalcHiFyUt1Delay(double v) {calcHiFyUt1Delay_ = v;};
485  inline void setCalcHiFyUt1Rate(double v) {calcHiFyUt1Rate_ = v;};
486 
490  inline void setExtDelayHiFyUt1(double v) {extDelayHiFyUt1_ = v;};
491  inline void setExtRateHiFyUt1 (double v) {extRateHiFyUt1_ = v;};
492 
496  inline void setCalcHiFyPxyDelay(double v) {calcHiFyPxyDelay_ = v;};
497  inline void setCalcHiFyPxyRate(double v) {calcHiFyPxyRate_ = v;};
498 
502  inline void setExtDelayHiFyPxy(double v) {extDelayHiFyPxy_ = v;};
503  inline void setExtRateHiFyPxy (double v) {extRateHiFyPxy_ = v;};
504 
508  inline void setExtDelayErp(double v) {extDelayErp_ = v;};
509  inline void setExtRateErp (double v) {extRateErp_ = v;};
510 
511  inline void setAprioriPxHfContrib(double v) {aPrioriPxHfContrib_ = v;};
512  inline void setAprioriPxLfContrib(double v) {aPrioriPxLfContrib_ = v;};
513  inline void setAprioriPyHfContrib(double v) {aPrioriPyHfContrib_ = v;};
514  inline void setAprioriPyLfContrib(double v) {aPrioriPyLfContrib_ = v;};
515  inline void setAprioriUt1HfContrib(double v) {aPrioriUt1HfContrib_ = v;};
516  inline void setAprioriUt1LfContrib(double v) {aPrioriUt1LfContrib_ = v;};
517  inline void setAprioriCxLfContrib(double v) {aPrioriCxLfContrib_ = v;};
518  inline void setAprioriCyLfContrib(double v) {aPrioriCyLfContrib_ = v;};
519 
523  inline void setCalcPoleTideDelay(double v) {calcPoleTideDelay_ = v;};
524  inline void setCalcPoleTideRate (double v) {calcPoleTideRate_ = v;};
525 
529  inline void setCalcEarthTideDelay(double v) {calcEarthTideDelay_ = v;};
530  inline void setCalcEarthTideRate (double v) {calcEarthTideRate_ = v;};
531 
535  inline void setCalcPxDelay(double v) {calcPxDelay_ = v;};
536  inline void setCalcPxRate(double v) {calcPxRate_ = v;};
537 
541  inline void setCalcPyDelay(double v) {calcPyDelay_ = v;};
542  inline void setCalcPyRate(double v) {calcPyRate_ = v;};
543 
547  inline void setCalcWobNutatContrib(double v);
548 
552  inline void setCalcFeedCorrDelay(double v) {calcFeedCorrDelay_ = v;};
553  inline void setCalcFeedCorrRate (double v) {calcFeedCorrRate_ = v;};
554 
558  inline void setCalcTiltRemvrDelay(double v) {calcTiltRemvrDelay_ = v;};
559  inline void setCalcTiltRemvrRate (double v) {calcTiltRemvrRate_ = v;};
560 
567 
568 
569  inline void setCalcOceanTideOldDelay(double v) {calcOceanTideOldDelay_ = v;};
570  inline void setCalcOceanTideOldRate (double v) {calcOceanTideOldRate_ = v;};
571  inline void setCalcPoleTideOldDelay(double v) {calcPoleTideOldDelay_ = v;};
572  inline void setCalcPoleTideOldRate (double v) {calcPoleTideOldRate_ = v;};
573 
574  inline void setRsun(const Sg3dVector& r) {rSun_ = r;};
575  inline void setVsun(const Sg3dVector& v) {vSun_ = v;};
576  inline void setRmoon(const Sg3dVector& r) {rMoon_ = r;};
577  inline void setVmoon(const Sg3dVector& v) {vMoon_ = v;};
578  inline void setRearth(const Sg3dVector& r) {rEarth_ = r;};
579  inline void setVearth(const Sg3dVector& v) {vEarth_ = v;};
580  inline void setAearth(const Sg3dVector& a) {aEarth_ = a;};
581 
582  inline void setTrf2crfVal(const Sg3dMatrix& m) {trf2crfVal_ = m;};
583  inline void setTrf2crfRat(const Sg3dMatrix& m) {trf2crfRat_ = m;};
584  inline void setTrf2crfAcc(const Sg3dMatrix& m) {trf2crfAcc_ = m;};
585 
586  inline Sg3dMatrix& trf2crfVal() {return trf2crfVal_;};
587  inline Sg3dMatrix& trf2crfRat() {return trf2crfRat_;};
588  inline Sg3dMatrix& trf2crfAcc() {return trf2crfAcc_;};
589 
590 
591  inline void setCalcUt1_Tai(double d) {calcUt1_Tai_ = d;};
592  inline void setCalcPmX(double d) {calcPmX_ = d;};
593  inline void setCalcPmY(double d) {calcPmY_ = d;};
594 
595  inline void setCalcCipXv(double v);
596  inline void setCalcCipYv(double v);
597  inline void setCalcCipSv(double v);
598  inline void setCalcCipXr(double v);
599  inline void setCalcCipYr(double v);
600  inline void setCalcCipSr(double v);
601  inline void setCalcNutWahr_dPsiV(double v);
602  inline void setCalcNutWahr_dEpsV(double v);
603  inline void setCalcNutWahr_dPsiR(double v);
604  inline void setCalcNutWahr_dEpsR(double v);
605  inline void setCalcNut2006_dPsiV(double v);
606  inline void setCalcNut2006_dEpsV(double v);
607  inline void setCalcNut2006_dPsiR(double v);
608  inline void setCalcNut2006_dEpsR(double v);
609 
613  inline void setDdel_dR_1(const Sg3dVector& r) {dDel_dR_1_ = r;};
614  inline void setDrat_dR_1(const Sg3dVector& r) {dRat_dR_1_ = r;};
615 
619  inline void setDdel_dR_2(const Sg3dVector& r) {dDel_dR_2_ = r;};
620  inline void setDrat_dR_2(const Sg3dVector& r) {dRat_dR_2_ = r;};
621 
625  inline void setDdel_dRA(double d) {dDel_dRA_ = d;};
626  inline void setDrat_dRA(double d) {dRat_dRA_ = d;};
630  inline void setDdel_dDN(double d) {dDel_dDN_ = d;};
631  inline void setDrat_dDN(double d) {dRat_dDN_ = d;};
632 
633  inline void setDdel_dBend(double d) {dDel_dBend_ = d;};
634  inline void setDrat_dBend(double d) {dRat_dBend_ = d;};
638  inline void setDdel_dUT1(double d) {dDel_dUT1_ = d;};
639  inline void setDrat_dUT1(double d) {dRat_dUT1_ = d;};
643  inline void setD2del_dUT12(double d) {d2Del_dUT12_ = d;};
644  inline void setD2rat_dUT12(double d) {d2Rat_dUT12_ = d;};
648  inline void setDdel_dPx(double d) {dDel_dPx_ = d;};
649  inline void setDrat_dPx(double d) {dRat_dPx_ = d;};
653  inline void setDdel_dPy(double d) {dDel_dPy_ = d;};
654  inline void setDrat_dPy(double d) {dRat_dPy_ = d;};
658  inline void setDdel_dCipX(double d) {dDel_dCipX_ = d;};
659  inline void setDrat_dCipX(double d) {dRat_dCipX_ = d;};
663  inline void setDdel_dCipY(double d) {dDel_dCipY_ = d;};
664  inline void setDrat_dCipY(double d) {dRat_dCipY_ = d;};
665 
666  inline void setDdel_dGamma (double d) {dDel_dGamma_ = d;};
667  inline void setDrat_dGamma (double d) {dRat_dGamma_ = d;};
668  inline void setDdel_dParallax(double d) {dDel_dParallax_ = d;};
669  inline void setDrat_dParallax(double d) {dRat_dParallax_ = d;};
670  inline void setDdel_dParallaxRev(double d) {dDel_dParallaxRev_ = d;};
671  inline void setDrat_dParallaxRev(double d) {dRat_dParallaxRev_ = d;};
672  inline void setDdel_dPolTideX(double d) {dDel_dPolTideX_ = d;};
673  inline void setDrat_dPolTideX(double d) {dRat_dPolTideX_ = d;};
674  inline void setDdel_dPolTideY(double d) {dDel_dPolTideY_ = d;};
675  inline void setDrat_dPolTideY(double d) {dRat_dPolTideY_ = d;};
676 
677  inline void setFractC(double d) {fractC_ = d;};
678 
679 
683  inline void setBaselineClock_F1(double f);
684  inline void setBaselineClock_F1l(double f);
685  inline void setBaselineClock_F1r(double f);
686  //
687  //
688  inline void setApLength(double d) {apLength_ = d;};
689 
690  inline void setAuxObs_1(SgVlbiAuxObservation* aux) {auxObs_1_ = aux;};
691  inline void setAuxObs_2(SgVlbiAuxObservation* aux) {auxObs_2_ = aux;};
692 
693  //
694  inline QVector<double>& userCorrections() {return userCorrections_;};
695 
696 
697 
698 // inline void setReweightAuxSum(double d) {reweightAuxSum_ = d;};
699 
700  //
701  // Functions:
702  //
705  virtual inline const QString className() const;
706 
709  bool addObservable(const QString&, const SgVlbiObservable&);
710 
713  bool addObservable(const QString&, SgVlbiObservable*);
714 
717  virtual bool selfCheck();
718 
721  void setupIdentities();
722 
725  void setupActiveObservable(const QString&);
726 
730 
733  virtual bool isEligible(const SgTaskConfig*);
734 
738 
741  virtual void prepare4Analysis(SgTaskManager*);
742 
745  virtual void evaluateResiduals(SgTaskManager*);
746 
749  bool modifyNotValidAttribute(bool =false);
750 
753  virtual const SgVector& o_c();
754 
757  virtual const SgVector& sigma();
758 
761  inline virtual bool operator<(const SgVlbiObservation& obs) const;
762 
763 
764  int calculateIonoBits();
767  void zerofyIono();
768  void calcIonoCorrections(const SgTaskConfig*);
769  inline double getNormalizedDelayResidual();
770  inline double getNormalizedRateResidual();
771 
772  void resetAllEditings();
773 
774  int minQualityFactor() const;
775 
776 
777  // I/O:
778  //
780 
782  //
783 
784 
785 
786 private:
787  QString key_;
788  // an owner:
790  // subjects:
791  short int station1Idx_;
792  short int station2Idx_;
793  short int sourceIdx_;
794  short int baselineIdx_;
795  // our observables (from databases, vgosDb trees, etc):
796  QMap<QString, SgVlbiObservable*>
801  QString scanName_;
803  QString scanId_;
804  QString scanFullName_;
805  // VGOS contribution:
806  double dTec_;
807  double dTecStdDev_;
808  // CALC's products: theoretic values and contributions:
829  double calcPxDelay_;
830  double calcPxRate_;
831  double calcPyDelay_;
832  double calcPyRate_;
838  //
845  //
850  //
855  double calcUt1_Tai_;
856  double calcPmX_;
857  double calcPmY_;
858  double calcCipXv_;
859  double calcCipXr_;
860  double calcCipYv_;
861  double calcCipYr_;
862  double calcCipSv_;
863  double calcCipSr_;
872 
873  // corrections for the external series of ERP:
874  double extDelayErp_;
875  double extRateErp_;
876  // external high frequency ERP model:
881 
882 
883  // for spoolfile output:
892 
893  // partials:
894  // stations:
899  // source:
900  double dDel_dRA_;
901  double dRat_dRA_;
902  double dDel_dDN_;
903  double dRat_dDN_;
904  // UT1:
905  double dDel_dUT1_;
906  double dRat_dUT1_;
907  double d2Del_dUT12_;
908  double d2Rat_dUT12_;
909  // Polar motion:
910  double dDel_dPx_;
911  double dRat_dPx_;
912  double dDel_dPy_;
913  double dRat_dPy_;
914  // Angles of nutation:
915  double dDel_dCipX_;
916  double dRat_dCipX_;
917  double dDel_dCipY_;
918  double dRat_dCipY_;
919  // Bending:
920  double dDel_dBend_;
921  double dRat_dBend_;
922  // Gamma:
923  double dDel_dGamma_;
924  double dRat_dGamma_;
925  // Parallax:
930  // Polar Tides:
935  //
936  double fractC_;
937  //
938  // end of DB variables
939  // from VEX:
940  double apLength_;
941 
942  // for PIMA feeding:
944  double sumAX_4rate_;
945  //
946  // user corrections (bandless):
947  QVector<double> userCorrections_;
948 
949  // for data exchange:
952 
953  // pointers on external data structures, need during run-time for various procedures:
960 
961  // theoretical values:
962  double theoDelay_;
963  double theoRate_;
964  //
967 
968  // supplementary:
972 
975 
976  //
978 
984 
985  void evalExtApriori_StnPos(const SgTaskConfig*, double& dD, double& dR);
986  void evalExtApriori_SrcPos(double& dD, double& dR);
987  void evalExtApriori_AxsOfs(double& dD, double& dR);
988  void evalExtApriori_MeanGrads(double& dD, double& dR);
989 };
990 /*=====================================================================================================*/
991 
992 
993 
994 
995 /*=====================================================================================================*/
996 /* */
997 /* SgVlbiObservation inline members: */
998 /* */
999 /*=====================================================================================================*/
1000 //
1001 //
1002 // CONSTRUCTORS:
1003 //
1004 
1005 
1006 //
1007 // INTERFACES:
1008 //
1009 //
1010 inline const QString& SgVlbiObservation::getKey()
1011 {
1012  return key_;
1013 };
1014 
1015 
1016 
1017 //
1019 {
1020  return session_;
1021 };
1022 
1023 
1024 
1025 inline SgVlbiObservable* SgVlbiObservation::observable(const QString& bandKey)
1026 {
1027  return observableByKey_.contains(bandKey) ? observableByKey_.value(bandKey) : NULL;
1028 };
1029 
1030 
1031 
1032 //
1034 {
1035  return activeObs_;
1036 };
1037 
1038 
1039 
1040 //
1042 {
1043  return primeObs_;
1044 };
1045 
1046 
1047 
1048 // returns idx of St.#1
1049 inline short int SgVlbiObservation::getStation1Idx() const
1050 {
1051  return station1Idx_;
1052 };
1053 
1054 
1055 
1056 // returns idx of St.#2
1057 inline short int SgVlbiObservation::getStation2Idx() const
1058 {
1059  return station2Idx_;
1060 };
1061 
1062 
1063 
1064 // returns idx of Src
1065 inline short int SgVlbiObservation::getSourceIdx() const
1066 {
1067  return sourceIdx_;
1068 };
1069 
1070 
1071 
1072 // returns idx of baseline
1073 inline short int SgVlbiObservation::getBaselineIdx() const
1074 {
1075  return baselineIdx_;
1076 };
1077 
1078 
1079 
1080 //
1081 inline const QString& SgVlbiObservation::getScanName() const
1082 {
1083  return scanName_;
1084 };
1085 
1086 
1087 
1088 //
1089 inline const QString& SgVlbiObservation::getScanId() const
1090 {
1091  return scanId_;
1092 };
1093 
1094 
1095 
1096 //
1097 inline const QString& SgVlbiObservation::getScanFullName() const
1098 {
1099  return scanFullName_;
1100 };
1101 
1102 
1103 
1104 //
1105 inline double SgVlbiObservation::getDTec() const
1106 {
1107  return dTec_;
1108 };
1109 
1110 
1111 
1112 //
1113 inline double SgVlbiObservation::getDTecStdDev() const
1114 {
1115  return dTecStdDev_;
1116 };
1117 
1118 
1119 
1120 //
1122 {
1123  return calcConsensusDelay_;
1124 };
1125 
1126 
1127 
1128 //
1130 {
1131  return calcWobNutatContrib_;
1132 };
1133 
1134 
1135 
1136 //
1137 inline double SgVlbiObservation::getCalcCipXv() const
1138 {
1139  return calcCipXv_;
1140 };
1141 
1142 
1143 
1144 //
1145 inline double SgVlbiObservation::getCalcCipYv() const
1146 {
1147  return calcCipYv_;
1148 };
1149 
1150 
1151 
1152 //
1153 inline double SgVlbiObservation::getCalcCipSv() const
1154 {
1155  return calcCipSv_;
1156 };
1157 
1158 
1159 
1160 //
1161 inline double SgVlbiObservation::getCalcCipXr() const
1162 {
1163  return calcCipXr_;
1164 };
1165 
1166 
1167 
1168 //
1169 inline double SgVlbiObservation::getCalcCipYr() const
1170 {
1171  return calcCipYr_;
1172 };
1173 
1174 
1175 
1176 //
1177 inline double SgVlbiObservation::getCalcCipSr() const
1178 {
1179  return calcCipSr_;
1180 };
1181 
1182 
1183 
1184 //
1186 {
1187  return calcNutWahr_dPsiV_;
1188 };
1189 
1190 
1191 
1192 //
1194 {
1195  return calcNutWahr_dEpsV_;
1196 };
1197 
1198 
1199 
1200 //
1202 {
1203  return calcNutWahr_dPsiR_;
1204 };
1205 
1206 
1207 
1208 //
1210 {
1211  return calcNutWahr_dEpsR_;
1212 };
1213 
1214 
1215 
1216 //
1218 {
1219  return calcNut2006_dPsiV_;
1220 };
1221 
1222 
1223 
1224 //
1226 {
1227  return calcNut2006_dEpsV_;
1228 };
1229 
1230 
1231 
1232 //
1234 {
1235  return calcNut2006_dPsiR_;
1236 };
1237 
1238 
1239 
1240 //
1242 {
1243  return calcNut2006_dEpsR_;
1244 };
1245 
1246 
1247 
1248 
1249 
1250 
1251 // sets:
1252 //
1253 //
1254 inline void SgVlbiObservation::setKey(const QString& key)
1255 {
1256  key_ = key;
1257 };
1258 
1259 
1260 
1261 //
1262 inline void SgVlbiObservation::setStation1Idx(short int idx)
1263 {
1264  station1Idx_ = idx;
1265 };
1266 
1267 
1268 
1269 //
1270 inline void SgVlbiObservation::setStation2Idx(short int idx)
1271 {
1272  station2Idx_ = idx;
1273 };
1274 
1275 
1276 
1277 //
1278 inline void SgVlbiObservation::setSourceIdx(short int idx)
1279 {
1280  sourceIdx_ = idx;
1281 };
1282 
1283 
1284 
1285 //
1286 inline void SgVlbiObservation::setBaselineIdx(short int idx)
1287 {
1288  baselineIdx_ = idx;
1289 };
1290 
1291 
1292 
1293 //
1294 inline void SgVlbiObservation::setScanName(const QString& sName)
1295 {
1296  scanName_ = sName;
1297 };
1298 
1299 
1300 
1301 //
1302 inline void SgVlbiObservation::setScanId(const QString& sId)
1303 {
1304  scanId_ = sId;
1305 };
1306 
1307 
1308 
1309 //
1310 inline void SgVlbiObservation::setScanFullName(const QString& sId)
1311 {
1312  scanFullName_ = sId;
1313 };
1314 
1315 
1316 
1317 //
1318 inline void SgVlbiObservation::setDTec(double d)
1319 {
1320  dTec_ = d;
1321 };
1322 
1323 
1324 
1325 //
1327 {
1328  dTecStdDev_ = e;
1329 };
1330 
1331 
1332 
1333 //
1335 {
1336  calcConsensusDelay_ = d;
1337 };
1338 
1339 
1340 
1341 //
1343 {
1345 };
1346 
1347 
1348 
1349 //
1350 inline void SgVlbiObservation::setCalcCipXv(double v)
1351 {
1352  calcCipXv_ = v;
1353 };
1354 
1355 
1356 
1357 //
1358 inline void SgVlbiObservation::setCalcCipYv(double v)
1359 {
1360  calcCipYv_ = v;
1361 };
1362 
1363 
1364 
1365 //
1366 inline void SgVlbiObservation::setCalcCipSv(double v)
1367 {
1368  calcCipSv_ = v;
1369 };
1370 
1371 
1372 
1373 //
1374 inline void SgVlbiObservation::setCalcCipXr(double v)
1375 {
1376  calcCipXr_ = v;
1377 };
1378 
1379 
1380 
1381 //
1382 inline void SgVlbiObservation::setCalcCipYr(double v)
1383 {
1384  calcCipYr_ = v;
1385 };
1386 
1387 
1388 
1389 //
1390 inline void SgVlbiObservation::setCalcCipSr(double v)
1391 {
1392  calcCipSr_ = v;
1393 };
1394 
1395 
1396 
1397 //
1399 {
1400  calcNutWahr_dPsiV_ = v;
1401 };
1402 
1403 
1404 
1405 //
1407 {
1408  calcNutWahr_dEpsV_ = v;
1409 };
1410 
1411 
1412 
1413 //
1415 {
1416  calcNutWahr_dPsiR_ = v;
1417 };
1418 
1419 
1420 
1421 //
1423 {
1424  calcNutWahr_dEpsR_ = v;
1425 };
1426 
1427 
1428 
1429 //
1431 {
1432  calcNut2006_dPsiV_ = v;
1433 };
1434 
1435 
1436 
1437 //
1439 {
1440  calcNut2006_dEpsV_ = v;
1441 };
1442 
1443 
1444 
1445 //
1447 {
1448  calcNut2006_dPsiR_ = v;
1449 };
1450 
1451 
1452 
1453 //
1455 {
1456  calcNut2006_dEpsR_ = v;
1457 };
1458 
1459 
1460 
1461 
1462 //
1464 {
1465  return baselineClock_F1_;
1466 };
1467 
1469 {
1470  return baselineClock_F1r_;
1471 };
1472 
1474 {
1475  return baselineClock_F1l_;
1476 };
1477 
1479 {
1480  baselineClock_F1_ = f;
1481 };
1482 
1484 {
1485  baselineClock_F1l_ = f;
1486 };
1487 
1489 {
1490  baselineClock_F1r_ = f;
1491 };
1492 
1493 
1494 //
1495 // FUNCTIONS:
1496 //
1497 //
1498 inline const QString SgVlbiObservation::className() const
1499 {
1500  return "SgVlbiObservation";
1501 };
1502 
1503 
1504 
1505 //
1507 {
1508  return
1509  *this < (const SgMJD&)obs ? true :
1510  (SgMJD::operator==(obs) ? (mediaIdx_ < obs.getMediaIdx()) : false);
1511 };
1512 
1513 
1514 
1515 //
1517 {
1519 };
1520 
1521 
1522 
1523 //
1525 {
1526  return activeObs_?activeObs_->phDRate().getResidualNorm():0.0;
1527 };
1528 /*=====================================================================================================*/
1529 
1530 
1531 
1532 
1533 /*=====================================================================================================*/
1534 #endif // SG_VLBI_OBSERVATION_H
Definition: SgMJD.h:59
virtual int getMediaIdx() const
double getResidualNorm() const
SgVlbiMeasurement & phDRate()
SgVlbiMeasurement * activeDelay()
double getAprioriCyLfContrib() const
void setCalcOceanTideDelay(double v)
double theoRate() const
void setCalcGpsIonoCorrectionRate(double d)
void setCalcHiFyPxyRate(double v)
double getDrat_dCipY() const
double getCalcCipXv() const
double getExtDelayHiFyUt1() const
void setCalcNut2006_dPsiV(double v)
virtual const SgVector & o_c()
QList< SgVlbiObservable * > passiveObses_
double getCalcNutWahr_dEpsV() const
void setStation1Idx(short int idx)
void setRearth(const Sg3dVector &r)
void setScanId(const QString &sId)
SgVlbiBaselineInfo * baseline_
void setCalcConsBendingRate(double d)
double getCalcTiltRemvrRate() const
@ Attr_PASSED_CL_FN1
the observation participated in the procedure "calc clc fn#1"
@ Attr_SBD_NOT_VALID
omit the observation if single band delay is analysed;
@ Attr_NOT_MATCHED
there is no match at another band(s)
@ Attr_CLOCK_BREAK_AT_2
clock break occured at station #2
@ Attr_CLOCK_BREAK_AT_1
clock break occured at station #1
@ Attr_CONTAINS_ALL_DATA
an observaiton probably is from a primary band (for DBH IO)
void setCalcHiFyPxyDelay(double v)
double getCalcPoleTideOldDelay() const
const Sg3dVector & getVearth() const
void setExtRateErp(double v)
double getCalcCipSr() const
double getCalcTiltRemvrDelay() const
void setDdel_dRA(double d)
double aPrioriCipY() const
void setDrat_dPolTideY(double d)
void setCalcOceanPoleTideLdDelay(double v)
SgVlbiStationInfo * stn_1()
void setDrat_dR_1(const Sg3dVector &r)
void setCalcHiFyUt1Rate(double v)
SgVlbiSourceInfo * src_
void setCalcPxDelay(double v)
const Sg3dMatrix & getTrf2crfAcc() const
void setSourceIdx(short int idx)
double getCalcOceanPoleTideLdDelay() const
void setCalcNut2006_dEpsV(double v)
void setCalcPoleTideDelay(double v)
void setDdel_dGamma(double d)
double getNormalizedRateResidual()
void setApLength(double d)
void setCalcTiltRemvrRate(double v)
double getCalcConsBendingSunRate() const
SgVlbiAuxObservation * auxObs_2()
void setCalcConsBendingSunRate(double d)
void setAprioriCxLfContrib(double v)
double getCalcNutWahr_dPsiV() const
double aPrioriCipX() const
bool addObservable(const QString &, const SgVlbiObservable &)
void setExtDelayHiFyUt1(double v)
double getCalcPmX() const
void setRsun(const Sg3dVector &r)
SgVlbiSession * session()
double calcConsBendingSunHigherRate_
SgVlbiSourceInfo * src()
double extAprioriCorrections4delay_
void setCalcEarthTideDelay(double v)
void setCalcConsensusDelay(double tau)
void setBaselineClock_F1l(double f)
void setDTecStdDev(double e)
void setCalcNut2006_dPsiR(double v)
void setAuxObs_2(SgVlbiAuxObservation *aux)
double getCalcPxDelay() const
void setCalcNut2006_dEpsR(double v)
virtual void prepare4Analysis(SgTaskManager *)
void setVsun(const Sg3dVector &v)
void setCalcHiFyPxyLibrationRate(double v)
void fillPartials(SgTaskManager *)
void setAprioriUt1HfContrib(double v)
double getCalcOceanTideDelay() const
void setAuxObs_1(SgVlbiAuxObservation *aux)
double getExtRateHiFyPxy() const
double getDdel_dDN() const
double getDdel_dParallaxRev() const
void setCalcPyDelay(double v)
double calcGpsIonoCorrectionDelay_
void evalExtApriori_MeanGrads(double &dD, double &dR)
double getCalcOceanPoleTideLdRate() const
void setScanName(const QString &sName)
double getDTecStdDev() const
void setCalcCipSr(double v)
double getCalcNut2006_dPsiV() const
void setCalcPoleTideOldDelay(double v)
double getBaselineClock_F1() const
double reweightAuxSum4rate() const
short int getStation1Idx() const
void setDrat_dPolTideX(double d)
void setCalcPoleTideRate(double v)
void evalExtApriori_SrcPos(double &dD, double &dR)
void setCalcHiFyUt1LibrationDelay(double v)
void setCalcPmY(double d)
virtual const QString className() const
const Sg3dVector & getRmoon() const
const Sg3dMatrix & getTrf2crfVal() const
double getCalcCipYv() const
double calcConsBendingSunHigherDelay_
void setupActiveMeasurement(const SgTaskConfig *)
double theoDelay() const
const QString & getScanFullName() const
double getDrat_dGamma() const
void setDTec(double d)
SgVlbiBaselineInfo * baseline()
double getCalcPyDelay() const
void setVmoon(const Sg3dVector &v)
double getAprioriPyLfContrib() const
void setCalcConsBendingSunHigherDelay(double d)
void setCalcConsensusRate(double r)
void setCalcUt1_Tai(double d)
void setCalcNutWahr_dEpsV(double v)
QVector< double > userCorrections_
void setCalcNutWahr_dPsiV(double v)
double getDdel_dBend() const
const Sg3dVector & getVsun() const
double getDdel_dPy() const
double getCalcConsBendingSunHigherRate() const
void setBaselineClock_F1(double f)
void setDrat_dParallaxRev(double d)
virtual bool selfCheck()
double getApLength() const
double getExtDelayErp() const
void setAprioriCyLfContrib(double v)
void setDrat_dCipY(double d)
void setCalcCipYv(double v)
QList< SgVlbiObservable * > & passiveObses()
double getDrat_dPx() const
short int getSourceIdx() const
double getCalcNutWahr_dPsiR() const
void setDrat_dGamma(double d)
Sg3dMatrix & trf2crfRat()
void setCalcOceanTideOldRate(double v)
double getDdel_dPolTideX() const
double getCalcGpsIonoCorrectionDelay() const
void setCalcFeedCorrDelay(double v)
void setupActiveObservable(const QString &)
void setDrat_dRA(double d)
void setBaselineClock_F1r(double f)
void setCorrRootFileName(const QString &sName)
void setTrf2crfAcc(const Sg3dMatrix &m)
void setD2rat_dUT12(double d)
double getCalcConsBendingSunDelay() const
void setCalcGpsIonoCorrectionDelay(double d)
void setCalcHiFyPxyLibrationDelay(double v)
bool modifyNotValidAttribute(bool=false)
double getCalcCipXr() const
SgVlbiAuxObservation * auxObs_1_
double getAprioriUt1HfContrib() const
void setAprioriPyLfContrib(double v)
double getCalcPoleTideOldRate() const
void setTrf2crfVal(const Sg3dMatrix &m)
void setCalcPmX(double d)
double getCalcFeedCorrRate() const
void setExtRateHiFyUt1(double v)
QMap< QString, SgVlbiObservable * > observableByKey_
void fillPartials4rate(SgTaskManager *)
double getCalcConsBendingSunHigherDelay() const
double getCalcNut2006_dEpsV() const
double getCalcConsBendingDelay() const
double getCalcEarthTideDelay() const
const Sg3dVector & getDdel_dR_1() const
void setCalcOceanTideOldDelay(double v)
void setDdel_dR_1(const Sg3dVector &r)
void setDdel_dUT1(double d)
double getCalcConsensusRate() const
void setDrat_dBend(double d)
double aPrioriPx() const
void setVearth(const Sg3dVector &v)
double getFractC() const
double getCalcHiFyPxyRate() const
SgVlbiObservation(SgVlbiSession *)
double getD2rat_dUT12() const
double getNormalizedDelayResidual()
double getDrat_dCipX() const
double getCalcCipYr() const
double aPrioriUt1() const
void setDdel_dPolTideX(double d)
void setCalcCipXr(double v)
void setCalcCipSv(double v)
const QVector< double > & getUserCorrections() const
double getDrat_dPolTideY() const
double getCalcPxRate() const
double getCalcGpsIonoCorrectionRate() const
void setCalcConsBendingSunHigherRate(double d)
void setExtDelayErp(double v)
double getCalcPyRate() const
double getAprioriPxLfContrib() const
const Sg3dVector & getRearth() const
double getCalcPoleTideRate() const
double getDrat_dBend() const
double getCalcCipSv() const
double getCalcWobNutatContrib() const
SgVlbiObservable * activeObs_
double getCalcHiFyUt1LibrationRate() const
SgVlbiStationInfo * stn_2()
void setDdel_dCipY(double d)
const Sg3dVector & getVmoon() const
static SgVector storage4O_C
const QString & getCorrRootFileName() const
double getAprioriUt1LfContrib() const
SgVlbiSession * session_
double extAprioriCorrections4rate_
double getDdel_dCipY() const
void setStation2Idx(short int idx)
int minQualityFactor() const
double getAprioriPyHfContrib() const
double getCalcNut2006_dPsiR() const
virtual bool operator<(const SgVlbiObservation &obs) const
const Sg3dVector & getDdel_dR_2() const
double getCalcHiFyPxyLibrationRate() const
SgVlbiStationInfo * stn_1_
void calcIonoCorrections(const SgTaskConfig *)
void setAprioriPyHfContrib(double v)
bool loadIntermediateResults(QDataStream &)
double getDTec() const
void setCalcCipXv(double v)
void setDrat_dParallax(double d)
SgVlbiObservable * observable(const QString &)
bool saveIntermediateResults(QDataStream &) const
void setCalcNutWahr_dEpsR(double v)
QVector< double > & userCorrections()
SgVlbiStationInfo * stn_2_
double getD2del_dUT12() const
SgVlbiObservable * primeObs_
double getDrat_dUT1() const
void setDdel_dParallax(double d)
SgVlbiObservable * primeObs()
void setAprioriUt1LfContrib(double v)
void setCalcEarthTideRate(double v)
virtual const SgVector & sigma()
double getCalcConsBendingRate() const
double getAprioriCxLfContrib() const
void setExtRateHiFyPxy(double v)
QList< SgParameter * > parameters_
void setDdel_dPy(double d)
void setD2del_dUT12(double d)
void setCalcFeedCorrRate(double v)
const Sg3dMatrix & getTrf2crfRat() const
double getCalcEarthTideRate() const
const QString & getScanName() const
void setAprioriPxLfContrib(double v)
void setExtDelayHiFyPxy(double v)
void evalExtApriori_StnPos(const SgTaskConfig *, double &dD, double &dR)
void setAprioriPxHfContrib(double v)
double getDdel_dPx() const
double getDrat_dPy() const
short int getStation2Idx() const
void setDdel_dPx(double d)
const Sg3dVector & getDrat_dR_1() const
QMap< QString, SgVlbiObservable * > & observableByKey()
void setCalcTiltRemvrDelay(double v)
void setDdel_dCipX(double d)
double getCalcHiFyPxyLibrationDelay() const
const QString & getScanId() const
void setRmoon(const Sg3dVector &r)
void setCalcOceanPoleTideLdRate(double v)
double getDrat_dPolTideX() const
double getExtRateErp() const
void setCalcConsBendingDelay(double d)
double getCalcPmY() const
void setDdel_dBend(double d)
double getDdel_dUT1() const
void setCalcOceanTideRate(double v)
double getDrat_dRA() const
Sg3dMatrix & trf2crfAcc()
virtual bool isEligible(const SgTaskConfig *)
double getDrat_dParallax() const
SgVlbiAuxObservation * auxObs_1()
double aPrioriPy() const
void setDrat_dCipX(double d)
double getExtDelayHiFyPxy() const
void setCalcHiFyUt1LibrationRate(double v)
void setCalcHiFyUt1Delay(double v)
void setDrat_dPx(double d)
void setDdel_dParallaxRev(double d)
void setAearth(const Sg3dVector &a)
const QString & getKey()
double getBaselineClock_F1r() const
void setCalcPyRate(double v)
void setDrat_dDN(double d)
double getDdel_dParallax() const
double getDdel_dGamma() const
void setBaselineIdx(short int idx)
double sumAX_4delay() const
void setCalcPxRate(double v)
double getCalcNut2006_dEpsR() const
const Sg3dVector & getDrat_dR_2() const
void setDdel_dR_2(const Sg3dVector &r)
double reweightAuxSum4delay() const
double getCalcOceanTideRate() const
void setCalcNutWahr_dPsiR(double v)
double getAprioriPxHfContrib() const
static SgVector storage4Sigmas
double getCalcNutWahr_dEpsR() const
void setScanFullName(const QString &sId)
void setCalcPoleTideOldRate(double v)
double getCalcPoleTideDelay() const
void setCalcConsBendingSunDelay(double d)
virtual void evaluateTheoreticalValues(SgTaskManager *)
double getCalcFeedCorrDelay() const
double getCalcHiFyUt1Delay() const
short int getBaselineIdx() const
double sumAX_4rate() const
const Sg3dVector & getRsun() const
double getCalcOceanTideOldDelay() const
void setDrat_dUT1(double d)
void evalExtApriori_AxsOfs(double &dD, double &dR)
double getCalcConsensusDelay() const
double getDdel_dPolTideY() const
void setTrf2crfRat(const Sg3dMatrix &m)
double getDrat_dDN() const
const Sg3dVector & getAearth() const
double getCalcHiFyPxyDelay() const
void setFractC(double d)
void setDrat_dR_2(const Sg3dVector &r)
void setCalcWobNutatContrib(double v)
double getCalcHiFyUt1Rate() const
double getCalcHiFyUt1LibrationDelay() const
void setDrat_dPy(double d)
double getDrat_dParallaxRev() const
SgVlbiObservable * activeObs()
void setKey(const QString &)
void fillPartials4delay(SgTaskManager *)
double getCalcUt1_Tai() const
void setCalcCipYr(double v)
Sg3dMatrix & trf2crfVal()
double getDdel_dCipX() const
void setDdel_dPolTideY(double d)
double getBaselineClock_F1l() const
double getDdel_dRA() const
virtual void evaluateResiduals(SgTaskManager *)
void setDdel_dDN(double d)
SgVlbiAuxObservation * auxObs_2_
double getCalcOceanTideOldRate() const
double getExtRateHiFyUt1() const