General Purpose Geodetic Library
SgKombFormat.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_KOMB_FORMAT_H
24 #define SG_KOMB_FORMAT_H
25 
26 
27 #include <math.h>
28 #include <string.h>
29 
30 
31 #ifdef HAVE_CONFIG_H
32 # include <config.h>
33 #endif
34 
35 
36 #include <QtCore/QDataStream>
37 #include <QtCore/QList>
38 #include <QtCore/QMap>
39 #include <QtCore/QString>
40 #include <QtCore/QTextStream>
41 //#include <QtCore/QHash>
42 
43 
44 
45 #include <Sg3dVector.h>
46 #include <SgMathSupport.h>
47 #include <SgMJD.h>
48 
49 
50 
51 
52 
53 
54 class SgKombHeader;
55 
56 /***===================================================================================================*/
62 class SgKombStream : public QDataStream // just reserved type for this kind of operations
63 {};
64 /*=====================================================================================================*/
65 
66 
67 
68 
69 
70 
71 /***===================================================================================================*/
77 {
78 public:
79  // Statics:
80  static const QString className();
81 
82  //
83  // constructors/destructors:
84  //
85  inline SgKombHeaderRecord();
86  inline ~SgKombHeaderRecord() {};
87 
88  //
89  // Interfaces:
90  //
91  inline int idx() const {return idx_;};
92  inline const char* prefix() const {return prefix_;};
93  inline const char* bandId() const {return bandId_;};
94 
95  //
96  // Functions:
97  //
98  void debugReport(); // temporary
99 
100  //
101  // Friends:
102  //
103 
104  //
105  // I/O:
106  //
109 
110 protected:
111  short idx_;
112  char prefix_[5];
113  char bandId_[3];
114 };
115 /*=====================================================================================================*/
116 
117 
118 
119 
120 
121 
122 /***===================================================================================================*/
128 {
129 public:
130  // Statics:
131  static const QString className();
132 
133  //
134  // constructors/destructors:
135  //
136  inline SgKombHeader();
137  inline ~SgKombHeader();
138 
139  //
140  // Interfaces:
141  //
142  inline short idx() const {return idx_;};
143  inline const char* prefix() const {return prefix_;};
144  inline const char* prefixIdx() const {return prefixIdx_;};
145  inline const char* experimentCode() const {return experimentCode_;};
146  inline short obsIdx() const {return obsIdx_;};
147  inline const char* baselineId() const {return baselineId_;};
148  inline short totalNumberOfRecs() const {return totalNumberOfRecs_;};
149  inline short totalNumberOfHeaderRecs() const {return totalNumberOfHeaderRecs_;};
150  inline const char* kombFileName() const {return kombFileName_;};
151  inline const QList<SgKombHeaderRecord*>& entries() const {return entries_;};
152 
153  //
154  // Functions:
155  //
156  void debugReport(); // temporary
157 
158  //
159  // Friends:
160  //
161 
162  //
163  // I/O:
164  //
166 
167 protected:
168  int idx_;
169  char prefix_[3];
170  char prefixIdx_[3];
171  char experimentCode_[11];
172  short obsIdx_;
173  char baselineId_[3];
176  char kombFileName_[7];
178 };
179 /*=====================================================================================================*/
180 
181 
182 
183 
184 
185 
186 /***===================================================================================================*/
192 {
193 public:
194  // Statics:
195  static const QString className();
196 
197  //
198  // constructors/destructors:
199  //
200  inline SgKombOb01Record();
201  inline ~SgKombOb01Record() {};
202 
203  //
204  // Interfaces:
205  //
206  inline const char* prefix() const {return prefix_;};
207  inline const char* experimentCode() const {return experimentCode_;};
208  inline short obsIdx() const {return obsIdx_;};
209  inline const char* baselineId() const {return baselineId_;};
210  inline short epochObsStart(int i) const {return (0<=i&&i<5)?epochObsStart_[i]:0;};
211  inline short epochObsStop(int i) const {return (0<=i&&i<5)?epochObsStop_[i]:0;};
212  inline short epochObsRef(int i) const {return (0<=i&&i<5)?epochObsRef_[i]:0;};
213  inline const char* correlatorFileName() const {return correlatorFileName_;};
214  inline const char* kombFileName() const {return kombFileName_;};
215  inline short epochProcCorr(int i) const {return (0<=i&&i<4)?epochProcCorr_[i]:0;};
216  inline short periodPp() const {return periodPp_;};
217  inline short numOfPp() const {return numOfPp_;};
218  inline float samplingPeriod() const {return samplingPeriod_;};
219  inline float videoBandWidth() const {return videoBandWidth_;};
220  inline const char* correlatorMode() const {return correlatorMode_;};
221  inline const char* sourceName() const {return sourceName_;};
222  inline const char* station1Name() const {return station1Name_;};
223  inline const char* station2Name() const {return station2Name_;};
224  inline double aPrioriObses(int i) const {return (0<=i&&i<4)?aPrioriObses_[i]:0.0;};
225  inline double aPrioriClockError() const {return aPrioriClockError_;};
226  inline double aPrioriRefClockOffset() const {return aPrioriClockOffset_;};
227  inline double clockRateDiff() const {return clockRateDiff_;};
228  inline double instrumentalDelay() const {return instrumentalDelay_;};
229  inline const SgMJD& tStart() const {return tStart_;};
230  inline const SgMJD& tFinis() const {return tFinis_;};
231  inline const SgMJD& tRefer() const {return tRefer_;};
232  inline const SgMJD& tProcByCorr() const {return tProcByCorr_;};
233 
234  //
235  // Functions:
236  //
237  void debugReport(); // temporary
238 
239  //
240  // Friends:
241  //
242 
243  //
244  // I/O:
245  //
247 
248 protected:
249  char prefix_[5];
250  char experimentCode_[11];
251  short obsIdx_;
252  char baselineId_[3];
253  short epochObsStart_[5];
254  short epochObsStop_[5];
255  short epochObsRef_[5];
257  char kombFileName_[7];
258  short epochProcCorr_[4];
259  short periodPp_;
260  short numOfPp_;
264  char sourceName_[9];
265  char station1Name_[9];
266  char station2Name_[9];
267  double aPrioriObses_[4];
276  float srcRa_;
277  float srcDe_;
280 };
281 /*=====================================================================================================*/
282 
283 
284 
285 
286 
287 
288 
289 /***===================================================================================================*/
295 {
296 public:
297  // Statics:
298  static const QString className();
299 
300  //
301  // constructors/destructors:
302  //
303  inline SgKombOb02Record();
304  inline ~SgKombOb02Record() {};
305 
306  //
307  // Interfaces:
308  //
309  inline const char* prefix() const {return prefix_;};
310  inline short numOfChannels() const {return numOfChannels_;};
311  inline short idxNumTable(int i, int j) const {return (0<=i&&i<16 && 0<=j&&j<2)?idxNumTable_[i][j]:0;};
312 
313  //
314  // Functions:
315  //
316  void debugReport(); // temporary
317 
318  //
319  // Friends:
320  //
321 
322  //
323  // I/O:
324  //
326 
327 protected:
328  char prefix_[5];
330  short idxNumTable_[16][2]; // chan x sideband[=USB,LSB]
331 };
332 /*=====================================================================================================*/
333 
334 
335 
336 
337 
338 
339 
340 /***===================================================================================================*/
346 {
347 public:
348  // Statics:
349  static const QString className();
350 
351  //
352  // constructors/destructors:
353  //
354  inline SgKombOb03Record();
355  inline ~SgKombOb03Record() {};
356 
357  //
358  // Interfaces:
359  //
360  inline const char* prefix() const {return prefix_;};
361  inline double rfFreqs(int i) const {return (0<=i&&i<16)?rfFreqs_[i]:0.0;};
362  inline float phCalFreqs(int i) const {return (0<=i&&i<16)?phCalFreqs_[i]:0.0;};
363 
364  //
365  // Functions:
366  //
367  void debugReport(); // temporary
368 
369  //
370  // Friends:
371  //
372 
373  //
374  // I/O:
375  //
377 
378 protected:
379  char prefix_[5];
380  double rfFreqs_[16];
381  float phCalFreqs_[16];
382 };
383 /*=====================================================================================================*/
384 
385 
386 
387 
388 
389 
390 
391 /***===================================================================================================*/
397 {
398 public:
399  // Statics:
400  static const QString className();
401 
402  //
403  // constructors/destructors:
404  //
405  inline SgKombBd01Record();
406  inline ~SgKombBd01Record() {};
407 
408  //
409  // Interfaces:
410  //
411  inline const char* prefix() const {return prefix_;};
412  inline const char* bwsMode() const {return bwsMode_;};
413  inline const char* bandId() const {return bandId_;};
414  inline short epochProcKomb(int i) const {return (0<=i&&i<4)?epochProcKomb_[i]:0;};
415  inline short kombProcsdNumber() const {return kombProcsdNumber_;};
416  inline short epochCorrStart(int i) const {return (0<=i&&i<6)?epochCorrStart_[i]:0;};
417  inline short epochCorrFinis(int i) const {return (0<=i&&i<6)?epochCorrFinis_[i]:0;};
418  inline short totalNumOfProcChannels() const {return totalNumOfProcChannels_;};
419  inline short idxNumTable(int i, int j) const {return (0<=i&&i<16 && 0<=j&&j<2)?idxNumTable_[i][j]:0;};
420  inline const char* tapeQualityCode() const {return tapeQualityCode_;};
421  inline double procRefFreq() const {return procRefFreq_;};
422  inline double rfFreqs(int i) const {return (0<=i&&i<16)?rfFreqs_[i]:0.0;};
423  inline const SgMJD& tProcByKomb() const {return tProcByKomb_;};
424  inline const SgMJD& tCorrStart() const {return tCorrStart_;};
425  inline const SgMJD& tCorrFinis() const {return tCorrFinis_;};
426 
427  //
428  // Functions:
429  //
430  void debugReport(); // temporary
431 
432  //
433  // Friends:
434  //
435 
436  //
437  // I/O:
438  //
440 
441 protected:
442  char prefix_[5];
443  char bwsMode_[5];
444  char bandId_[3];
445  short epochProcKomb_[4];
447  short epochCorrStart_[6];
448  short epochCorrFinis_[6];
450  short idxNumTable_[16][2]; // chan x sideband[=USB,LSB]
452  double procRefFreq_;
453  double rfFreqs_[16];
457 };
458 /*=====================================================================================================*/
459 
460 
461 
462 
463 
464 
465 
466 /***===================================================================================================*/
472 {
473 public:
474  // Statics:
475  static const QString className();
476 
477  //
478  // constructors/destructors:
479  //
480  inline SgKombBd02Record();
481  inline ~SgKombBd02Record() {};
482 
483  //
484  // Interfaces:
485  //
486  inline const char* prefix() const {return prefix_;};
487  inline const char* bwsMode() const {return bwsMode_;};
488  inline const char* bandId() const {return bandId_;};
489  inline const char* kombQualityCode() const {return kombQualityCode_;};
490  inline const char* errorStatusMaskCode(int i) const
491  {const char *p=(const char *)errorStatusMaskCode_; return (0<=i&&i<20)?(p+5*i):p;};
492  inline short procPpNumTable(int i, int j) const
493  {return (0<=i&&i<16 && 0<=j&&j<2)?procPpNumTable_[i][j]:0;};
494  inline float rmsPpNumByChan() const {return rmsPpNumByChan_;};
496  inline float rejectionRate() const {return rejectionRate_;};
497  inline short epochObsCentral(int i) const {return (0<=i&&i<6)?epochObsCentral_[i]:0;};
498  inline double obsDelayAtCentrlEpoch() const {return obsDelayAtCentrlEpoch_;};
499  inline double obsDelayRateAtCentrlEpoch() const {return obsDelayRateAtCentrlEpoch_;};
501  inline float searchWndCoarseDelay(int i) const {return (0<=i&&i<2)?searchWndCoarseDelay_[i]:0.0;};
502  inline float searchWndFineDelay(int i) const {return (0<=i&&i<2)?searchWndFineDelay_[i]:0.0;};
503  inline float searchWndFineDelayRate(int i) const {return (0<=i&&i<2)?searchWndFineDelayRate_[i]:0.0;};
504  inline double deltaEpochs() const {return deltaEpochs_;};
508  inline const SgMJD& tObsCentral() const {return tObsCentral_;};
509 
510 
511  //
512  // Functions:
513  //
514  void debugReport(); // temporary
515 
516  //
517  // Friends:
518  //
519 
520  //
521  // I/O:
522  //
524 
525 protected:
526  char prefix_[5];
527  char bwsMode_[5];
528  char bandId_[3];
530  char errorStatusMaskCode_[20][5];
531  short procPpNumTable_[16][2]; // chan x sideband[=USB,LSB]
542  double deltaEpochs_; // (PRT - Earth centered epoch), sec
547 };
548 /*=====================================================================================================*/
549 
550 
551 
552 
553 
554 
555 
556 /***===================================================================================================*/
562 {
563 public:
564  // Statics:
565  static const QString className();
566 
567  //
568  // constructors/destructors:
569  //
570  inline SgKombBd03Record();
571  inline ~SgKombBd03Record() {};
572 
573  //
574  // Interfaces:
575  //
576  inline const char* prefix() const {return prefix_;};
577  inline const char* bwsMode() const {return bwsMode_;};
578  inline const char* bandId() const {return bandId_;};
579  inline double phaseCalRate1() const {return phaseCalRate1_;};
580  inline double phaseCalRate2() const {return phaseCalRate2_;};
581  inline float phaseCalAmpPhase1(int i, int j) const
582  {return (0<=i&&i<16 && 0<=j&&j<2)?phaseCalAmpPhase1_[i][j]:0.0;};
583 
584 
585  //
586  // Functions:
587  //
588  void debugReport(); // temporary
589 
590  //
591  // Friends:
592  //
593 
594  //
595  // I/O:
596  //
598 
599 protected:
600  char prefix_[5];
601  char bwsMode_[5];
602  char bandId_[3];
605  float phaseCalAmpPhase1_[16][2];
606 };
607 /*=====================================================================================================*/
608 
609 
610 
611 
612 
613 
614 
615 /***===================================================================================================*/
621 {
622 public:
623  // Statics:
624  static const QString className();
625 
626  //
627  // constructors/destructors:
628  //
629  inline SgKombBd04Record();
630  inline ~SgKombBd04Record() {};
631 
632  //
633  // Interfaces:
634  //
635  inline const char* prefix() const {return prefix_;};
636  inline const char* bwsMode() const {return bwsMode_;};
637  inline const char* bandId() const {return bandId_;};
638  inline float phaseCalAmpPhase2(int i, int j) const
639  {return (0<=i&&i<16 && 0<=j&&j<2)?phaseCalAmpPhase2_[i][j]:0.0;};
640 
641 
642  //
643  // Functions:
644  //
645  void debugReport(); // temporary
646 
647  //
648  // Friends:
649  //
650 
651  //
652  // I/O:
653  //
655 
656 protected:
657  char prefix_[5];
658  char bwsMode_[5];
659  char bandId_[3];
660  float phaseCalAmpPhase2_[16][2];
661 };
662 /*=====================================================================================================*/
663 
664 
665 
666 
667 
668 
669 
670 /***===================================================================================================*/
676 {
677 public:
678  // Statics:
679  static const QString className();
680 
681  //
682  // constructors/destructors:
683  //
684  inline SgKombBd05Record();
685  inline ~SgKombBd05Record() {};
686 
687  //
688  // Interfaces:
689  //
690  inline const char* prefix() const {return prefix_;};
691  inline const char* bwsMode() const {return bwsMode_;};
692  inline const char* bandId() const {return bandId_;};
695  inline float snr() const {return snr_;};
696  inline float incohFringeAmplitude() const {return incohFringeAmplitude_;};
698  inline double obsDelayAtReferEpoch() const {return obsDelayAtReferEpoch_;};
699  inline double obsDelayResid() const {return obsDelayResid_;};
700  inline float obsDelaySigma() const {return obsDelaySigma_;};
701  inline float obsDelayAmbiguity() const {return obsDelayAmbiguity_;};
702  inline double obsDelayRateAtReferEpoch() const {return obsDelayRateAtReferEpoch_;};
703  inline double obsDelayRateResid() const {return obsDelayRateResid_;};
704  inline float obsDelayRateSigma() const {return obsDelayRateSigma_;};
706  inline double obsCoarseDelayResid() const {return obsCoarseDelayResid_;};
707  inline float obsCoarseDelaySigma() const {return obsCoarseDelaySigma_;};
708  inline double obsCoarseDelayRateResid() const {return obsCoarseDelayRateResid_;};
709  inline double phaseDelayAtReferEpoch() const {return phaseDelayAtReferEpoch_;};
712  inline float fringeAmpPhase(int i, int j) const
713  {return (0<=i&&i<16 && 0<=j&&j<2)?fringeAmpPhase_[i][j]:0.0;};
714 
715 
716  //
717  // Functions:
718  //
719  void debugReport(); // temporary
720 
721  //
722  // Friends:
723  //
724 
725  //
726  // I/O:
727  //
729 
730 protected:
731  char prefix_[5];
732  char bwsMode_[5];
733  char bandId_[3];
736  float snr_;
753  float fringeAmpPhase_[16][2];
754 };
755 /*=====================================================================================================*/
756 
757 
758 
759 
760 
761 
762 /***===================================================================================================*/
768 {
769 public:
770  // Statics:
771  static const QString className();
772 
773  //
774  // constructors/destructors:
775  //
776  inline SgKombReader();
777  inline ~SgKombReader();
778 
779  //
780  // Interfaces:
781  //
782  inline bool getIsVerbose() const {return isVerbose_;};
783 
784  inline const SgKombOb01Record& ob01() const {return ob01_;};
785  inline const SgKombOb02Record& ob02() const {return ob02_;};
786  inline const SgKombOb03Record& ob03() const {return ob03_;};
787 
788  inline const QMap<QString, SgKombBd01Record*>& bd01ByBand() const {return bd01ByBand_;};
789  inline const QMap<QString, SgKombBd02Record*>& bd02ByBand() const {return bd02ByBand_;};
790  inline const QMap<QString, SgKombBd03Record*>& bd03ByBand() const {return bd03ByBand_;};
791  inline const QMap<QString, SgKombBd04Record*>& bd04ByBand() const {return bd04ByBand_;};
792  inline const QMap<QString, SgKombBd05Record*>& bd05ByBand() const {return bd05ByBand_;};
793  inline const QMap<QString, QString>& mapOfBands() const {return mapOfBands_;};
794 
795  inline const SgKombBd01Record* bd01(const QString& bandKey) const
796  {return bd01ByBand_.contains(bandKey)?bd01ByBand_.value(bandKey):NULL;};
797  inline const SgKombBd02Record* bd02(const QString& bandKey) const
798  {return bd02ByBand_.contains(bandKey)?bd02ByBand_.value(bandKey):NULL;};
799  inline const SgKombBd03Record* bd03(const QString& bandKey) const
800  {return bd03ByBand_.contains(bandKey)?bd03ByBand_.value(bandKey):NULL;};
801  inline const SgKombBd04Record* bd04(const QString& bandKey) const
802  {return bd04ByBand_.contains(bandKey)?bd04ByBand_.value(bandKey):NULL;};
803  inline const SgKombBd05Record* bd05(const QString& bandKey) const
804  {return bd05ByBand_.contains(bandKey)?bd05ByBand_.value(bandKey):NULL;};
805  inline bool isOk() const {return isOk_;};
806  inline void setIsVerbose(bool is) {isVerbose_ = is;};
807  //
808  // Functions:
809  //
810  inline const char* experimentCode() const
811  {return headers_.size()?headers_.at(0)->experimentCode():"";};
812  void readFile(const QString& fileName);
813  void clearData();
814  void debugReport(); // temporary
815 
816  //
817  // Friends:
818  //
819 
820  //
821  // I/O:
822  //
823 
824 protected:
825  QString fileName_;
831  QMap<QString, SgKombBd01Record*>
833  QMap<QString, SgKombBd02Record*>
835  QMap<QString, SgKombBd03Record*>
837  QMap<QString, SgKombBd04Record*>
839  QMap<QString, SgKombBd05Record*>
841  QMap<QString, QString> mapOfBands_;
842  bool isOk_;
844 };
845 /*=====================================================================================================*/
846 
847 
848 
849 
850 
851 
852 /*=====================================================================================================*/
853 /* */
854 /* SgKombHeaderRecord inline members: */
855 /* */
856 /*=====================================================================================================*/
857 //
858 //
859 // CONSTRUCTORS:
860 //
862 {
863  idx_ = -1;
864  prefix_[0] = prefix_[1] = prefix_[2] = prefix_[3] = '?';
865  bandId_[0] = bandId_[1] = '?';
866  prefix_[4] = bandId_[2] = 0;
867 };
868 
869 
870 
871 //
872 // FUNCTIONS:
873 //
874 //
875 
876 //
877 // FRIENDS:
878 //
879 //
880 //
881 /*=====================================================================================================*/
882 
883 
884 
885 
886 
887 /*=====================================================================================================*/
888 //
889 // aux functions:
890 //
891 
892 
893 /*=====================================================================================================*/
894 
895 
896 
897 
898 
899 /*=====================================================================================================*/
900 /* */
901 /* SgKombHeader inline members: */
902 /* */
903 /*=====================================================================================================*/
904 //
905 //
906 // CONSTRUCTORS:
907 //
909 {
910  idx_ = -1;
911  prefix_[0] = prefix_[1] = '?';
912  prefixIdx_[0] = prefixIdx_[1] = '?';
915  experimentCode_[8] = experimentCode_[9] = '?';
916  obsIdx_=-1;
917  baselineId_[0] = baselineId_[1] = '?';
918  totalNumberOfRecs_ = 0;
921  kombFileName_[5] = '?';
922  prefix_[2] = prefixIdx_[2] = experimentCode_[10] = baselineId_[2] = kombFileName_[6] = 0;
923 };
924 
925 
926 
927 //
929 {
930  for (int i=0; i<entries_.size(); i++)
931  delete entries_.at(i);
932  entries_.clear();
933 };
934 
935 
936 
937 //
938 // FUNCTIONS:
939 //
940 //
941 
942 //
943 // FRIENDS:
944 //
945 //
946 //
947 /*=====================================================================================================*/
948 
949 
950 
951 
952 
953 
954 /*=====================================================================================================*/
955 /* */
956 /* SgKombOb01Record inline members: */
957 /* */
958 /*=====================================================================================================*/
959 //
960 //
961 // CONSTRUCTORS:
962 //
964  tStart_(tZero),
965  tFinis_(tZero),
966  tRefer_(tZero),
967  tProcByCorr_(tZero),
968  r1_(v3Zero),
969  r2_(v3Zero)
970 {
971  prefix_[0] = prefix_[1] = prefix_[2] = prefix_[3] = '?';
974  experimentCode_[8] = experimentCode_[9] = '?';
975  obsIdx_ = -1;
976  baselineId_[0] = baselineId_[1] = '?';
983  kombFileName_[5] = '?';
985  periodPp_ = 0;
986  numOfPp_ = 0;
987  samplingPeriod_ = 0.0;
988  videoBandWidth_ = 0.0;
989  correlatorMode_[0] = correlatorMode_[1] = '?';
990  sourceName_[0] = sourceName_[1] = sourceName_[2] = sourceName_[3] = sourceName_[4] =
991  sourceName_[5] = sourceName_[6] = sourceName_[7] = '?';
993  station1Name_[5] = station1Name_[6] = station1Name_[7] = '?';
995  station2Name_[5] = station2Name_[6] = station2Name_[7] = '?';
996  aPrioriObses_[0] = aPrioriObses_[1] = aPrioriObses_[2] = aPrioriObses_[3] = 0.0;
997  aPrioriClockError_ = 0.0;
998  aPrioriClockOffset_ = 0.0;
999  clockRateDiff_ = 0.0;
1000  instrumentalDelay_ = 0.0;
1001 
1004  srcRa_ = srcDe_ = 0.0;
1005 };
1006 
1007 
1008 
1009 //
1010 // FUNCTIONS:
1011 //
1012 //
1013 
1014 //
1015 // FRIENDS:
1016 //
1017 //
1018 //
1019 /*=====================================================================================================*/
1020 
1021 
1022 
1023 
1024 
1025 
1026 /*=====================================================================================================*/
1027 /* */
1028 /* SgKombOb02Record inline members: */
1029 /* */
1030 /*=====================================================================================================*/
1031 //
1032 //
1033 // CONSTRUCTORS:
1034 //
1036 {
1037  prefix_[0] = prefix_[1] = prefix_[2] = prefix_[3] = '?';
1038  numOfChannels_ = 0;
1039  for (int i=0; i<16; i++)
1040  for (int j=0; j<2; j++)
1041  idxNumTable_[i][j] = 0;
1042  prefix_[4] = 0;
1043 };
1044 
1045 
1046 
1047 //
1048 // FUNCTIONS:
1049 //
1050 //
1051 
1052 //
1053 // FRIENDS:
1054 //
1055 //
1056 //
1057 /*=====================================================================================================*/
1058 
1059 
1060 
1061 
1062 
1063 
1064 /*=====================================================================================================*/
1065 /* */
1066 /* SgKombOb03Record inline members: */
1067 /* */
1068 /*=====================================================================================================*/
1069 //
1070 //
1071 // CONSTRUCTORS:
1072 //
1074 {
1075  prefix_[0] = prefix_[1] = prefix_[2] = prefix_[3] = '?';
1076  prefix_[4] = 0;
1077  for (int i=0; i<16; i++)
1078  rfFreqs_[i] = phCalFreqs_[i] = 0.0;
1079 };
1080 
1081 
1082 
1083 //
1084 // FUNCTIONS:
1085 //
1086 //
1087 
1088 //
1089 // FRIENDS:
1090 //
1091 //
1092 //
1093 /*=====================================================================================================*/
1094 
1095 
1096 
1097 
1098 
1099 
1100 /*=====================================================================================================*/
1101 /* */
1102 /* SgKombBd01Record inline members: */
1103 /* */
1104 /*=====================================================================================================*/
1105 //
1106 //
1107 // CONSTRUCTORS:
1108 //
1110  tProcByKomb_(tZero),
1111  tCorrStart_(tZero),
1112  tCorrFinis_(tZero)
1113 {
1114  prefix_[0] = prefix_[1] = prefix_[2] = prefix_[3] = '?';
1115  bwsMode_[0] = bwsMode_[1] = bwsMode_[2] = bwsMode_[3] = '?';
1116  bandId_[0] = bandId_[1] = '?';
1118  tapeQualityCode_[4] = tapeQualityCode_[5] = '?';
1119  prefix_[4] = bwsMode_[4] = bandId_[2] = tapeQualityCode_[6] = 0;
1121  kombProcsdNumber_ = 0;
1123  epochCorrStart_[4] = epochCorrStart_[5] = 0;
1125  epochCorrFinis_[4] = epochCorrFinis_[5] = 0;
1127  procRefFreq_ = 0;
1128  for (int i=0; i<16; i++)
1129  {
1130  rfFreqs_[i] = 0.0;
1131  for (int j=0; j<2; j++)
1132  idxNumTable_[i][j] = 0;
1133  };
1134 };
1135 
1136 
1137 
1138 //
1139 // FUNCTIONS:
1140 //
1141 //
1142 
1143 //
1144 // FRIENDS:
1145 //
1146 //
1147 //
1148 /*=====================================================================================================*/
1149 
1150 
1151 
1152 
1153 
1154 
1155 /*=====================================================================================================*/
1156 /* */
1157 /* SgKombBd02Record inline members: */
1158 /* */
1159 /*=====================================================================================================*/
1160 //
1161 //
1162 // CONSTRUCTORS:
1163 //
1165  tObsCentral_(tZero)
1166 {
1167  prefix_[0] = prefix_[1] = prefix_[2] = prefix_[3] = '?';
1168  bwsMode_[0] = bwsMode_[1] = bwsMode_[2] = bwsMode_[3] = '?';
1169  bandId_[0] = bandId_[1] = '?';
1170  kombQualityCode_[0] = kombQualityCode_[1] = '?';
1171  for (int i=0; i<20; i++)
1172  {
1174  errorStatusMaskCode_[i][2] = errorStatusMaskCode_[i][3] = '?';
1175  errorStatusMaskCode_[i][4] = 0;
1176  };
1177  prefix_[4] = bwsMode_[4] = bandId_[2] = kombQualityCode_[2] = 0;
1180  epochObsCentral_[4] = epochObsCentral_[5] = 0;
1186  deltaEpochs_ = 0.0;
1188  for (int i=0; i<16; i++)
1189  for (int j=0; j<2; j++)
1190  procPpNumTable_[i][j] = 0;
1191 };
1192 
1193 
1194 
1195 //
1196 // FUNCTIONS:
1197 //
1198 //
1199 
1200 //
1201 // FRIENDS:
1202 //
1203 //
1204 //
1205 /*=====================================================================================================*/
1206 
1207 
1208 
1209 
1210 
1211 
1212 /*=====================================================================================================*/
1213 /* */
1214 /* SgKombBd03Record inline members: */
1215 /* */
1216 /*=====================================================================================================*/
1217 //
1218 //
1219 // CONSTRUCTORS:
1220 //
1222 {
1223  prefix_[0] = prefix_[1] = prefix_[2] = prefix_[3] = '?';
1224  bwsMode_[0] = bwsMode_[1] = bwsMode_[2] = bwsMode_[3] = '?';
1225  bandId_[0] = bandId_[1] = '?';
1227  prefix_[4] = bwsMode_[4] = bandId_[2] = 0;
1228  for (int i=0; i<16; i++)
1229  for (int j=0; j<2; j++)
1230  phaseCalAmpPhase1_[i][j] = 0.0;
1231 };
1232 
1233 
1234 
1235 //
1236 // FUNCTIONS:
1237 //
1238 //
1239 
1240 //
1241 // FRIENDS:
1242 //
1243 //
1244 //
1245 /*=====================================================================================================*/
1246 
1247 
1248 
1249 
1250 
1251 
1252 /*=====================================================================================================*/
1253 /* */
1254 /* SgKombBd04Record inline members: */
1255 /* */
1256 /*=====================================================================================================*/
1257 //
1258 //
1259 // CONSTRUCTORS:
1260 //
1262 {
1263  prefix_[0] = prefix_[1] = prefix_[2] = prefix_[3] = '?';
1264  bwsMode_[0] = bwsMode_[1] = bwsMode_[2] = bwsMode_[3] = '?';
1265  bandId_[0] = bandId_[1] = '?';
1266  prefix_[4] = bwsMode_[4] = bandId_[2] = 0;
1267  for (int i=0; i<16; i++)
1268  for (int j=0; j<2; j++)
1269  phaseCalAmpPhase2_[i][j] = 0.0;
1270 };
1271 
1272 
1273 
1274 //
1275 // FUNCTIONS:
1276 //
1277 //
1278 
1279 //
1280 // FRIENDS:
1281 //
1282 //
1283 //
1284 /*=====================================================================================================*/
1285 
1286 
1287 
1288 
1289 
1290 
1291 /*=====================================================================================================*/
1292 /* */
1293 /* SgKombBd05Record inline members: */
1294 /* */
1295 /*=====================================================================================================*/
1296 //
1297 //
1298 // CONSTRUCTORS:
1299 //
1301 {
1302  prefix_[0] = prefix_[1] = prefix_[2] = prefix_[3] = '?';
1303  bwsMode_[0] = bwsMode_[1] = bwsMode_[2] = bwsMode_[3] = '?';
1304  bandId_[0] = bandId_[1] = '?';
1305  prefix_[4] = bwsMode_[4] = bandId_[2] = 0;
1314  for (int i=0; i<16; i++)
1315  for (int j=0; j<2; j++)
1316  fringeAmpPhase_[i][j] = 0;
1317 };
1318 
1319 
1320 
1321 //
1322 // FUNCTIONS:
1323 //
1324 //
1325 
1326 //
1327 // FRIENDS:
1328 //
1329 //
1330 //
1331 /*=====================================================================================================*/
1332 
1333 
1334 
1335 
1336 
1337 
1338 /*=====================================================================================================*/
1339 /* */
1340 /* SgKombReader inline members: */
1341 /* */
1342 /*=====================================================================================================*/
1343 //
1344 //
1345 // CONSTRUCTORS:
1346 //
1348  fileName_(""),
1349  headers_(),
1350  headRecs_(),
1351  ob01_(),
1352  ob02_(),
1353  ob03_(),
1354  bd01ByBand_(),
1355  bd02ByBand_(),
1356  bd03ByBand_(),
1357  bd04ByBand_(),
1358  bd05ByBand_(),
1359  mapOfBands_()
1360 {
1361  isOk_ = false;
1362  isVerbose_ = false;
1363 };
1364 
1365 
1366 
1367 //
1369 {
1370  clearData();
1371 };
1372 
1373 
1374 
1375 //
1376 // FUNCTIONS:
1377 //
1378 //
1379 
1380 //
1381 // FRIENDS:
1382 //
1383 //
1384 //
1385 /*=====================================================================================================*/
1386 
1387 
1388 
1389 
1390 
1391 /*=====================================================================================================*/
1392 //
1393 // aux functions:
1394 //
1395 
1396 
1397 /*=====================================================================================================*/
1398 #endif //SG_KOMB_FORMAT_H
const Sg3dVector v3Zero(0.0, 0.0, 0.0)
const SgMJD tZero(1957, 10, 4)
short epochProcKomb_[4]
Definition: SgKombFormat.h:445
friend SgKombStream & operator>>(SgKombStream &, SgKombBd01Record &)
const char * tapeQualityCode() const
Definition: SgKombFormat.h:420
char tapeQualityCode_[7]
Definition: SgKombFormat.h:451
double rfFreqs(int i) const
Definition: SgKombFormat.h:422
const char * bwsMode() const
Definition: SgKombFormat.h:412
short epochCorrFinis_[6]
Definition: SgKombFormat.h:448
short totalNumOfProcChannels_
Definition: SgKombFormat.h:449
short totalNumOfProcChannels() const
Definition: SgKombFormat.h:418
short idxNumTable(int i, int j) const
Definition: SgKombFormat.h:419
short epochProcKomb(int i) const
Definition: SgKombFormat.h:414
const SgMJD & tCorrStart() const
Definition: SgKombFormat.h:424
const SgMJD & tProcByKomb() const
Definition: SgKombFormat.h:423
short epochCorrFinis(int i) const
Definition: SgKombFormat.h:417
double rfFreqs_[16]
Definition: SgKombFormat.h:453
const SgMJD & tCorrFinis() const
Definition: SgKombFormat.h:425
short epochCorrStart(int i) const
Definition: SgKombFormat.h:416
const char * bandId() const
Definition: SgKombFormat.h:413
const char * prefix() const
Definition: SgKombFormat.h:411
double procRefFreq() const
Definition: SgKombFormat.h:421
short epochCorrStart_[6]
Definition: SgKombFormat.h:447
short idxNumTable_[16][2]
Definition: SgKombFormat.h:450
static const QString className()
short kombProcsdNumber() const
Definition: SgKombFormat.h:415
const char * bwsMode() const
Definition: SgKombFormat.h:487
const char * kombQualityCode() const
Definition: SgKombFormat.h:489
double obsDelayAtCentrlEpoch_
Definition: SgKombFormat.h:536
float obsTotalPhaseAtReferEpoch_
Definition: SgKombFormat.h:543
double obsDelayRateAtCentrlEpoch() const
Definition: SgKombFormat.h:499
const char * bandId() const
Definition: SgKombFormat.h:488
char kombQualityCode_[3]
Definition: SgKombFormat.h:529
float obsTotalPhaseAtEarthCenterEpoch_
Definition: SgKombFormat.h:544
float obsTotalPhaseAtReferEpoch() const
Definition: SgKombFormat.h:505
float effectiveIntegrationPeriod_
Definition: SgKombFormat.h:533
float searchWndFineDelayRate_[2]
Definition: SgKombFormat.h:541
float obsTotalPhaseAtEarthCenterEpoch() const
Definition: SgKombFormat.h:506
short procPpNumTable(int i, int j) const
Definition: SgKombFormat.h:492
short epochObsCentral(int i) const
Definition: SgKombFormat.h:497
float searchWndCoarseDelay(int i) const
Definition: SgKombFormat.h:501
double obsDelayAtCentrlEpoch() const
Definition: SgKombFormat.h:498
float obsResidPhaseAtEarthCenterEpoch() const
Definition: SgKombFormat.h:507
char errorStatusMaskCode_[20][5]
Definition: SgKombFormat.h:530
float obsResidPhaseAtEarthCenterEpoch_
Definition: SgKombFormat.h:545
float searchWndFineDelay(int i) const
Definition: SgKombFormat.h:502
float searchWndFineDelayRate(int i) const
Definition: SgKombFormat.h:503
float searchWndCoarseDelay_[2]
Definition: SgKombFormat.h:539
float obsTotalPhaseAtCentrlEpoch() const
Definition: SgKombFormat.h:500
friend SgKombStream & operator>>(SgKombStream &, SgKombBd02Record &)
short procPpNumTable_[16][2]
Definition: SgKombFormat.h:531
double deltaEpochs() const
Definition: SgKombFormat.h:504
static const QString className()
float obsTotalPhaseAtCentrlEpoch_
Definition: SgKombFormat.h:538
short epochObsCentral_[6]
Definition: SgKombFormat.h:535
double obsDelayRateAtCentrlEpoch_
Definition: SgKombFormat.h:537
float effectiveIntegrationPeriod() const
Definition: SgKombFormat.h:495
const char * errorStatusMaskCode(int i) const
Definition: SgKombFormat.h:490
float rmsPpNumByChan() const
Definition: SgKombFormat.h:494
const char * prefix() const
Definition: SgKombFormat.h:486
float searchWndFineDelay_[2]
Definition: SgKombFormat.h:540
const SgMJD & tObsCentral() const
Definition: SgKombFormat.h:508
float rejectionRate() const
Definition: SgKombFormat.h:496
static const QString className()
float phaseCalAmpPhase1_[16][2]
Definition: SgKombFormat.h:605
float phaseCalAmpPhase1(int i, int j) const
Definition: SgKombFormat.h:581
const char * bwsMode() const
Definition: SgKombFormat.h:577
double phaseCalRate2() const
Definition: SgKombFormat.h:580
friend SgKombStream & operator>>(SgKombStream &, SgKombBd03Record &)
const char * bandId() const
Definition: SgKombFormat.h:578
double phaseCalRate1() const
Definition: SgKombFormat.h:579
const char * prefix() const
Definition: SgKombFormat.h:576
friend SgKombStream & operator>>(SgKombStream &, SgKombBd04Record &)
const char * bwsMode() const
Definition: SgKombFormat.h:636
const char * bandId() const
Definition: SgKombFormat.h:637
static const QString className()
float phaseCalAmpPhase2(int i, int j) const
Definition: SgKombFormat.h:638
const char * prefix() const
Definition: SgKombFormat.h:635
float phaseCalAmpPhase2_[16][2]
Definition: SgKombFormat.h:660
double obsCoarseDelayAtReferEpoch_
Definition: SgKombFormat.h:746
double obsDelayAtReferEpoch_
Definition: SgKombFormat.h:739
double phaseDelayAtReferEpochMinus_1sec_
Definition: SgKombFormat.h:752
float obsDelaySigma() const
Definition: SgKombFormat.h:700
double obsCoarseDelayResid() const
Definition: SgKombFormat.h:706
float fringeAmpPhase(int i, int j) const
Definition: SgKombFormat.h:712
double obsCoarseDelayRateResid() const
Definition: SgKombFormat.h:708
double obsDelayResid() const
Definition: SgKombFormat.h:699
const char * prefix() const
Definition: SgKombFormat.h:690
float obsDelayRateSigma_
Definition: SgKombFormat.h:745
double phaseDelayAtReferEpoch() const
Definition: SgKombFormat.h:709
double phaseDelayAtReferEpochPlus_1sec() const
Definition: SgKombFormat.h:710
float coarseSearchFringeAmplitude_
Definition: SgKombFormat.h:735
float fineSearchFringeAmplitude_
Definition: SgKombFormat.h:734
friend SgKombStream & operator>>(SgKombStream &, SgKombBd05Record &)
float obsCoarseDelaySigma_
Definition: SgKombFormat.h:748
double phaseDelayAtReferEpochMinus_1sec() const
Definition: SgKombFormat.h:711
float incohFringeAmplitude_
Definition: SgKombFormat.h:737
double obsDelayRateResid() const
Definition: SgKombFormat.h:703
float obsDelayAmbiguity() const
Definition: SgKombFormat.h:701
float obsDelayAmbiguity_
Definition: SgKombFormat.h:742
double phaseDelayAtReferEpochPlus_1sec_
Definition: SgKombFormat.h:751
float falseDetectionProbability() const
Definition: SgKombFormat.h:697
double obsDelayRateAtReferEpoch_
Definition: SgKombFormat.h:743
double obsDelayRateAtReferEpoch() const
Definition: SgKombFormat.h:702
static const QString className()
double obsCoarseDelayResid_
Definition: SgKombFormat.h:747
float falseDetectionProbability_
Definition: SgKombFormat.h:738
float snr() const
Definition: SgKombFormat.h:695
float fineSearchFringeAmplitude() const
Definition: SgKombFormat.h:693
double obsCoarseDelayAtReferEpoch() const
Definition: SgKombFormat.h:705
double obsDelayRateResid_
Definition: SgKombFormat.h:744
float obsCoarseDelaySigma() const
Definition: SgKombFormat.h:707
float incohFringeAmplitude() const
Definition: SgKombFormat.h:696
float coarseSearchFringeAmplitude() const
Definition: SgKombFormat.h:694
float fringeAmpPhase_[16][2]
Definition: SgKombFormat.h:753
double obsCoarseDelayRateResid_
Definition: SgKombFormat.h:749
double phaseDelayAtReferEpoch_
Definition: SgKombFormat.h:750
const char * bandId() const
Definition: SgKombFormat.h:692
const char * bwsMode() const
Definition: SgKombFormat.h:691
float obsDelayRateSigma() const
Definition: SgKombFormat.h:704
double obsDelayAtReferEpoch() const
Definition: SgKombFormat.h:698
friend SgKombStream & operator>>(SgKombStream &, SgKombHeaderRecord &)
const char * prefix() const
Definition: SgKombFormat.h:92
static const QString className()
int idx() const
Definition: SgKombFormat.h:91
const char * bandId() const
Definition: SgKombFormat.h:93
QList< SgKombHeaderRecord * > entries_
Definition: SgKombFormat.h:177
char prefixIdx_[3]
Definition: SgKombFormat.h:170
short obsIdx() const
Definition: SgKombFormat.h:146
short totalNumberOfRecs_
Definition: SgKombFormat.h:174
char prefix_[3]
Definition: SgKombFormat.h:169
char experimentCode_[11]
Definition: SgKombFormat.h:171
void debugReport()
const char * experimentCode() const
Definition: SgKombFormat.h:145
const char * baselineId() const
Definition: SgKombFormat.h:147
static const QString className()
const char * prefixIdx() const
Definition: SgKombFormat.h:144
short totalNumberOfHeaderRecs() const
Definition: SgKombFormat.h:149
const char * prefix() const
Definition: SgKombFormat.h:143
const QList< SgKombHeaderRecord * > & entries() const
Definition: SgKombFormat.h:151
char baselineId_[3]
Definition: SgKombFormat.h:173
short idx() const
Definition: SgKombFormat.h:142
char kombFileName_[7]
Definition: SgKombFormat.h:176
short totalNumberOfRecs() const
Definition: SgKombFormat.h:148
short totalNumberOfHeaderRecs_
Definition: SgKombFormat.h:175
const char * kombFileName() const
Definition: SgKombFormat.h:150
friend SgKombStream & operator>>(SgKombStream &, SgKombHeader &)
char correlatorMode_[3]
Definition: SgKombFormat.h:263
char correlatorFileName_[7]
Definition: SgKombFormat.h:256
char experimentCode_[11]
Definition: SgKombFormat.h:250
const SgMJD & tStart() const
Definition: SgKombFormat.h:229
short periodPp() const
Definition: SgKombFormat.h:216
const char * correlatorMode() const
Definition: SgKombFormat.h:220
double instrumentalDelay_
Definition: SgKombFormat.h:271
float videoBandWidth() const
Definition: SgKombFormat.h:219
char station1Name_[9]
Definition: SgKombFormat.h:265
short epochObsRef_[5]
Definition: SgKombFormat.h:255
double clockRateDiff() const
Definition: SgKombFormat.h:227
short epochObsRef(int i) const
Definition: SgKombFormat.h:212
const char * station1Name() const
Definition: SgKombFormat.h:222
short epochObsStop(int i) const
Definition: SgKombFormat.h:211
const SgMJD & tRefer() const
Definition: SgKombFormat.h:231
short obsIdx() const
Definition: SgKombFormat.h:208
double instrumentalDelay() const
Definition: SgKombFormat.h:228
double aPrioriObses(int i) const
Definition: SgKombFormat.h:224
const char * experimentCode() const
Definition: SgKombFormat.h:207
double aPrioriClockError() const
Definition: SgKombFormat.h:225
double aPrioriClockError_
Definition: SgKombFormat.h:268
const SgMJD & tProcByCorr() const
Definition: SgKombFormat.h:232
short epochObsStop_[5]
Definition: SgKombFormat.h:254
float samplingPeriod() const
Definition: SgKombFormat.h:218
short epochProcCorr(int i) const
Definition: SgKombFormat.h:215
double aPrioriRefClockOffset() const
Definition: SgKombFormat.h:226
const char * station2Name() const
Definition: SgKombFormat.h:223
short epochProcCorr_[4]
Definition: SgKombFormat.h:258
const SgMJD & tFinis() const
Definition: SgKombFormat.h:230
const char * sourceName() const
Definition: SgKombFormat.h:221
char kombFileName_[7]
Definition: SgKombFormat.h:257
double aPrioriObses_[4]
Definition: SgKombFormat.h:267
friend SgKombStream & operator>>(SgKombStream &, SgKombOb01Record &)
short epochObsStart(int i) const
Definition: SgKombFormat.h:210
char station2Name_[9]
Definition: SgKombFormat.h:266
Sg3dVector r1_
Definition: SgKombFormat.h:278
const char * kombFileName() const
Definition: SgKombFormat.h:214
short epochObsStart_[5]
Definition: SgKombFormat.h:253
static const QString className()
Sg3dVector r2_
Definition: SgKombFormat.h:279
const char * baselineId() const
Definition: SgKombFormat.h:209
double aPrioriClockOffset_
Definition: SgKombFormat.h:269
const char * correlatorFileName() const
Definition: SgKombFormat.h:213
const char * prefix() const
Definition: SgKombFormat.h:206
short numOfPp() const
Definition: SgKombFormat.h:217
friend SgKombStream & operator>>(SgKombStream &, SgKombOb02Record &)
const char * prefix() const
Definition: SgKombFormat.h:309
short idxNumTable_[16][2]
Definition: SgKombFormat.h:330
static const QString className()
short numOfChannels() const
Definition: SgKombFormat.h:310
short idxNumTable(int i, int j) const
Definition: SgKombFormat.h:311
float phCalFreqs(int i) const
Definition: SgKombFormat.h:362
double rfFreqs_[16]
Definition: SgKombFormat.h:380
const char * prefix() const
Definition: SgKombFormat.h:360
static const QString className()
float phCalFreqs_[16]
Definition: SgKombFormat.h:381
friend SgKombStream & operator>>(SgKombStream &, SgKombOb03Record &)
double rfFreqs(int i) const
Definition: SgKombFormat.h:361
SgKombOb01Record ob01_
Definition: SgKombFormat.h:828
const QMap< QString, SgKombBd02Record * > & bd02ByBand() const
Definition: SgKombFormat.h:789
QMap< QString, SgKombBd04Record * > bd04ByBand_
Definition: SgKombFormat.h:838
QMap< QString, SgKombBd05Record * > bd05ByBand_
Definition: SgKombFormat.h:840
static const QString className()
const SgKombOb03Record & ob03() const
Definition: SgKombFormat.h:786
const QMap< QString, SgKombBd05Record * > & bd05ByBand() const
Definition: SgKombFormat.h:792
SgKombOb03Record ob03_
Definition: SgKombFormat.h:830
const SgKombOb02Record & ob02() const
Definition: SgKombFormat.h:785
const SgKombBd03Record * bd03(const QString &bandKey) const
Definition: SgKombFormat.h:799
bool isOk() const
Definition: SgKombFormat.h:805
QMap< QString, SgKombBd02Record * > bd02ByBand_
Definition: SgKombFormat.h:834
const SgKombBd04Record * bd04(const QString &bandKey) const
Definition: SgKombFormat.h:801
const SgKombBd05Record * bd05(const QString &bandKey) const
Definition: SgKombFormat.h:803
QMap< QString, SgKombBd03Record * > bd03ByBand_
Definition: SgKombFormat.h:836
const QMap< QString, SgKombBd03Record * > & bd03ByBand() const
Definition: SgKombFormat.h:790
const SgKombBd01Record * bd01(const QString &bandKey) const
Definition: SgKombFormat.h:795
const SgKombBd02Record * bd02(const QString &bandKey) const
Definition: SgKombFormat.h:797
bool getIsVerbose() const
Definition: SgKombFormat.h:782
const QMap< QString, SgKombBd01Record * > & bd01ByBand() const
Definition: SgKombFormat.h:788
void setIsVerbose(bool is)
Definition: SgKombFormat.h:806
QMap< QString, QString > mapOfBands_
Definition: SgKombFormat.h:841
const SgKombOb01Record & ob01() const
Definition: SgKombFormat.h:784
QString fileName_
Definition: SgKombFormat.h:825
void readFile(const QString &fileName)
void debugReport()
QList< SgKombHeaderRecord * > headRecs_
Definition: SgKombFormat.h:827
SgKombOb02Record ob02_
Definition: SgKombFormat.h:829
const char * experimentCode() const
Definition: SgKombFormat.h:810
const QMap< QString, SgKombBd04Record * > & bd04ByBand() const
Definition: SgKombFormat.h:791
QList< SgKombHeader * > headers_
Definition: SgKombFormat.h:826
QMap< QString, SgKombBd01Record * > bd01ByBand_
Definition: SgKombFormat.h:832
const QMap< QString, QString > & mapOfBands() const
Definition: SgKombFormat.h:793
Definition: SgMJD.h:59