General Purpose Geodetic Library
SgVex.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) 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_VEX_H
24 #define SG_VEX_H
25 
26 
27 #ifdef HAVE_CONFIG_H
28 # include <config.h>
29 #endif
30 
31 
32 
33 #include <QtCore/QList>
34 #include <QtCore/QMap>
35 #include <QtCore/QMultiMap>
36 #include <QtCore/QString>
37 #include <QtCore/QTextStream>
38 #include <QtCore/QVector>
39 
40 
41 
42 #include <SgLogger.h>
43 #include <SgMJD.h>
44 
45 
47 {
48  CSB_UNDEF = 0,
49  CSB_LSB = 1,
50  CSB_USB = 2,
51  CSB_DUAL = 3,
52 };
53 
54 
55 
57 {
58  CP_UNDEF = 0,
60  CP_LeftCP = 2,
63 };
64 
67 
68 
69 
70 /*=====================================================================================================*/
72 {
73 public:
74  SgVexParameter() : key_(""), values_() {};
75  SgVexParameter(const QString& key, const QList<QString>& values) : key_(key), values_(values) {};
76  SgVexParameter(const SgVexParameter& par) : key_(par.key_), values_(par.values_) {};
77  ~SgVexParameter() {values_.clear();};
78 
79 
80  inline const QString& getKey() const {return key_;};
81  inline const QList<QString>& getValues() const {return values_;};
82 
85  static const QString className();
86 
87  bool parseVexStatement(const QString& str);
88 
89 protected:
90  QString key_;
92 };
93 /*=====================================================================================================*/
94 
95 
96 
97 
98 /*=====================================================================================================*/
100 {
101 public:
103  SgVexRefSatement(const QString& key, const QString& value, const QList<QString>& qualifiers)
104  : key_(key), value_(value), qualifiers_(qualifiers) {};
106  : key_(ref.key_), value_(ref.value_), qualifiers_(ref.qualifiers_),
109 
110  inline const QString& getKey() const {return key_;};
111  inline const QString& getValue() const {return value_;};
112  inline const QList<QString>& getQualifiers() const {return qualifiers_;};
113  inline const QMap<QString, QString>& getQualifierByQ() const {return qualifierByQ_;};
114 
117  static const QString className();
118 
119  bool parseVexStatement(const QString& str);
120 
121 protected:
122  QString key_;
123  QString value_;
125  QMap<QString, QString> qualifierByQ_;
126 };
127 /*=====================================================================================================*/
128 
129 
130 
131 
132 /*=====================================================================================================*/
134 {
135 public:
137  SgVexLiteralBlock(const QString& key, const QList<QString>& literalStrings)
138  : key_(key), literalStrings_(literalStrings) {};
140  : key_(lit.key_), literalStrings_(lit.literalStrings_) {};
142 
143 
144  inline const QString& getKey() const {return key_;};
145  inline const QList<QString>& getLiteralStrings() const {return literalStrings_;};
146 
149  static const QString className();
150 
151  bool parseVex(const QList<QString>& statements, int& idx);
152 
153 protected:
154  QString key_;
156 };
157 /*=====================================================================================================*/
158 
159 
160 
161 
162 /*=====================================================================================================*/
164 {
165 public:
166  SgVexDefBlock() : key_("") {};
167 
168  SgVexDefBlock(const SgVexDefBlock& df);
169 
170  ~SgVexDefBlock();
171 
172  inline const QString& getKey() const {return key_;};
174  inline const QList<SgVexParameter*>& getParameters() const {return parameters_;};
175  inline const QList<SgVexLiteralBlock*>& getLiteralas() const {return literalas_;};
176  inline const QMap<QString, SgVexRefSatement*>& refsByKey() const {return refsByKey_;};
177  inline const QMap<QString, SgVexParameter*>& parsByKey() const {return parsByKey_;};
178 
179 
182  static const QString className();
183 
184  bool parseVex(const QList<QString>& statements, int& idx);
185 
186 protected:
187  QString key_;
191  QMap<QString, SgVexRefSatement*>
193  QMap<QString, SgVexParameter*>parsByKey_;
194 };
195 /*=====================================================================================================*/
196 
197 
198 
199 
200 
201 /*=====================================================================================================*/
203 {
204 public:
205  SgVexScanBlock() : key_("") {};
208  {for (int i=0; i<parameters_.size(); i++) delete parameters_.at(i); parameters_.clear();};
209 
210  inline const QString& getKey() const {return key_;};
211  inline const QList<SgVexParameter*>& getParameters() const {return parameters_;};
212 
215  static const QString className();
216 
217  bool parseVex(const QList<QString>& statements, int& idx);
218 
219 protected:
220  QString key_;
222 };
223 /*=====================================================================================================*/
224 
225 
226 
227 
228 
229 /*=====================================================================================================*/
231 {
232 public:
234  SgVexSection(const QString& key) : key_(key), statements_(), refStatements_(),
235  defBlocks_(), scanBlocks_() {};
236 
239  {};
240 
241  ~SgVexSection();
242 
243 
244  inline const QString& getKey() const {return key_;};
245  inline const QList<QString>& getStatements() const {return statements_;};
247  inline const QList<SgVexDefBlock*>& getDefBlocks() const {return defBlocks_;};
248  inline const QList<SgVexScanBlock*>& getScanBlocks() const {return scanBlocks_;};
249 
250 
251  inline const QMap<QString, SgVexRefSatement*>& getRefByKey() const {return refByKey_;};
252  inline const QMap<QString, SgVexDefBlock*>& getDefByKey() const {return defByKey_;};
253  inline const QMap<QString, SgVexScanBlock*>& getScanByKey() const {return scanByKey_;};
254 
257  static const QString className();
258 
259  bool parseVex(const QList<QString>& statements, int& idx);
260 
261 protected:
262  QString key_;
267 
268  QMap<QString, SgVexRefSatement*>
270  QMap<QString, SgVexDefBlock*> defByKey_;
271  QMap<QString, SgVexScanBlock*>scanByKey_;
272 
273 };
274 /*=====================================================================================================*/
275 
276 
277 
278 
279 
280 
281 
282 
283 
284 
285 
286 /*=====================================================================================================*/
288 {
289 public:
290 
291  class IfSetup
292  {
293  public:
294  inline IfSetup() : ifId_(""), ifName_(""), totalLo_(0.0), polarization_(CP_UNDEF),
296  inline IfSetup(const QString& ifId, const QString& ifName, double totalLo,
297  SgChannelPolarization polarization, SgChannelSideBand netSideBand) :
298  ifId_(ifId), ifName_(ifName), totalLo_(totalLo), polarization_(polarization),
299  netSideBand_(netSideBand) {};
300  inline IfSetup(const IfSetup& is) : ifId_(is.ifId_), ifName_(is.ifName_), totalLo_(is.totalLo_),
302  inline ~IfSetup() {};
303 
304  inline const QString& getIfId() const {return ifId_;};
305  inline const QString& getIfName() const {return ifName_;};
306  inline double getTotalLo() const {return totalLo_;};
309 
310  inline void setIfId(const QString& s) {ifId_ = s;};
311  inline void setIfName(const QString& s) {ifName_ = s;};
312  inline void setTotalLo(double d) {totalLo_ = d;};
315  protected:
316  QString ifId_;
317  QString ifName_;
318  double totalLo_;
321  };
322  //
323  class BbcSetup
324  {
325  public:
326  inline BbcSetup() : bbcId_(""), ifId_(""), physNumber_(0)
327  {};
328  inline BbcSetup(const QString& bbcId, const QString& ifId, int num) :
329  bbcId_(bbcId), ifId_(ifId), physNumber_(num) {};
330  inline BbcSetup(const BbcSetup& bbcs) : bbcId_(bbcs.bbcId_), ifId_(bbcs.ifId_),
331  physNumber_(bbcs.physNumber_) {};
332  inline ~BbcSetup() {};
333  //
334  inline const QString& getBbcId() const {return bbcId_;};
335  inline const QString& getIfId() const {return ifId_;};
336  inline int getPhysNumber() const {return physNumber_;};
337  //
338  inline void setBbcId(const QString& s) {bbcId_ = s;};
339  inline void setIfId(const QString& s) {ifId_ = s;};
340  inline void setPhysNumber(int n) {physNumber_ = n;};
341  protected:
342  QString bbcId_;
343  QString ifId_;
345  };
346  //
347  class FreqSetup
348  {
349  public:
350  inline FreqSetup() :
351  bandId_(""), skyFreq_(0.0), netSideBand_(CSB_UNDEF), bandwidth_(0), chanId_(""), bbcId_(""),
352  phaseCalId_("") {};
353  inline FreqSetup(QString bandId, double skyFreq, SgChannelSideBand netSideBand, double bandwidth,
354  QString chanId, QString bbcId, QString phaseCalId) :
355  bandId_(bandId), skyFreq_(skyFreq), netSideBand_(netSideBand), bandwidth_(bandwidth),
356  chanId_(chanId), bbcId_(bbcId), phaseCalId_(phaseCalId) {};
357  inline FreqSetup(const FreqSetup& freqs) :
358  bandId_(freqs.bandId_), skyFreq_(freqs.skyFreq_), netSideBand_(freqs.netSideBand_),
359  bandwidth_(freqs.bandwidth_), chanId_(freqs.chanId_), bbcId_(freqs.bbcId_),
360  phaseCalId_(freqs.phaseCalId_) {};
361  inline ~FreqSetup() {};
362  //
363  inline const QString& getBandId() const {return bandId_;};
364  inline double getSkyFreq() const {return skyFreq_;};
366  inline double getBandwidth() const {return bandwidth_;};
367  inline const QString& getChanId() const {return chanId_;};
368  inline const QString& getBbcId() const {return bbcId_;};
369  inline const QString& getPhaseCalId() const {return phaseCalId_;};
370  //
371  inline void setBandId(const QString& s) {bandId_ = s;};
372  inline void setSkyFreq(double f) {skyFreq_ = f;};
374  inline void setBandwidth(double w) {bandwidth_ = w;};
375  inline void setChanId(const QString& s) {chanId_ = s;};
376  inline void setBbcId(const QString& s) {bbcId_ = s;};
377  inline void setPhaseCalId(const QString& s) {phaseCalId_ = s;};
378  protected:
379  QString bandId_;
380  double skyFreq_;
382  double bandwidth_;
383  QString chanId_;
384  QString bbcId_;
385  QString phaseCalId_;
386  };
387 
388 
390  {
391  public:
392  inline StationSetup() : ifs_(), bbcs_(), freqs_()
393  {};
394  inline StationSetup(const StationSetup& ss) : ifs_(ss.ifs_), bbcs_(ss.bbcs_), freqs_(ss.freqs_)
395  {};
396  inline ~StationSetup() {ifs_.clear(); bbcs_.clear(); freqs_.clear();};
397  //
398  inline const QList<IfSetup*>& getIfs() const {return ifs_;};
399  inline const QList<BbcSetup*>& getBbcs() const {return bbcs_;};
400  inline const QList<FreqSetup*>& getFreqs() const {return freqs_;};
401  //
402  inline QList<IfSetup*>& ifs() {return ifs_;};
403  inline QList<BbcSetup*>& bbcs() {return bbcs_;};
404  inline QList<FreqSetup*>& freqs() {return freqs_;};
405  protected:
409  };
410 
411 
412 
413  SgVexFile();
414  SgVexFile(const QString& inputFileName);
415  ~SgVexFile();
416 
417 
418  //
419  // Interfaces:
420  //
421  // gets:
422  inline const QString& getInputFileName() const {return inputFileName_;};
423  inline const QString& getExperName() const {return experName_;};
424  inline const QString& getExperDescription() const {return experDescription_;};
425 
428  inline const SgMJD& getExperNominalStart() const {return experNominalStart_;};
429 
432  inline const SgMJD& getExperNominalStop() const {return experNominalStop_;};
433 
434  inline const QString& getPiName() const {return piName_;};
435  inline const QString& getPiEmail() const {return piEmail_;};
436  inline const QString& getContactName() const {return contactName_;};
437  inline const QString& getcontactEmail() const {return contactEmail_;};
438  inline const QString& getSchedulerName() const {return schedulerName_;};
439  inline const QString& getSchedulerEmail() const {return schedulerEmail_;};
440  inline const QString& getTargetCorrelator() const {return targetCorrelator_;};
441 
442 
443 
444 
445 
446 
447  // sets:
448 
449  inline void setInputFileName(const QString& name) {inputFileName_ = name;};
450  inline void setExperName(const QString& name) {experName_ = name;};
451  inline void setExperDescription(const QString& desc) {experDescription_ = desc;};
452 
455  inline void setExperNominalStart(const SgMJD& t) {experNominalStart_ = t;};
456 
459  inline void setExperNominalStop(const SgMJD& t) {experNominalStop_ = t;};
460 
461  inline void setPiName(const QString& s) {piName_ = s;};
462  inline void setPiEmail(const QString& s) {piEmail_ = s;};
463  inline void setContactName(const QString& s) {contactName_ = s;};
464  inline void setContactEmail(const QString& s) {contactEmail_ = s;};
465  inline void setSchedulerName(const QString& s) {schedulerName_ = s;};
466  inline void setSchedulerEmail(const QString& s) {schedulerEmail_ = s;};
467  inline void setTargetCorrelator(const QString& s) {targetCorrelator_ = s;};
468 
469 
470  inline const QList<SgVexSection*>& getSections() const {return sections_;};
471 
472  //
473  // Functions:
474  //
477  static const QString className();
478 
479  bool parseVexFile(const QString& fileName);
480 
481 
482 protected:
483  QString inputFileName_;
484 
485  // global block:
486  QString exper_;
487 
488  // exper block:
489  QString experName_;
493  QString piName_;
494  QString piEmail_;
495  QString contactName_;
496  QString contactEmail_;
497  QString schedulerName_;
500 
501 
503 
505  QMap<QString, SgVexSection*> sectionByName_;
506 
507  QMap<QString, StationSetup*> stnSetupById_;
508 
509 
510  bool parseSection(int& idx);
511  bool analyzeVex();
512 
513 
514  const SgVexDefBlock* lookupDef(const QString& sectName, const QString& refName);
515  const SgVexRefSatement* lookupRef(const QString& sectName, const QString& refName);
516  const SgVexRefSatement* lookupRef(const SgVexDefBlock* defBlock, const QString& refCode);
517  const SgVexRefSatement* lookupRef(const SgVexDefBlock* defBlock, const QString& refCode,
518  const QString& qualifier);
519 
520 
521  IfSetup* ifSetup(const SgVexParameter* par);
522  BbcSetup* bbcSetup(const SgVexParameter* par);
523  FreqSetup* freqSetup(const SgVexParameter* par);
524 
525  double str2frq(const QString&) const;
526 
527 };
528 /*=====================================================================================================*/
529 
530 
531 
532 
533 
534 
535 
536 
537 
538 /*=====================================================================================================*/
539 #endif // SG_VEX_H
SgChannelPolarization
Definition: SgVex.h:57
@ CP_UNDEF
Definition: SgVex.h:58
@ CP_VerticalLP
Definition: SgVex.h:62
@ CP_RightCP
Definition: SgVex.h:59
@ CP_HorizontalLP
Definition: SgVex.h:61
@ CP_LeftCP
Definition: SgVex.h:60
QString sideBand2Str(SgChannelSideBand)
Definition: SgVex.cpp:1113
SgChannelSideBand
Definition: SgVex.h:47
@ CSB_DUAL
Definition: SgVex.h:51
@ CSB_USB
Definition: SgVex.h:50
@ CSB_LSB
Definition: SgVex.h:49
@ CSB_UNDEF
Definition: SgVex.h:48
QString polarization2Str(SgChannelPolarization)
Definition: SgVex.cpp:1127
Definition: SgMJD.h:59
const QList< SgVexLiteralBlock * > & getLiteralas() const
Definition: SgVex.h:175
QList< SgVexLiteralBlock * > literalas_
Definition: SgVex.h:190
const QList< SgVexRefSatement * > & getRefStatements() const
Definition: SgVex.h:173
QMap< QString, SgVexRefSatement * > refsByKey_
Definition: SgVex.h:192
static const QString className()
Definition: SgVex.cpp:174
QString key_
Definition: SgVex.h:187
SgVexDefBlock()
Definition: SgVex.h:166
const QList< SgVexParameter * > & getParameters() const
Definition: SgVex.h:174
QList< SgVexParameter * > parameters_
Definition: SgVex.h:189
QList< SgVexRefSatement * > refStatements_
Definition: SgVex.h:188
QMap< QString, SgVexParameter * > parsByKey_
Definition: SgVex.h:193
const QString & getKey() const
Definition: SgVex.h:172
bool parseVex(const QList< QString > &statements, int &idx)
Definition: SgVex.cpp:221
const QMap< QString, SgVexRefSatement * > & refsByKey() const
Definition: SgVex.h:176
~SgVexDefBlock()
Definition: SgVex.cpp:203
const QMap< QString, SgVexParameter * > & parsByKey() const
Definition: SgVex.h:177
const QString & getBbcId() const
Definition: SgVex.h:334
int getPhysNumber() const
Definition: SgVex.h:336
BbcSetup(const QString &bbcId, const QString &ifId, int num)
Definition: SgVex.h:328
QString bbcId_
Definition: SgVex.h:340
BbcSetup(const BbcSetup &bbcs)
Definition: SgVex.h:330
void setBbcId(const QString &s)
Definition: SgVex.h:338
const QString & getIfId() const
Definition: SgVex.h:335
void setIfId(const QString &s)
Definition: SgVex.h:339
QString ifId_
Definition: SgVex.h:343
void setPhysNumber(int n)
Definition: SgVex.h:340
const QString & getBbcId() const
Definition: SgVex.h:368
FreqSetup(QString bandId, double skyFreq, SgChannelSideBand netSideBand, double bandwidth, QString chanId, QString bbcId, QString phaseCalId)
Definition: SgVex.h:353
void setBandwidth(double w)
Definition: SgVex.h:374
QString bandId_
Definition: SgVex.h:377
void setSkyFreq(double f)
Definition: SgVex.h:372
void setBandId(const QString &s)
Definition: SgVex.h:371
void setNetSideBand(SgChannelSideBand sb)
Definition: SgVex.h:373
const QString & getPhaseCalId() const
Definition: SgVex.h:369
void setPhaseCalId(const QString &s)
Definition: SgVex.h:377
SgChannelSideBand getNetSideBand() const
Definition: SgVex.h:365
double bandwidth_
Definition: SgVex.h:382
QString chanId_
Definition: SgVex.h:383
void setChanId(const QString &s)
Definition: SgVex.h:375
FreqSetup(const FreqSetup &freqs)
Definition: SgVex.h:357
const QString & getBandId() const
Definition: SgVex.h:363
void setBbcId(const QString &s)
Definition: SgVex.h:376
double getSkyFreq() const
Definition: SgVex.h:364
QString phaseCalId_
Definition: SgVex.h:385
double getBandwidth() const
Definition: SgVex.h:366
QString bbcId_
Definition: SgVex.h:384
SgChannelSideBand netSideBand_
Definition: SgVex.h:381
const QString & getChanId() const
Definition: SgVex.h:367
const QString & getIfId() const
Definition: SgVex.h:304
void setIfId(const QString &s)
Definition: SgVex.h:310
double getTotalLo() const
Definition: SgVex.h:306
IfSetup(const IfSetup &is)
Definition: SgVex.h:300
SgChannelPolarization polarization_
Definition: SgVex.h:319
SgChannelPolarization getPolarization() const
Definition: SgVex.h:307
void setIfName(const QString &s)
Definition: SgVex.h:311
SgChannelSideBand getNetSideBand() const
Definition: SgVex.h:308
double totalLo_
Definition: SgVex.h:318
void setNetSideBand(SgChannelSideBand sb)
Definition: SgVex.h:314
QString ifName_
Definition: SgVex.h:317
QString ifId_
Definition: SgVex.h:314
const QString & getIfName() const
Definition: SgVex.h:305
void setTotalLo(double d)
Definition: SgVex.h:312
void setPolarization(SgChannelPolarization p)
Definition: SgVex.h:313
IfSetup(const QString &ifId, const QString &ifName, double totalLo, SgChannelPolarization polarization, SgChannelSideBand netSideBand)
Definition: SgVex.h:296
SgChannelSideBand netSideBand_
Definition: SgVex.h:320
QList< IfSetup * > & ifs()
Definition: SgVex.h:402
StationSetup(const StationSetup &ss)
Definition: SgVex.h:394
QList< FreqSetup * > & freqs()
Definition: SgVex.h:404
const QList< FreqSetup * > & getFreqs() const
Definition: SgVex.h:400
const QList< BbcSetup * > & getBbcs() const
Definition: SgVex.h:399
QList< IfSetup * > ifs_
Definition: SgVex.h:404
QList< BbcSetup * > & bbcs()
Definition: SgVex.h:403
QList< FreqSetup * > freqs_
Definition: SgVex.h:408
QList< BbcSetup * > bbcs_
Definition: SgVex.h:407
const QList< IfSetup * > & getIfs() const
Definition: SgVex.h:398
const QString & getcontactEmail() const
Definition: SgVex.h:437
QString contactEmail_
Definition: SgVex.h:496
void setExperDescription(const QString &desc)
Definition: SgVex.h:451
const QString & getSchedulerName() const
Definition: SgVex.h:438
const SgVexDefBlock * lookupDef(const QString &sectName, const QString &refName)
Definition: SgVex.cpp:978
QString experName_
Definition: SgVex.h:489
void setExperNominalStart(const SgMJD &t)
Definition: SgVex.h:455
SgMJD experNominalStop_
Definition: SgVex.h:492
const QString & getPiEmail() const
Definition: SgVex.h:435
QList< SgVexSection * > sections_
Definition: SgVex.h:504
QList< QString > statements_
Definition: SgVex.h:502
QString piEmail_
Definition: SgVex.h:494
void setInputFileName(const QString &name)
Definition: SgVex.h:449
void setExperName(const QString &name)
Definition: SgVex.h:450
~SgVexFile()
Definition: SgVex.cpp:491
const QString & getExperDescription() const
Definition: SgVex.h:424
const SgVexRefSatement * lookupRef(const QString &sectName, const QString &refName)
Definition: SgVex.cpp:995
QString schedulerEmail_
Definition: SgVex.h:498
const QString & getPiName() const
Definition: SgVex.h:434
QString inputFileName_
Definition: SgVex.h:483
IfSetup * ifSetup(const SgVexParameter *par)
Definition: SgVex.cpp:864
QString contactName_
Definition: SgVex.h:495
bool parseVexFile(const QString &fileName)
Definition: SgVex.cpp:502
QMap< QString, StationSetup * > stnSetupById_
Definition: SgVex.h:507
SgVexFile()
Definition: SgVex.cpp:443
QString schedulerName_
Definition: SgVex.h:497
void setContactEmail(const QString &s)
Definition: SgVex.h:464
static const QString className()
Definition: SgVex.cpp:435
const QString & getInputFileName() const
Definition: SgVex.h:422
double str2frq(const QString &) const
Definition: SgVex.cpp:1057
QString piName_
Definition: SgVex.h:493
bool analyzeVex()
Definition: SgVex.cpp:627
QMap< QString, SgVexSection * > sectionByName_
Definition: SgVex.h:505
const SgMJD & getExperNominalStart() const
Definition: SgVex.h:428
void setSchedulerEmail(const QString &s)
Definition: SgVex.h:466
const QString & getContactName() const
Definition: SgVex.h:436
const QList< SgVexSection * > & getSections() const
Definition: SgVex.h:470
const QString & getTargetCorrelator() const
Definition: SgVex.h:440
bool parseSection(int &idx)
Definition: SgVex.cpp:603
SgMJD experNominalStart_
Definition: SgVex.h:491
const SgMJD & getExperNominalStop() const
Definition: SgVex.h:432
void setPiName(const QString &s)
Definition: SgVex.h:461
const QString & getSchedulerEmail() const
Definition: SgVex.h:439
BbcSetup * bbcSetup(const SgVexParameter *par)
Definition: SgVex.cpp:910
void setExperNominalStop(const SgMJD &t)
Definition: SgVex.h:459
QString experDescription_
Definition: SgVex.h:490
const QString & getExperName() const
Definition: SgVex.h:423
void setPiEmail(const QString &s)
Definition: SgVex.h:462
QString exper_
Definition: SgVex.h:486
void setSchedulerName(const QString &s)
Definition: SgVex.h:465
void setTargetCorrelator(const QString &s)
Definition: SgVex.h:467
void setContactName(const QString &s)
Definition: SgVex.h:463
FreqSetup * freqSetup(const SgVexParameter *par)
Definition: SgVex.cpp:937
QString targetCorrelator_
Definition: SgVex.h:499
const QString & getKey() const
Definition: SgVex.h:144
~SgVexLiteralBlock()
Definition: SgVex.h:141
QString key_
Definition: SgVex.h:154
QList< QString > literalStrings_
Definition: SgVex.h:155
SgVexLiteralBlock(const SgVexLiteralBlock &lit)
Definition: SgVex.h:139
bool parseVex(const QList< QString > &statements, int &idx)
Definition: SgVex.cpp:139
SgVexLiteralBlock(const QString &key, const QList< QString > &literalStrings)
Definition: SgVex.h:137
const QList< QString > & getLiteralStrings() const
Definition: SgVex.h:145
static const QString className()
Definition: SgVex.cpp:131
QList< QString > values_
Definition: SgVex.h:91
QString key_
Definition: SgVex.h:90
bool parseVexStatement(const QString &str)
Definition: SgVex.cpp:52
static const QString className()
Definition: SgVex.cpp:44
const QString & getKey() const
Definition: SgVex.h:80
~SgVexParameter()
Definition: SgVex.h:77
const QList< QString > & getValues() const
Definition: SgVex.h:81
SgVexParameter()
Definition: SgVex.h:74
SgVexParameter(const QString &key, const QList< QString > &values)
Definition: SgVex.h:75
SgVexParameter(const SgVexParameter &par)
Definition: SgVex.h:76
QString key_
Definition: SgVex.h:122
bool parseVexStatement(const QString &str)
Definition: SgVex.cpp:93
const QList< QString > & getQualifiers() const
Definition: SgVex.h:112
const QString & getValue() const
Definition: SgVex.h:111
QString value_
Definition: SgVex.h:123
SgVexRefSatement()
Definition: SgVex.h:102
SgVexRefSatement(const SgVexRefSatement &ref)
Definition: SgVex.h:105
QMap< QString, QString > qualifierByQ_
Definition: SgVex.h:125
SgVexRefSatement(const QString &key, const QString &value, const QList< QString > &qualifiers)
Definition: SgVex.h:103
const QString & getKey() const
Definition: SgVex.h:110
QList< QString > qualifiers_
Definition: SgVex.h:124
~SgVexRefSatement()
Definition: SgVex.h:108
static const QString className()
Definition: SgVex.cpp:85
const QMap< QString, QString > & getQualifierByQ() const
Definition: SgVex.h:113
QList< SgVexParameter * > parameters_
Definition: SgVex.h:221
QString key_
Definition: SgVex.h:220
static const QString className()
Definition: SgVex.cpp:287
SgVexScanBlock(const SgVexScanBlock &sb)
Definition: SgVex.h:206
~SgVexScanBlock()
Definition: SgVex.h:207
SgVexScanBlock()
Definition: SgVex.h:205
const QString & getKey() const
Definition: SgVex.h:210
const QList< SgVexParameter * > & getParameters() const
Definition: SgVex.h:211
bool parseVex(const QList< QString > &statements, int &idx)
Definition: SgVex.cpp:295
const QList< SgVexScanBlock * > & getScanBlocks() const
Definition: SgVex.h:248
QList< SgVexScanBlock * > scanBlocks_
Definition: SgVex.h:266
QList< QString > statements_
Definition: SgVex.h:263
QList< SgVexDefBlock * > defBlocks_
Definition: SgVex.h:265
QMap< QString, SgVexRefSatement * > refByKey_
Definition: SgVex.h:269
SgVexSection(const SgVexSection &sect)
Definition: SgVex.h:237
QMap< QString, SgVexScanBlock * > scanByKey_
Definition: SgVex.h:271
const QList< QString > & getStatements() const
Definition: SgVex.h:245
const QString & getKey() const
Definition: SgVex.h:244
QList< SgVexRefSatement * > refStatements_
Definition: SgVex.h:264
const QMap< QString, SgVexScanBlock * > & getScanByKey() const
Definition: SgVex.h:253
const QMap< QString, SgVexDefBlock * > & getDefByKey() const
Definition: SgVex.h:252
const QList< SgVexRefSatement * > & getRefStatements() const
Definition: SgVex.h:246
QString key_
Definition: SgVex.h:262
QMap< QString, SgVexDefBlock * > defByKey_
Definition: SgVex.h:270
bool parseVex(const QList< QString > &statements, int &idx)
Definition: SgVex.cpp:370
const QMap< QString, SgVexRefSatement * > & getRefByKey() const
Definition: SgVex.h:251
SgVexSection()
Definition: SgVex.h:233
SgVexSection(const QString &key)
Definition: SgVex.h:234
static const QString className()
Definition: SgVex.cpp:342
const QList< SgVexDefBlock * > & getDefBlocks() const
Definition: SgVex.h:247
~SgVexSection()
Definition: SgVex.cpp:349