26 #include <QtCore/QFile>
27 #include <QtCore/QList>
28 #include <QtCore/QRegExp>
29 #include <QtCore/QTextStream>
70 epochByScanFullName_(),
77 mandatoryDatumByKey_(),
79 c1Data_(), i2Data_(), i4Data_(), i8Data_(), r4Data_(), r8Data_(),
310 for (
int i=0; i<size(); i++)
318 for (QMap<QString, SgAgvDatumString*>::iterator it=
c1Data_.begin(); it!=
c1Data_.end(); ++it)
405 "::insertDatum(): the datum descriptor is NULL");
408 "::insertDatum(): the lCode \"" + dd->
getLCode() +
"\" already registered");
433 "::createDatum(): the datum descriptor with the lCode \"" + dd->
getLCode() +
434 "\" is already in C1 map");
441 "::createDatum(): the datum descriptor with the lCode \"" + dd->
getLCode() +
442 "\" is already in I2 map");
449 "::createDatum(): the datum descriptor with the lCode \"" + dd->
getLCode() +
450 "\" is already in I4 map");
457 "::createDatum(): the datum descriptor with the lCode \"" + dd->
getLCode() +
458 "\" is already in I8 map");
465 "::createDatum(): the datum descriptor with the lCode \"" + dd->
getLCode() +
466 "\" is already in R4 map");
473 "::createDatum(): the datum descriptor with the lCode \"" + dd->
getLCode() +
474 "\" is already in R8 map");
494 for (QMap<QString, SgAgvDatumDescriptor*>::iterator it=
datumByKey_.begin();
499 for (QMap<QString, SgAgvDatumString*>::iterator it=
c1Data_.begin(); it!=
c1Data_.end(); ++it)
500 if (!it.value()->isAllocated())
501 it.value()->allocateSpace();
504 if (!it.value()->isAllocated())
505 it.value()->allocateSpace();
508 if (!it.value()->isAllocated())
509 it.value()->allocateSpace();
512 if (!it.value()->isAllocated())
513 it.value()->allocateSpace();
516 if (!it.value()->isAllocated())
517 it.value()->allocateSpace();
520 if (!it.value()->isAllocated())
521 it.value()->allocateSpace();
546 str = dstr->
getValue(idx2, idx3, idx4).trimmed();
547 str.replace(
' ',
'_');
552 str.setNum(dsin->
getValue(idx1, idx2, idx3, idx4));
556 str.setNum(dint->
getValue(idx1, idx2, idx3, idx4));
560 str.setNum(dlin->
getValue(idx1, idx2, idx3, idx4));
564 str.setNum(dflt->
getValue(idx1, idx2, idx3, idx4),
'E', 7);
568 str.setNum(ddbl->
getValue(idx1, idx2, idx3, idx4),
'E', 15);
587 if (basicName.indexOf(
'.') == -1)
591 std::cout <<
" --- path2File_=[" << qPrintable(
path2File_) <<
"]\n";
592 std::cout <<
" --- fileName_ =[" << qPrintable(
fileName_) <<
"]\n";
597 if (!f.open(QIODevice::WriteOnly))
605 for (
int i=0; i<size(); i++)
606 at(i)->exportData(ts,
this);
612 std::cout <<
"SgAgvDriver::exportData: done"
1103 const QString& bandKey=
session_->
bands().at(bndIdx)->getKey();
1110 d->
setLCode(QString(
"").sprintf(
"NUM_AP%d", bndIdx + 1));
1111 d->
setDescription(QString(
"").sprintf(
"Number of accumulation periods used in band %d per channel "
1112 "per sideband (USB, LSB)", bndIdx + 1));
1124 d->
setLCode(QString(
"").sprintf(
"CI_NUM%d", bndIdx + 1));
1125 d->
setDescription(QString(
"").sprintf(
"Corel index numbers in band %d per channel "
1126 "per sideband (USB, LSB)", bndIdx + 1));
1138 d->
setLCode(QString(
"").sprintf(
"BBC_IDX%d", bndIdx + 1));
1139 d->
setDescription(QString(
"").sprintf(
"Physical BBC number per channel per station in band %d",
1152 d->
setLCode(QString(
"").sprintf(
"ERRATE_%d", bndIdx + 1));
1153 d->
setDescription(QString(
"").sprintf(
"Log err rate per channel per station in band %d",
1167 d->
setLCode(QString(
"").sprintf(
"CHANID%d", bndIdx + 1));
1168 d->
setDescription(QString(
"").sprintf(
"Space separated one-letter Fourfit channel IDs in band %d",
1181 d->
setLCode(QString(
"").sprintf(
"POLARZ%d", bndIdx + 1));
1182 d->
setDescription(QString(
"").sprintf(
"Space separated polarization per sta/chan in band %d",
1195 d->
setLCode(QString(
"").sprintf(
"RFREQ%d", bndIdx + 1));
1196 d->
setDescription(QString(
"").sprintf(
"RF freq by channel (MHz) in band %d",
1209 d->
setLCode(QString(
"").sprintf(
"LO_FREQ%d", bndIdx + 1));
1210 d->
setDescription(QString(
"").sprintf(
"LO frequencies per cha/sta MHz in band %d",
1223 d->
setLCode(QString(
"").sprintf(
"NSAMPLS%d", bndIdx + 1));
1224 d->
setDescription(QString(
"").sprintf(
"Number of samples per channel, sideband (USB, LSB) in "
1225 "band %d", bndIdx + 1));
1237 d->
setLCode(QString(
"").sprintf(
"APBYFRQ%d", bndIdx + 1));
1238 d->
setDescription(QString(
"").sprintf(
"Amp(0-1), phs(-180to180) by chan in band %d",
1252 d->
setLCode(QString(
"").sprintf(
"PHCFRQ_%d", bndIdx + 1));
1253 d->
setDescription(QString(
"").sprintf(
"Phase cal freqs by channel by station in band %d",
1267 d->
setLCode(QString(
"").sprintf(
"PHCAMP_%d", bndIdx + 1));
1268 d->
setDescription(QString(
"").sprintf(
"Phase cal amplitudes by channel by station in band %d",
1282 d->
setLCode(QString(
"").sprintf(
"PHCPHS_%d", bndIdx + 1));
1283 d->
setDescription(QString(
"").sprintf(
"Phase cal phases (-18000 to 18000) by channel by station"
1284 " in band %d", bndIdx + 1));
1297 d->
setLCode(QString(
"").sprintf(
"PHCOFF_%d", bndIdx + 1));
1298 d->
setDescription(QString(
"").sprintf(
"Phase cal offsets (-18000 to 18000) by channel by station "
1299 "in band %d", bndIdx + 1));
1322 "::fillDataStructures(): the session is NULL, nothing to do");
1328 "::fillDataStructures(): the session has no any band, nothing to do");
1427 for (QMap<QString, SgAgvDatumString*>::iterator it=
c1Data_.begin(); it!=
c1Data_.end(); ++it)
1431 int length=ds->
value(0, 0, 0).size();
1432 for (
int l=0; l<dd->
d4(); l++)
1433 for (
int k=0; k<dd->
d3(); k++)
1434 for (
int j=0; j<dd->
d2(); j++)
1435 if (length < ds->value(j, k, l).size())
1436 length = ds->
value(j, k, l).size();
1440 "::prepare4output(): the length of strings has been changed from " +
1441 QString(
"").setNum(dd->
getDim1()) +
" to " + QString(
"").setNum(length) +
" for the lCode " +
1527 int idx=0, totChannels=0, numOfClockBreak=0;
1598 refSites << stn->
getKey();
1607 cBrkSites << stn->
getKey();
1620 for (
int j=1; j<7; j++)
1632 QString st1Name(stn->
getKey()), st2Name(stn_2->
getKey());
1702 "::fillSessVars(): cannot find a station \"" + jt.key() +
"\" in the map");
1707 "::fillSessVars(): cannot find a station \"" + it.key() +
"\" in the map");
1717 for (
int i=0; i<refSites.size(); i++)
1723 if ((numOfClockBreak = cBrkSites.size()))
1731 for (
int i=0; i<numOfClockBreak; i++)
1740 for (
int i=0; i<numOfClockBreak; i++)
1742 const SgMJD &t=cBrkEpochs.at(i);
1754 for (
int i=0; i<6; i++)
1765 for (
int i=0; i<8; i++)
1781 for (
int i=0; i<calList.size(); i++)
1821 if (str.at(8) ==
':')
1824 baselineNames.append(str);
1830 clocks4baselines << str;
1851 for (
int i=0; i<clocks4baselines.size(); i++)
1913 for (
int i=0; i<5; i++)
1916 for (
int i=0; i<5; i++)
2001 for (
unsigned int i=0; i<
session_->
calcInfo().ut1InterpData()->nRow(); i++)
2002 for (
unsigned int j=0; j<
session_->
calcInfo().ut1InterpData()->nCol(); j++)
2007 for (
unsigned int i=0; i<
session_->
calcInfo().wobInterpData()->nRow(); i++)
2008 for (
unsigned int j=0; j<
session_->
calcInfo().wobInterpData()->nCol(); j++)
2023 for (
int j=0; j<11; j++)
2034 for (
int j=0; j<6; j++)
2068 "::fillSessVars(): the stnInfo is NULL for the idx=" + QString(
"").setNum(i));
2084 "::fillSessVars(): the set of argumets for UT1 interpolation is not defined");
2087 "::fillSessVars(): the set of argumets for Polar motion interpolation is not defined");
2148 "::fillSessVars(): no ERP interpolation data to store");
2156 bool hasScanNames, hasMjdObs, hasSrcIdx, hasUtcObs;
2157 bool hasCrootFnam, hasFScanName;
2201 int nYear, nMonth, nDay, nHour, nMin, scanIdx;
2203 QMap<QString, SgMJD> epochByScanId;
2204 epochByScanId.clear();
2213 for (QMap<QString, SgVlbiObservable*>::iterator it=obs->
observableByKey().begin();
2476 for (
int j=0; j<6; j++)
2514 QString chanIds(
"");
2515 QString polariz(
"");
2537 chanIds += QString(
"").sprintf(
"%c", o->
chanIdByChan()->at(j));
2538 polariz += QString(
"").sprintf(
"%c%c",
2638 for (QMap<QString, SgVlbiObservable*>::iterator it=obs->
observableByKey().begin();
2640 if (it.value()->getBandKey() != pbObs->
getBandKey())
2657 int qCodeSb=sbObs->getQualityFactor();
2844 if (!epochByScanId.contains(obs->
getScanId()))
2848 epochByScanId.insert(obs->
getScanId(), *obs);
2916 for (
int k=0; k<3; k++)
2917 for (
int l=0; l<3; l++)
2920 for (
int k=0; k<3; k++)
2921 for (
int l=0; l<3; l++)
2924 for (
int k=0; k<3; k++)
2925 for (
int l=0; l<3; l++)
2941 epochByScanId.clear();
3055 "::fillSttnVars(): cannot find a station \"" + it.key() +
"\" in the map");
3089 if (!f.open(QIODevice::ReadOnly))
3092 "::importData(): error opening input file: \"" +
fileName_ +
"\"");
3113 "::importData(): the chunk #" + QString(
"").setNum(chunk->
getIdx()) +
" has been read");
3140 QMap<QString, SgAgvDatumDescriptor*> knownKeyByLcode;
3147 knownKeyByLcode[expectedDd->
getLCode()] = expectedDd;
3153 "::checkCollectedDescriptors(): the LCode \"" + expectedDd->
getLCode() +
3154 "\" have unexpected data type, " +
3164 "::checkCollectedDescriptors(): the LCode \"" + expectedDd->
getLCode() +
3165 "\" have unexpected data scope: " +
3173 "::checkCollectedDescriptors(): cannot find LCode \"" + expectedDd->
getLCode() +
"\"");
3181 if (!knownKeyByLcode.contains(actualDd->
getLCode()))
3183 "::checkCollectedDescriptors(): got an unknown LCode \"" + actualDd->
getLCode() +
"\"");
3185 knownKeyByLcode.clear();
3193 QString& lCode,
int& d1,
int& d2,
int& d3,
int& d4, QString& val)
3195 QRegExp re(
"(.{8})\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+(.*)",
3196 Qt::CaseInsensitive);
3198 d1 = d2 = d3 = d4 = 0;
3201 if (re.indexIn(content) != -1)
3204 d3 = re.cap(2).toInt(&isOk);
3207 d4 = re.cap(3).toInt(&isOk);
3210 d1 = re.cap(4).toInt(&isOk);
3213 d2 = re.cap(5).toInt(&isOk);
3222 "::strVal(): cannot parse the record \"" + content +
"\"");
3238 QString& lCode,
int& d1,
int& d2,
int& d3,
int& d4,
short int &val)
3240 QRegExp re(
"(.{8})\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+([-+0-9]+)",
3241 Qt::CaseInsensitive);
3244 d1 = d2 = d3 = d4 = 0;
3246 if (re.indexIn(content) != -1)
3249 d3 = re.cap(2).toInt(&isOk);
3252 d4 = re.cap(3).toInt(&isOk);
3255 d1 = re.cap(4).toInt(&isOk);
3258 d2 = re.cap(5).toInt(&isOk);
3260 val = re.cap(6).toShort(&isOk);
3267 "::sintVal(): cannot parse the record \"" + content +
"\"");
3283 QString& lCode,
int& d1,
int& d2,
int& d3,
int& d4,
int &val)
3285 QRegExp re(
"(.{8})\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+([-+0-9]+)",
3286 Qt::CaseInsensitive);
3289 d1 = d2 = d3 = d4 = val = 0;
3291 if (re.indexIn(content) != -1)
3294 d3 = re.cap(2).toInt(&isOk);
3297 d4 = re.cap(3).toInt(&isOk);
3300 d1 = re.cap(4).toInt(&isOk);
3303 d2 = re.cap(5).toInt(&isOk);
3305 val = re.cap(6).toInt(&isOk);
3312 "::intVal(): cannot parse the record \"" + content +
"\"");
3328 QString& lCode,
int& d1,
int& d2,
int& d3,
int& d4,
long int &val)
3330 QRegExp re(
"(.{8})\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+([-+0-9]+)",
3331 Qt::CaseInsensitive);
3334 d1 = d2 = d3 = d4 = val = 0;
3336 if (re.indexIn(content) != -1)
3339 d3 = re.cap(2).toInt(&isOk);
3342 d4 = re.cap(3).toInt(&isOk);
3345 d1 = re.cap(4).toInt(&isOk);
3348 d2 = re.cap(5).toInt(&isOk);
3350 val = re.cap(6).toLong(&isOk);
3357 "::lintVal(): cannot parse the record \"" + content +
"\"");
3373 QString& lCode,
int& d1,
int& d2,
int& d3,
int& d4,
float &val)
3375 QRegExp re(
"(.{8})\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+([-+0-9\\.eEdD]+)",
3376 Qt::CaseInsensitive);
3378 d1 = d2 = d3 = d4 = 0;
3381 if (re.indexIn(content) != -1)
3384 d3 = re.cap(2).toInt(&isOk);
3387 d4 = re.cap(3).toInt(&isOk);
3390 d1 = re.cap(4).toInt(&isOk);
3393 d2 = re.cap(5).toInt(&isOk);
3395 val = re.cap(6).toFloat(&isOk);
3400 else if (content.contains(
"NaN", Qt::CaseInsensitive))
3407 "::floatVal(): cannot parse the record \"" + content +
"\"");
3423 QString& lCode,
int& d1,
int& d2,
int& d3,
int& d4,
double &val)
3425 QRegExp re(
"(.{8})\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+([-+0-9\\.eEdD]+)",
3426 Qt::CaseInsensitive);
3428 d1 = d2 = d3 = d4 = 1;
3431 if (re.indexIn(content) != -1)
3434 d3 = re.cap(2).toInt(&isOk);
3437 d4 = re.cap(3).toInt(&isOk);
3440 d1 = re.cap(4).toInt(&isOk);
3443 d2 = re.cap(5).toInt(&isOk);
3446 QString str(re.cap(6));
3447 str.replace(
"D",
"E", Qt::CaseInsensitive);
3448 val = str.toDouble(&isOk);
3454 else if (content.contains(
"NaN", Qt::CaseInsensitive))
3461 "::doubleVal(): cannot parse the record \"" + content +
"\"");
3478 QString lCode(
""), valStr(
"");
3479 int idx1, idx2, idx3, idx4, val;
3482 if (section->size() >= 5)
3491 "\" was not found");
3500 "\" was not found");
3509 "\" was not found");
3518 "\" was not found");
3526 "::figureOutImplicitDimensions(): the mandatory record \"" +
adObsTab_.
getLCode() +
3527 "\" was not found");
3536 "\" was not found");
3540 bool haveNobsSta, haveNumbObs, haveNumbSca, haveNumbSta, haveSiteNames;
3542 haveNobsSta = haveNumbObs = haveNumbSca = haveNumbSta = haveSiteNames = haveAll =
false;
3543 QMap<int, int> stnobsByIdx;
3544 QMap<int, QString> stnnameByIdx;
3547 for (
int i=0; i<section->size() && !haveAll; i++)
3549 const QString& str=section->at(i)->content();
3550 const QString& lcd=section->at(i)->lCode();
3552 idx1 = idx2 = idx3 = idx4 = val = 0;
3557 intVal(str, lCode, idx1, idx2, idx3, idx4, val);
3561 "::figureOutImplicitDimensions(): the value is 0 for the " + QString(
"").setNum(i) +
3562 "'s record \"" + str +
"\"");
3567 strVal(str, lCode, idx1, idx2, idx3, idx4, valStr);
3573 stnobsByIdx[idx1] = val;
3596 valStr = valStr.leftJustified(8,
' ');
3598 stnnameByIdx[idx2] = valStr;
3600 haveSiteNames =
true;
3602 haveAll = haveNobsSta && haveNumbObs && haveNumbSca && haveNumbSta && haveSiteNames;
3606 if (stnobsByIdx.size() == stnnameByIdx.size())
3609 for (QMap<int, int>::iterator it=stnobsByIdx.begin(); it!=stnobsByIdx.end(); ++it)
3618 "::figureOutImplicitDimensions(): sizes of NOBS_STA and SITNAMES mismatch");
3622 "::figureOutImplicitDimensions(): cannot find all necessary mandatory records");
3626 "::figureOutImplicitDimensions(): not enough mandatory records, " +
3627 QString(
"").setNum(section->size()));
3631 "::figureOutImplicitDimensions(): the section is NULL");
3641 int idx1, idx2, idx3, idx4;
3645 "::digestData(): the section is NULL");
3648 if (section->size() <= 5)
3651 "::digestData(): not enough records to get data: " + QString(
"").setNum(section->size()));
3655 for (
int i=0; i<section->size(); i++)
3663 const QString& str=section->at(i)->content();
3664 const QString& lcd=section->at(i)->lCode();
3666 idx1 = idx2 = idx3 = idx4 = 0;
3676 if (
strVal(str, lCode, idx1, idx2, idx3, idx4, sVal))
3681 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3682 "\" is not in C1 map");
3687 if (
sintVal(str, lCode, idx1, idx2, idx3, idx4, siVal))
3688 i2Data_.value(dd->
getLCode())->value(idx1-1, idx2-1, idx3-1, idx4-1) = siVal;
3692 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3693 "\" is not in I2 map");
3698 if (
intVal(str, lCode, idx1, idx2, idx3, idx4, iVal))
3699 i4Data_.value(dd->
getLCode())->value(idx1-1, idx2-1, idx3-1, idx4-1) = iVal;
3703 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3704 "\" is not in I4 map");
3709 if (
lintVal(str, lCode, idx1, idx2, idx3, idx4, liVal))
3710 i8Data_.value(dd->
getLCode())->value(idx1-1, idx2-1, idx3-1, idx4-1) = liVal;
3714 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3715 "\" is not in I8 map");
3720 if (
floatVal(str, lCode, idx1, idx2, idx3, idx4, fVal))
3721 r4Data_.value(dd->
getLCode())->value(idx1-1, idx2-1, idx3-1, idx4-1) = fVal;
3725 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3726 "\" is not in R4 map");
3731 if (
doubleVal(str, lCode, idx1, idx2, idx3, idx4, dVal))
3732 r8Data_.value(dd->
getLCode())->value(idx1-1, idx2-1, idx3-1, idx4-1) = dVal;
3736 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3737 "\" is not in R8 map");
3742 "::digestData(): got an unknown datum descriptor with the lCode \"" +
3750 "::digestData(): cannot find lCode \"" + lcd +
"\" in the map");
3759 "::digestData(): cannot figure out a number of bands");
3804 int idx1, idx2, idx3, idx4;
3808 "::digestData(): the section is NULL");
3811 if (section->size() <= 5)
3814 "::digestData(): not enough records to get data: " + QString(
"").setNum(section->size()));
3818 for (
int i=0; i<section->size(); i++)
3826 const QString& str=section->at(i)->content().mid(9);
3827 const QString& lcd=section->at(i)->lCode();
3828 idx1 = idx2 = idx3 = idx4 = 0;
3846 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3847 "\" is not in C1 map");
3853 i2Data_.value(dd->
getLCode())->value(idx1-1, idx2-1, idx3-1, idx4-1) = siVal;
3857 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3858 "\" is not in I2 map");
3864 i4Data_.value(dd->
getLCode())->value(idx1-1, idx2-1, idx3-1, idx4-1) = iVal;
3868 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3869 "\" is not in I4 map");
3875 i8Data_.value(dd->
getLCode())->value(idx1-1, idx2-1, idx3-1, idx4-1) = liVal;
3879 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3880 "\" is not in I8 map");
3886 r4Data_.value(dd->
getLCode())->value(idx1-1, idx2-1, idx3-1, idx4-1) = fVal;
3890 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3891 "\" is not in R4 map");
3897 r8Data_.value(dd->
getLCode())->value(idx1-1, idx2-1, idx3-1, idx4-1) = dVal;
3901 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3902 "\" is not in R8 map");
3907 "::digestData(): got an unknown datum descriptor with the lCode \"" +
3915 "::digestData(): cannot find lCode \"" + lcd +
"\" in the map");
3924 "::digestData(): cannot figure out a number of bands");
3933 i = i1 = i2 = i3 = i4 = 0;
3934 strLength = str.size();
3935 while (i<strLength && (i1==0 || i2==0 || i3==0 || i4==0))
3937 if (i1==0 && str.at(i)==
' ')
3940 while (i<strLength && str.at(i)==
' ')
3943 else if (i2==0 && str.at(i)==
' ')
3946 while (i<strLength && str.at(i)==
' ')
3949 else if (i3==0 && str.at(i)==
' ')
3952 while (i<strLength && str.at(i)==
' ')
3955 else if (i4==0 && str.at(i)==
' ')
3959 return !( i1==0 || i2==0 || i3==0 || i4==0 ||
3960 i1==i2 || i1==i3 || i1==i4 || i2==i3 || i2==i4 || i3==i4 ||
3971 int strLength=content.size();
3976 "::strVal(): the string is too short: \"" + content +
"\"");
3979 d1 = d2 = d3 = d4 = 0;
3984 "::strVal(): cannot parse the string \"" + content +
"\": " +
3985 QString(
"").sprintf(
"idxs=(%d:%d:%d:%d)", i1, i2, i3, i4));
3990 if ((i1 = sscanf(qPrintable(content),
"%d %d %d %d %s", &d3, &d4, &d1, &d2, buff)) == 5)
3993 val = QString(buff);
3997 "::strVal(): cannot sscan the string \"" + content +
"\", retCode= " +
3998 QString(
"").setNum(i1));
4002 d3 = content.mid(0, i1).toInt(&isOk);
4005 d4 = content.mid(i1, i2-i1).toInt(&isOk);
4008 d1 = content.mid(i2, i3-i2).toInt(&isOk);
4011 d2 = content.mid(i3, i4-i3).toInt(&isOk);
4013 val = content.mid(i4).simplified();
4016 "::strVal(): cannot parse the 2nd idx; content: \"" + content +
"\"");
4020 "::strVal(): cannot parse the 1st idx; content: \"" + content +
"\"");
4024 "::strVal(): cannot parse the 4th idx; content: \"" + content +
"\"");
4028 "::strVal(): cannot parse the 3rd idx; content: \"" + content +
"\"");
4046 int& d1,
int& d2,
int& d3,
int& d4,
short int &val)
4050 int strLength=content.size();
4054 "::sintVal(): the string is too short: \"" + content +
"\"");
4057 d1 = d2 = d3 = d4 = 0;
4062 "::sintVal(): cannot parse the string \"" + content +
"\": " +
4063 QString(
"").sprintf(
"idxs=(%d:%d:%d:%d)", i1, i2, i3, i4));
4068 if ((i1 = sscanf(qPrintable(content),
"%d %d %d %d %hd", &d3, &d4, &d1, &d2, &val)) == 5)
4072 "::sintVal(): cannot sscan the string \"" + content +
"\", retCode= " +
4073 QString(
"").setNum(i1));
4077 d3 = content.mid(0, i1).toInt(&isOk);
4080 d4 = content.mid(i1, i2-i1).toInt(&isOk);
4083 d1 = content.mid(i2, i3-i2).toInt(&isOk);
4086 d2 = content.mid(i3, i4-i3).toInt(&isOk);
4089 val = content.mid(i4).toShort(&isOk);
4092 "::sintVal(): cannot parse the value; content: \"" + content +
"\"");
4096 "::sintVal(): cannot parse the 2nd idx; content: \"" + content +
"\"");
4100 "::sintVal(): cannot parse the 1st idx; content: \"" + content +
"\"");
4104 "::sintVal(): cannot parse the 4th idx; content: \"" + content +
"\"");
4108 "::sintVal(): cannot parse the 3rd idx; content: \"" + content +
"\"");
4126 int& d1,
int& d2,
int& d3,
int& d4,
int &val)
4130 int strLength=content.size();
4134 "::intVal(): the string is too short: \"" + content +
"\"");
4137 d1 = d2 = d3 = d4 = 0;
4142 "::intVal(): cannot parse the string \"" + content +
"\": " +
4143 QString(
"").sprintf(
"idxs=(%d:%d:%d:%d)", i1, i2, i3, i4));
4149 "::intVal(): cannot parse the string \"" + content +
"\": " +
4150 QString(
"").sprintf(
"idxs=(%d:%d:%d:%d)", i1, i2, i3, i4));
4155 if ((i1 = sscanf(qPrintable(content),
"%d %d %d %d %d", &d3, &d4, &d1, &d2, &val)) == 5)
4159 "::intVal(): cannot sscan the string \"" + content +
"\", retCode= " +
4160 QString(
"").setNum(i1));
4164 d3 = content.mid(0, i1).toInt(&isOk);
4167 d4 = content.mid(i1, i2-i1).toInt(&isOk);
4170 d1 = content.mid(i2, i3-i2).toInt(&isOk);
4173 d2 = content.mid(i3, i4-i3).toInt(&isOk);
4176 val = content.mid(i4).toInt(&isOk);
4179 "::intVal(): cannot parse the value; content: \"" + content +
"\"");
4183 "::intVal(): cannot parse the 2nd idx; content: \"" + content +
"\"");
4187 "::intVal(): cannot parse the 1st idx; content: \"" + content +
"\"");
4191 "::intVal(): cannot parse the 4th idx; content: \"" + content +
"\"");
4195 "::intVal(): cannot parse the 3rd idx; content: \"" + content +
"\"");
4213 int& d1,
int& d2,
int& d3,
int& d4,
long int &val)
4217 int strLength=content.size();
4221 "::lintVal(): the string is too short: \"" + content +
"\"");
4224 d1 = d2 = d3 = d4 = 0;
4229 "::lintVal(): cannot parse the string \"" + content +
"\": " +
4230 QString(
"").sprintf(
"idxs=(%d:%d:%d:%d)", i1, i2, i3, i4));
4237 "::lintVal(): cannot parse the string \"" + content +
"\": " +
4238 QString(
"").sprintf(
"idxs=(%d:%d:%d:%d)", i1, i2, i3, i4));
4243 if ((i1 = sscanf(qPrintable(content),
"%d %d %d %d %ld", &d3, &d4, &d1, &d2, &val)) == 5)
4247 "::lintVal(): cannot sscan the string \"" + content +
"\", retCode= " +
4248 QString(
"").setNum(i1));
4252 d3 = content.mid(0, i1).toInt(&isOk);
4255 d4 = content.mid(i1, i2-i1).toInt(&isOk);
4258 d1 = content.mid(i2, i3-i2).toInt(&isOk);
4261 d2 = content.mid(i3, i4-i3).toInt(&isOk);
4264 val = content.mid(i4).toLong(&isOk);
4267 "::lintVal(): cannot parse the value; content: \"" + content +
"\"");
4271 "::lintVal(): cannot parse the 2nd idx; content: \"" + content +
"\"");
4275 "::lintVal(): cannot parse the 1st idx; content: \"" + content +
"\"");
4279 "::lintVal(): cannot parse the 4th idx; content: \"" + content +
"\"");
4283 "::lintVal(): cannot parse the 3rd idx; content: \"" + content +
"\"");
4301 int& d1,
int& d2,
int& d3,
int& d4,
float &val)
4305 int strLength=content.size();
4309 "::floatVal(): the string is too short: \"" + content +
"\"");
4312 d1 = d2 = d3 = d4 = 0;
4317 "::floatVal(): cannot parse the string \"" + content +
"\": " +
4318 QString(
"").sprintf(
"idxs=(%d:%d:%d:%d)", i1, i2, i3, i4));
4323 if ((i1 = sscanf(qPrintable(content),
"%d %d %d %d %e", &d3, &d4, &d1, &d2, &val)) == 5)
4327 "::floatVal(): cannot sscan the string \"" + content +
"\", retCode= " +
4328 QString(
"").setNum(i1));
4332 d3 = content.mid(0, i1).toInt(&isOk);
4335 d4 = content.mid(i1, i2-i1).toInt(&isOk);
4338 d1 = content.mid(i2, i3-i2).toInt(&isOk);
4341 d2 = content.mid(i3, i4-i3).toInt(&isOk);
4344 val = content.mid(i4).toFloat(&isOk);
4347 "::floatVal(): cannot parse the value; content: \"" + content +
"\"");
4351 "::floatVal(): cannot parse the 2nd idx; content: \"" + content +
"\"");
4355 "::floatVal(): cannot parse the 1st idx; content: \"" + content +
"\"");
4359 "::floatVal(): cannot parse the 4th idx; content: \"" + content +
"\"");
4363 "::floatVal(): cannot parse the 3rd idx; content: \"" + content +
"\"");
4381 int& d1,
int& d2,
int& d3,
int& d4,
double &val)
4385 int strLength=content.size();
4389 "::doubleVal(): the string is too short: \"" + content +
"\"");
4392 d1 = d2 = d3 = d4 = 0;
4394 QString str(content);
4395 str.replace(
"D",
"E", Qt::CaseInsensitive);
4400 "::doubleVal(): cannot parse the string \"" + content +
"\": " +
4401 QString(
"").sprintf(
"idxs=(%d:%d:%d:%d)", i1, i2, i3, i4));
4406 if ((i1 = sscanf(qPrintable(str),
"%d %d %d %d %le", &d3, &d4, &d1, &d2, &val)) == 5)
4408 else if (content.contains(
"NaN", Qt::CaseInsensitive))
4415 "::doubleVal(): cannot sscan the string \"" + content +
"\", retCode= " +
4416 QString(
"").setNum(i1));
4420 d3 = str.mid(0, i1).toInt(&isOk);
4423 d4 = str.mid(i1, i2-i1).toInt(&isOk);
4426 d1 = str.mid(i2, i3-i2).toInt(&isOk);
4429 d2 = str.mid(i3, i4-i3).toInt(&isOk);
4432 val = str.mid(i4).toDouble(&isOk);
4435 "::doubleVal(): cannot parse the value; content: \"" + content +
"\"");
4439 "::doubleVal(): cannot parse the 2nd idx; content: \"" + content +
"\"");
4443 "::doubleVal(): cannot parse the 1st idx; content: \"" + content +
"\"");
4447 "::doubleVal(): cannot parse the 4th idx; content: \"" + content +
"\"");
4451 "::doubleVal(): cannot parse the 3rd idx; content: \"" + content +
"\"");
4472 str.sprintf(
"%s%d", qPrintable(lc), bndIdx + 1);
4473 str = str.leftJustified(8,
' ');
4489 "::lookupFuzzyDescriptor(): the lCode \"" + lc +
"\" for the band #" +
4490 QString(
"").setNum(bndIdx + 1) +
" was not found");
4517 else if (100 < d && d < 200)
4534 "::initSession(): a list of sources was not found");
4545 "::initSession(): a list of scans was not found");
4555 "::initSession(): a list of bands was not found");
4600 *(adPhcAmp + bndIdx) = NULL;
4601 *(adPhcPhs + bndIdx) = NULL;
4602 *(adPhcOff + bndIdx) = NULL;
4612 *(adPhcCm + bndIdx) = NULL;
4618 std::cout <<
"the band[" << qPrintable(it.key()) <<
"] has " << it.value() <<
" channels"
4628 bool hasFourFitFileName;
4635 QString station1Name, station2Name, sourceName, baselineName;
4636 QString scanName, scanId, obsKey, bandKey;
4645 QMap<QString, SgVlbiAuxObservation*>
4650 int scanIdx, stn_1Idx, stn_2Idx, srcIdx;
4654 int nYear, nMonth, nDay, nHour, nMin;
4656 SgMJD tStart, tStop;
4658 int numOfAllChannels=0;
4659 double *frqByChanNum=NULL;
4691 if (str.at(0) ==
'$')
4712 if (numOfAllChannels)
4714 frqByChanNum =
new double[numOfAllChannels];
4715 for (
int i=0; i<numOfAllChannels; i++)
4721 "::initSession(): numOfAllChannels is zero");
4722 frqByChanNum = NULL;
4735 bandKey = bandNames.at(i);
4795 for (
int obsIdx=0; obsIdx<
numOfObs_; obsIdx++)
4812 sourceName = sourceNames.at(srcIdx);
4814 baselineName = station1Name +
":" + station2Name;
4818 std::cout <<
" Got (" << obsIdx <<
") ["
4819 << qPrintable(station1Name) <<
"]:[" << qPrintable(station2Name) <<
"] @["
4820 << qPrintable(sourceName) <<
"], scan=[" << qPrintable(scanName) <<
"] at "
4821 << qPrintable(epoch.
toString()) <<
"\n";
4826 obsKey.sprintf(
"%s",
4894 if (!auxObsByScan->contains(scanId))
4898 auxObsByScan->insert(scanId, auxObs);
4902 if (!auxObsByScan->contains(scanId))
4906 auxObsByScan->insert(scanId, auxObs);
4926 "::initSession(): got an uknown format of \"" + dd->
getLCode() +
"\" lCode");
4939 bandKey = bandNames.at(bndIdx);
4944 if ((pGrDelAmbg && 0.0<pGrDelAmbg->
value(bndIdx, 0, obsIdx, 0) &&
4945 pSnr && 0.0<pSnr->value(bndIdx, 0, obsIdx, 0)) ||
4995 if (hasFourFitFileName)
5014 .replace(
'_',
' ').simplified();
5015 d = str.toInt(&isTmp);
5021 "::initSession(): canot convert quality factor [" + str +
"] to int");
5063 o->
setSnr(pSnr->value(bndIdx, 0, obsIdx, 0));
5164 "::initSession(): got an uknown format of \"" + dd->
getLCode() +
"\" lCode");
5194 QString chanIds(
""), polariz(
"");
5195 int numOfChannels=0;
5209 "::initSession(): got an uknown format of \"" + dd->
getLCode() +
"\" lCode");
5218 dd = *(adChanId + bndIdx);
5222 dd = *(adPolarz + bndIdx);
5227 for (
int chIdx=0; chIdx<numOfChannels; chIdx++)
5231 dd = *(adNumOfAp + bndIdx);
5241 dd = *(adNumSmpls + bndIdx);
5252 dd = *(adRfFreq + bndIdx);
5258 dd = *(adIndChn + bndIdx);
5262 if (0<=d && d<numOfAllChannels)
5267 ": initSession(): the channel index " + QString(
"").setNum(d) +
" is out of range [0.." +
5268 QString(
"").setNum(numOfAllChannels) +
"]");
5273 dd = *(adChAmpPhs + bndIdx);
5283 dd = *(adUvChn + bndIdx);
5294 dd = *(adPhcFrq + bndIdx);
5315 "::initSession(): got unexpected scope of \"" + dd->
getLCode() +
"\" lCode");
5320 dd = adPhcCm?*(adPhcCm + bndIdx):NULL;
5332 sqrt(re*re + im*im));
5341 sqrt(re*re + im*im));
5348 "::initSession(): got unexpected scope of \"" + dd->
getLCode() +
"\" lCode");
5386 dd = *(adIndexNum + bndIdx);
5396 dd = *(adBbcIdx + bndIdx);
5406 dd = *(adErrRate + bndIdx);
5416 dd = *(adLoRfFreq + bndIdx);
5426 if (chanIds.size() == numOfChannels)
5427 (*o->
chanIdByChan())[chIdx] = chanIds.at(chIdx).toLatin1();
5430 if (polariz.size() == 2*numOfChannels)
5450 double sampleRate=0.0, effFreq4GR=0.0, effFreq4PH=0.0, effFreq4RT=0.0;
5454 if (*(adPhcFrq + bndIdx) )
5465 fringeAmplitudeByChan, numOfSamplesByChan_USB, numOfSamplesByChan_LSB,
5476 fringeAmplitudeByChan, numOfSamplesByChan_USB, numOfSamplesByChan_LSB,
5565 nYear, nMonth, nDay, nHour, nMin, dSec);
5567 tStart =
SgMJD(nYear, nMonth, nDay, nHour, 0,
5569 tStop =
SgMJD(nYear, nMonth, nDay, nHour, 0,
5571 if (tStart - *o->
owner() > 40.0/24.0/60.0)
5573 if (*o->
owner() - tStart > 40.0/24.0/60.0)
5575 if (*o->
owner() - tStop > 40.0/24.0/60.0)
5577 if (tStop - *o->
owner() > 40.0/24.0/60.0)
5675 for (
int j=0; j<6; j++)
5717 if (station1Info->
getCid() ==
' ')
5719 station1Info->
setCid(cid);
5721 "::initSession(): station#1 " + station1Info->
getKey() +
" set CID to \"" +
5722 cid +
"\" at " + o->
strId());
5724 else if (station1Info->
getCid() != cid)
5727 "::initSession(): station#1 " + station1Info->
getKey() +
" CID missmatch: \"" +
5728 station2Info->
getCid() +
"\" vs \"" + cid +
"\" at " + o->
strId());
5732 if (station2Info->
getCid() ==
' ')
5734 station2Info->
setCid(cid);
5736 "::initSession(): station#2 " + station2Info->
getKey() +
" set CID to \"" +
5737 cid +
"\" at " + o->
strId());
5739 else if (station2Info->
getCid() != cid)
5742 "::initSession(): station#2 " + station2Info->
getKey() +
" CID missmatch: \"" +
5743 station2Info->
getCid() +
"\" vs \"" + cid +
"\" at " + o->
strId());
5771 "::initSession(): skipped observable #" + QString(
"").setNum(obsIdx) +
5772 " at the " + bandKey +
"-band: no data");
5951 pD->value(0, 1, scanIdx, 0),
5952 pD->value(0, 2, scanIdx, 0)));
5954 pD->value(1, 1, scanIdx, 0),
5955 pD->value(1, 2, scanIdx, 0)));
5961 pD->value(0, 1, scanIdx, 0),
5962 pD->value(0, 2, scanIdx, 0)));
5964 pD->value(1, 1, scanIdx, 0),
5965 pD->value(1, 2, scanIdx, 0)));
5971 pD->value(0, 1, scanIdx, 0),
5972 pD->value(0, 2, scanIdx, 0)));
5974 pD->value(1, 1, scanIdx, 0),
5975 pD->value(1, 2, scanIdx, 0)));
5977 pD->value(2, 1, scanIdx, 0),
5978 pD->value(2, 2, scanIdx, 0)));
6006 for (
int k=0; k<3; k++)
6007 for (
int l=0; l<3; l++)
6010 for (
int k=0; k<3; k++)
6011 for (
int l=0; l<3; l++)
6014 for (
int k=0; k<3; k++)
6015 for (
int l=0; l<3; l++)
6022 obs->
setCalcPmX(pD->value(0, 0, scanIdx, 0));
6023 obs->
setCalcPmY(pD->value(1, 0, scanIdx, 0));
6041 delete[] frqByChanNum;
6042 frqByChanNum = NULL;
6050 bandKey = band->
getKey();
6053 while (!o && n<session_->observations().size())
6061 for (
int j=0; j<band->
history().size(); j++)
6065 ": initSession(): history of the band " + bandKey +
" has been cleared");
6069 for (
int cIdx=0; cIdx<size(); cIdx++)
6071 for (
int j=0; j<at(cIdx)->history().size(); j++)
6085 if (!band->
history().isEmpty())
6086 n = band->
history().last()->getVersion();
6089 "::initSession(): no history records exist for the band " + bandKey);
6116 for (
int i=0; i<n; i++)
6177 for (
int i=0; i<n; i++)
6186 for (
int i=0; i<n; i++)
6195 for (
unsigned int i=0; i<
session_->
calcInfo().ut1InterpData()->nRow(); i++)
6196 for (
unsigned int j=0; j<
session_->
calcInfo().ut1InterpData()->nCol(); j++)
6205 for (
unsigned int i=0; i<
session_->
calcInfo().wobInterpData()->nRow(); i++)
6206 for (
unsigned int j=0; j<
session_->
calcInfo().wobInterpData()->nCol(); j++)
6215 int cableCalFlagIdx;
6216 bool isCableCalMatched=
false;
6217 cableCalFlagIdx = -1;
6221 for (
int i=0; i<n; i++)
6224 isCableCalMatched =
true;
6225 cableCalFlagIdx = i;
6234 for (
int stnIdx=0; stnIdx<
numOfStn_; stnIdx++)
6236 const QString stnName(
stnNames_.at(stnIdx));
6242 bool hasMeteoT, hasMeteoP, hasMeteoR, hasMeteo, hasCable;
6246 hasMeteo = hasMeteoT || hasMeteoP || hasMeteoR;
6329 pD->value(0, 1, obsIdx, stnIdx),
6330 pD->value(0, 2, obsIdx, stnIdx)));
6332 pD->value(1, 1, obsIdx, stnIdx),
6333 pD->value(1, 2, obsIdx, stnIdx)));
6424 if (d & 1<<cableCalFlagIdx)
6455 "::initSession(): the baseline " + bi->
getKey() +
" has been deselected");
6461 "::initSession(): the baseline " + biR->getKey() +
" has been deselected");
6471 "::initSession(): clock estimation has been assigned to the baseline " + bi->
getKey());
6477 "::initSession(): clock estimation has been assigned to the baseline " + biR->getKey());
6485 "::initSession(): cannot find a station #" + stnIdx +
" in the map");
6490 for (
int srcIdx=0; srcIdx<
numOfSrc_; srcIdx++)
6492 sourceName = sourceNames.at(srcIdx);
6503 "::initSession(): cannot find coordinates of the source \"" + sourceName +
"\"");
6516 "::initSession(): cannot find source \"" + sourceName +
"\" in the map");
6535 "::initSession(): dimensions of OceanPoleTideCoef and OceanUpPhase mismatch");
6538 "::initSession(): dimensions of OceanPoleTideCoef and OceanHorizontalWestPhase mismatch");
6541 "::initSession(): dimensions of OceanPoleTideCoef and OceanHorizontalSouthPhase mismatch");
6544 "::initSession(): dimensions of OceanPoleTideCoef and OceanUpAmp mismatch");
6547 "::initSession(): dimensions of OceanPoleTideCoef and OceanHorizontalWestAmp mismatch");
6550 "::initSession(): dimensions of OceanPoleTideCoef and OceanHorizontalSouthAmp mismatch");
6553 "::initSession(): dimensions of OceanPoleTideCoef and number of stations mismatch");
6556 "::initSession(): unexpected dimension of OceanUpPhase");
6559 "::initSession(): unexpected dimension(2) of OceanHorizontalWestPhase");
6562 "::initSession(): unexpected dimension(2) of OceanHorizontalSouthPhase");
6565 "::initSession(): unexpected dimension of OceanUpAmp");
6568 for (
int i=0; i<n; i++)
6573 for (
int j=0; j<l; j++)
6583 for (
int j=0; j<6; j++)
6588 "::initSession(): the station # " + QString(
"").setNum(i) +
" is NULL");
6607 unsigned int numOfPts;
6614 for (
unsigned int i=0; i<numOfPts; i++)
6625 "::getDataFromVgosDb(): loaded " + QString().setNum(numOfPts) +
6626 " records for UT1 interpolation");
6635 for (
unsigned int i=0; i<numOfPts; i++)
6645 "::getDataFromVgosDb(): loaded " + QString().setNum(numOfPts) +
6646 " records for polar motion interpolation");
6665 str =
"Seriesfull of tides";
6669 str =
"Only short period tidal terms are removed";
6673 str =
"All tidal terms are removed";
6677 "::getDataFromVgosDb(): got undocumented value for the TIDALUT1 value: " +
6679 "; the UT1 type has been reverted to default");
6683 "::getDataFromVgosDb(): the type of the UT1 inner series has been set to " + str);
6720 "::initSession(): dimensions of AxisTyps and number of stations mismatch");
6722 for (
int i=0; i<n; i++)
6730 "::initSession(): the station # " + QString(
"").setNum(i) +
" is NULL");
6738 "::initSession(): dimensions of AxisOffs and number of stations mismatch");
6740 for (
int i=0; i<n; i++)
6747 "::initSession(): the station # " + QString(
"").setNum(i) +
" is NULL");
6754 "::initSession(): dimensions of AxisTilt and number of stations mismatch");
6756 for (
int i=0; i<n; i++)
6766 "::initSession(): the station # " + QString(
"").setNum(i) +
" is NULL");
6777 "::initSession(): dimensions of EccTypes and number of stations mismatch");
6779 for (
int i=0; i<n; i++)
6793 "::initSession(): cannot figure out Ecc type from the string \"" +
6807 "::initSession(): the station # " + QString(
"").setNum(i) +
" is NULL");
6822 QString clockSiteName(
6824 leftJustified(8,
' '));
6831 "::initSession(): Reference Clock attribute has been assigned to the station " +
6840 QString clockSiteName(
6842 leftJustified(8,
' '));
6849 "::initSession(): Reference Clock attribute has been assigned to the station " +
6856 "::initSession(): no Reference Clock attribute has been found for the session");
6863 int numOfClockBreak=
6866 for (
int i=0; i<numOfClockBreak; i++)
6878 "::initSession(): a clock break at station " + station1Info->
getKey() +
6879 " that occurred on " + epoch.
toString() +
" has been added");
6882 "::initSession(): adding new clock break at " + station1Info->
getKey() +
6883 " station on " + epoch.
toString() +
" has failed");
6887 "::initSession(): cannot find station \"" + station1Name +
6888 "\" in the map of stations, adding a clock break has failed");
6899 for (
int i=0; i<6; i++)
6910 for (
int i=0; i<8; i++)
6922 "::initSession(): dimensions of ErrorBl (" + QString(
"").setNum(
numOfBln_) +
6923 ") and ErrorK (" + QString(
"").setNum(d) +
") lCodes mismatch");
6928 baselineName.replace(
'_',
' ');
6929 baselineName = baselineName.insert(8,
":");
6941 "::initSession(): cannot find baseline \"" + baselineName +
6942 "\" in the map of baselines, cannot set up weight corrections");
6951 for (
int i=0; i<d; i++)
6954 baselineName.replace(
'_',
' ');
6955 baselineName = baselineName.insert(8,
":");
6963 "::initSession(): baseline clocks were corrected for \"" + baselineName +
6964 "\" (missed in BASLSTAT)");
6969 "::initSession(): cannot find baseline \"" + baselineName +
6970 "\" in the map of baselines, cannot set up baseline clocks");
6976 delete []adIndexNum;
6982 delete []adLoRfFreq;
6983 delete []adNumSmpls;
6984 delete []adChAmpPhs;
const SgAgvDatumDescriptor adNumGrAmbg
const SgAgvDatumDescriptor adUserRec
const SgAgvDatumDescriptor adUvf_Asec
const SgAgvDatumDescriptor adEccCoord
const SgAgvDatumDescriptor adSrcIdx
const SgAgvDatumDescriptor adNumAp1
const SgAgvDatumDescriptor adResPhas
const SgAgvDatumDescriptor adSrchPar
const SgAgvDatumDescriptor adFourfCtrl
const SgAgvDatumDescriptor adSitHSOPh
const SgAgvDatumDescriptor adTsys2
const SgAgvDatumDescriptor adWobYcont
const SgAgvDatumDescriptor adExpCode
const SgAgvDatumDescriptor adEccNames
const SgAgvDatumDescriptor adAprDel
const SgAgvDatumDescriptor adResGrDl
const SgAgvDatumDescriptor adAirPress
const SgAgvDatumDescriptor adCf2J2k_1
const SgAgvDatumDescriptor adPhaseFlag
const SgAgvDatumDescriptor adObsCalFlg
const SgAgvDatumDescriptor adStartSec
const SgAgvDatumDescriptor adNumbSta
const SgAgvDatumDescriptor adEtdData
const SgAgvDatumDescriptor adCbrTime
const SgAgvDatumDescriptor adSupMet
const SgAgvDatumDescriptor adEopTab
const SgAgvDatumDescriptor adApByFrq1
const SgAgvDatumDescriptor adDelWcen
const SgAgvDatumDescriptor adAxoCflg
const SgAgvDatumDescriptor adNSampls1
const SgAgvDatumDescriptor adWobLibra
const SgAgvDatumDescriptor adPtdCflg
const SgAgvDatumDescriptor adChanSdb
const SgAgvDatumDescriptor adAtmIntr
const SgAgvDatumDescriptor adAprCloOf
const SgAgvDatumDescriptor adPhDelErr
const SgAgvDatumDescriptor adDerDel
const SgAgvDatumDescriptor adSunCont
const SgAgvDatumDescriptor adPanMess
const SgAgvDatumDescriptor adAprEop
const SgAgvDatumDescriptor adStnCalNam
const SgAgvDatumDescriptor adPhCAmp2
const SgAgvDatumDescriptor adGrDelVal
const SgAgvDatumDescriptor adEffDura
const SgAgvDatumDescriptor adFalseDet
const SgAgvDatumDescriptor adBand2nd
const SgAgvDatumDescriptor adCorBasCd
const SgAgvDatumDescriptor adFrTypFit
const SgAgvDatumDescriptor adTlOfCns
const SgAgvDatumDescriptor adWobCflg
const SgAgvDatumDescriptor adSoCoCns
const SgAgvDatumDescriptor adLoFreq1
const SgAgvDatumDescriptor adNutMess
const SgAgvDatumDescriptor adSrcName
const SgAgvDatumDescriptor adSunData
const SgAgvDatumDescriptor adNumSam2
const SgAgvDatumDescriptor adAprCloRt
const SgAgvDatumDescriptor adPlxMess
const SgAgvDatumDescriptor adHopsVer
const SgAgvDatumDescriptor adApByFrq2
const SgAgvDatumDescriptor adRateFlag
const SgAgvDatumDescriptor adIdelay
const SgAgvDatumDescriptor adCtiMess
const SgAgvDatumDescriptor adWobEpoch
const SgAgvDatumDescriptor adGcMbDel
const SgAgvDatumDescriptor adRfFreq2
const SgAgvDatumDescriptor adGrDelAmbg
const SgAgvDatumDescriptor adCloCns
const SgAgvDatumDescriptor adGrResid
const SgAgvDatumDescriptor adRelCflg
const SgAgvDatumDescriptor adIonDtFlg
const SgAgvDatumDescriptor adPhCFrq1
const SgAgvDatumDescriptor adAirTemp
const SgAgvDatumDescriptor adIonRms
const SgAgvDatumDescriptor adCalcFlgN
const SgAgvDatumDescriptor adFourfCmd
const SgAgvDatumDescriptor adMeteOnTx
const SgAgvDatumDescriptor adConsnRat
const SgAgvDatumDescriptor adUvStaOrd
const SgAgvDatumDescriptor adSiteNames
const SgAgvDatumDescriptor adElev
const SgAgvDatumDescriptor adBandNames
const SgAgvDatumDescriptor adUvCoord
const SgAgvDatumDescriptor adRtResid
const SgAgvDatumDescriptor adOptlCont
const SgAgvDatumDescriptor adSrcCoord
const SgAgvDatumDescriptor adAzimuth
const SgAgvDatumDescriptor adPhCOff2
const SgAgvDatumDescriptor adPolariz1
const SgAgvDatumDescriptor adNumSam1
const SgAgvDatumDescriptor adFut1Pts
const SgAgvDatumDescriptor adOceCflg
const SgAgvDatumDescriptor adAtmInterv
const SgAgvDatumDescriptor adQbFactor
const SgAgvDatumDescriptor adBbcIdx2
const SgAgvDatumDescriptor adIndChn1
const SgAgvDatumDescriptor adNutCflg
const SgAgvDatumDescriptor adCalInfo
const SgAgvDatumDescriptor adSitOcPhs
const SgAgvDatumDescriptor adDaTyp
const SgAgvDatumDescriptor adCalName
const SgAgvDatumDescriptor adAtmMess
const SgAgvDatumDescriptor adPtdCont
const SgAgvDatumDescriptor adTotPhase
const SgAgvDatumDescriptor adDtecSig
const SgAgvDatumDescriptor adThPhRat
const SgAgvDatumDescriptor adAxoCont
const SgAgvDatumDescriptor adPepMess
const SgAgvDatumDescriptor adScanNames
const SgAgvDatumDescriptor adTsys1
const SgAgvDatumDescriptor adPindObs
const SgAgvDatumDescriptor adPimaVer
const SgAgvDatumDescriptor adSitPart
const SgAgvDatumDescriptor adGrDelIonV
const SgAgvDatumDescriptor adRelHumd
const SgAgvDatumDescriptor adOceHorz
const SgAgvDatumDescriptor adResSbDel
const SgAgvDatumDescriptor adUt1Intrp
const SgAgvDatumDescriptor adCorrPlace
const SgAgvDatumDescriptor adAtmConstr
const SgAgvDatumDescriptor adCalSts
const SgAgvDatumDescriptor adNoiseRms
const SgAgvDatumDescriptor adScanPima
const SgAgvDatumDescriptor adObsTab
const SgAgvDatumDescriptor adBasUse
const SgAgvDatumDescriptor adResMbDel
const SgAgvDatumDescriptor adCorVers
const SgAgvDatumDescriptor adThGrDel
const SgAgvDatumDescriptor adThPhDel
const SgAgvDatumDescriptor adPCalCm1
const SgAgvDatumDescriptor adUt1Part
const SgAgvDatumDescriptor adPhCPhs1
const SgAgvDatumDescriptor adNutDer
const SgAgvDatumDescriptor adAzTheo
const SgAgvDatumDescriptor adUvChn1
const SgAgvDatumDescriptor adBbcIdx1
const SgAgvDatumDescriptor adFourfErr
const SgAgvDatumDescriptor adConsnDel
const SgAgvDatumDescriptor adStrMess
const SgAgvDatumDescriptor adAntGain
const SgAgvDatumDescriptor adBendPart
const SgAgvDatumDescriptor adFut1Inf
const SgAgvDatumDescriptor adPCalCm2
const SgAgvDatumDescriptor adMunData
const SgAgvDatumDescriptor adEtdCont
const SgAgvDatumDescriptor adCbrNumber
const SgAgvDatumDescriptor adBsclEst
const SgAgvDatumDescriptor adCableDel
const SgAgvDatumDescriptor adApLength
const SgAgvDatumDescriptor adNwetPart
const SgAgvDatumDescriptor adGrDelErr
const SgAgvDatumDescriptor adAxisTyps
const SgAgvDatumDescriptor adCloIntr
const SgAgvDatumDescriptor adCableSgn
const SgAgvDatumDescriptor adNumAvaBnd
const SgAgvDatumDescriptor adStrPart
const SgAgvDatumDescriptor adGcRate
const SgAgvDatumDescriptor adLoFreq2
const SgAgvDatumDescriptor adResRate
const SgAgvDatumDescriptor adDelWwdt
const SgAgvDatumDescriptor adWobIntrp
const SgAgvDatumDescriptor adNutWahr
const SgAgvDatumDescriptor adUrVr
const SgAgvDatumDescriptor adMeteOnTp
const SgAgvDatumDescriptor adUtcMtai
const SgAgvDatumDescriptor adNobsSta
const SgAgvDatumDescriptor adUt1_tai
const SgAgvDatumDescriptor adGrDelIonE
const SgAgvDatumDescriptor adTilIntr
const SgAgvDatumDescriptor adRateWdt
const SgAgvDatumDescriptor adNaprEop
const SgAgvDatumDescriptor adRwRatVal
const SgAgvDatumDescriptor adErrorK
const SgAgvDatumDescriptor adDtec
const SgAgvDatumDescriptor adResPhRat
const SgAgvDatumDescriptor adAtmCns
const SgAgvDatumDescriptor adOceDeld
const SgAgvDatumDescriptor adGcSbDel
const SgAgvDatumDescriptor adRefClocks
const SgAgvDatumDescriptor adNut06Xyp
const SgAgvDatumDescriptor adInterval4
const SgAgvDatumDescriptor adEtdMess
const SgAgvDatumDescriptor adCorrelatn
const SgAgvDatumDescriptor adDelRate
const SgAgvDatumDescriptor adEopCns
const SgAgvDatumDescriptor adThProg
const SgAgvDatumDescriptor adFeedCor
const SgAgvDatumDescriptor adPolarXy
const SgAgvDatumDescriptor adErrRate1
const SgAgvDatumDescriptor adSrcStatus
const SgAgvDatumDescriptor adPolariz
const SgAgvDatumDescriptor adPCalFr1
const SgAgvDatumDescriptor adBlnClocks
const SgAgvDatumDescriptor adStaClRf
const SgAgvDatumDescriptor adObsCalNam
const SgAgvDatumDescriptor adExpName
const SgAgvDatumDescriptor adTectPlNm
const SgAgvDatumDescriptor adAtmCflg
const SgAgvDatumDescriptor adPlxCflg
const SgAgvDatumDescriptor adStrCflg
const SgAgvDatumDescriptor adMk3DbName
const SgAgvDatumDescriptor adGrRate
const SgAgvDatumDescriptor adRelData
const SgAgvDatumDescriptor adElTheo
const SgAgvDatumDescriptor adTlRtCns
const SgAgvDatumDescriptor adChanId2
const SgAgvDatumDescriptor adCorrType
const SgAgvDatumDescriptor adResGrRat
const SgAgvDatumDescriptor adThRuDat
const SgAgvDatumDescriptor adUt1Ortho
const SgAgvDatumDescriptor adNSampls2
const SgAgvDatumDescriptor adUserSup
const SgAgvDatumDescriptor adNumSrc
const SgAgvDatumDescriptor adStrtOffst
const SgAgvDatumDescriptor adFourUtc
const SgAgvDatumDescriptor adWobPart
const SgAgvDatumDescriptor adTidalUt1
const SgAgvDatumDescriptor adRwBasNam
const SgAgvDatumDescriptor adScanUtc
const SgAgvDatumDescriptor adChanWdt
const SgAgvDatumDescriptor adNdryPart
const SgAgvDatumDescriptor adCtiCflg
const SgAgvDatumDescriptor adCablOnTp
const SgAgvDatumDescriptor adUvChn2
const SgAgvDatumDescriptor adAprPhGc
const SgAgvDatumDescriptor adOceVert
const SgAgvDatumDescriptor adSitHWOPh
const SgAgvDatumDescriptor adNumbObs
const SgAgvDatumDescriptor adUAcSup
const SgAgvDatumDescriptor adAxisTilt
const SgAgvDatumDescriptor adOceMess
const SgAgvDatumDescriptor adPlxPart
const SgAgvDatumDescriptor adStnIdx
const SgAgvDatumDescriptor adCablOnTx
const SgAgvDatumDescriptor adCf2J2k_2
const SgAgvDatumDescriptor adNusedChnl
const SgAgvDatumDescriptor adChanId1
const SgAgvDatumDescriptor adEditSts
const SgAgvDatumDescriptor adFwobInf
const SgAgvDatumDescriptor adAtiMess
const SgAgvDatumDescriptor adCalcFlgV
const SgAgvDatumDescriptor adFourFtVer
const SgAgvDatumDescriptor adNwetCont
const SgAgvDatumDescriptor adWobOrtho
const SgAgvDatumDescriptor adZdelay
const SgAgvDatumDescriptor adOceOld
const SgAgvDatumDescriptor adMjdEop
const SgAgvDatumDescriptor adNumChnBnd
const SgAgvDatumDescriptor adEffFreq
const SgAgvDatumDescriptor adNumbSca
const SgAgvDatumDescriptor adFut1Text
const SgAgvDatumDescriptor adRateCen
const SgAgvDatumDescriptor adNcalib
const SgAgvDatumDescriptor adClkConstr
const SgAgvDatumDescriptor adAprioriAc
const SgAgvDatumDescriptor adStaUse
const SgAgvDatumDescriptor adPlx1pSec
const SgAgvDatumDescriptor adUt1Cflg
const SgAgvDatumDescriptor adPhCPhs2
const SgAgvDatumDescriptor adExpSerNo
const SgAgvDatumDescriptor adIonCorr
const SgAgvDatumDescriptor adNumChnTot
const SgAgvDatumDescriptor adClkInterv
const SgAgvDatumDescriptor adStPsCns
const SgAgvDatumDescriptor adPtdMess
const SgAgvDatumDescriptor adEffFrew
const SgAgvDatumDescriptor adFlyCalNam
const SgAgvDatumDescriptor adSitHWOAm
const SgAgvDatumDescriptor adTheMess
const SgAgvDatumDescriptor adStopOffst
const SgAgvDatumDescriptor adIncohAmp
const SgAgvDatumDescriptor adNut06xys
const SgAgvDatumDescriptor adWobMess
const SgAgvDatumDescriptor adErrRate2
const SgAgvDatumDescriptor adDelayFlag
const SgAgvDatumDescriptor adNumAp2
const SgAgvDatumDescriptor adPhRatIonE
const SgAgvDatumDescriptor adErrorBl
const SgAgvDatumDescriptor adFlybyFlg
const SgAgvDatumDescriptor adAxoMess
const SgAgvDatumDescriptor adTiltRmvr
const SgAgvDatumDescriptor adFwobText
const SgAgvDatumDescriptor adSiteZens
const SgAgvDatumDescriptor adStnCoord
const SgAgvDatumDescriptor adOceCont
const SgAgvDatumDescriptor adConsPart
const SgAgvDatumDescriptor adCtSite1
const SgAgvDatumDescriptor adNut2006a
const SgAgvDatumDescriptor adCiNum1
const SgAgvDatumDescriptor adAprRate
const SgAgvDatumDescriptor adTapQcode
const SgAgvDatumDescriptor adSoCoEst
const SgAgvDatumDescriptor adParangle
const SgAgvDatumDescriptor adQualCodes
const SgAgvDatumDescriptor adCalcVer
const SgAgvDatumDescriptor adExpDesc
const SgAgvDatumDescriptor adFourfFile
const SgAgvDatumDescriptor adEccTypes
const SgAgvDatumDescriptor adStepEop
const SgAgvDatumDescriptor adSamplRate
const SgAgvDatumDescriptor adRfFreq1
const SgAgvDatumDescriptor adNgradPar
const SgAgvDatumDescriptor adNumClRf
const SgAgvDatumDescriptor adOPTLCoef
const SgAgvDatumDescriptor adPtoLdCon
const SgAgvDatumDescriptor adCf2J2k_0
const SgAgvDatumDescriptor adUt1Mess
const SgAgvDatumDescriptor adUtcMtag
const SgAgvDatumDescriptor adOceStat
const SgAgvDatumDescriptor adPiName
const SgAgvDatumDescriptor adStnCalFlg
const SgAgvDatumDescriptor adDiscard
const SgAgvDatumDescriptor adSouUse
const SgAgvDatumDescriptor adAprPhas
const SgAgvDatumDescriptor adSun2cont
const SgAgvDatumDescriptor adUt1Libra
const SgAgvDatumDescriptor adSbDelErr
const SgAgvDatumDescriptor adWobXcont
const SgAgvDatumDescriptor adPhCAmp1
const SgAgvDatumDescriptor adFScanName
const SgAgvDatumDescriptor adAtiCflg
const SgAgvDatumDescriptor adIonoBits
const SgAgvDatumDescriptor adBlnStatus
const SgAgvDatumDescriptor adCorrUtc
const SgAgvDatumDescriptor adConCont
const SgAgvDatumDescriptor adTecSts
const SgAgvDatumDescriptor adSpChWdt
const SgAgvDatumDescriptor adPhRatErr
const SgAgvDatumDescriptor adFwobXnYt
const SgAgvDatumDescriptor adCbrSite
const SgAgvDatumDescriptor adNdryCont
const SgAgvDatumDescriptor adSkyFrqChn
const SgAgvDatumDescriptor adRecMode
const SgAgvDatumDescriptor adRefFreq
const SgAgvDatumDescriptor adStopSec
const SgAgvDatumDescriptor adCorrClock
const SgAgvDatumDescriptor adAxisOffs
const SgAgvDatumDescriptor adDeltaEpo
const SgAgvDatumDescriptor adFrnAmpl
const SgAgvDatumDescriptor adAutoSup
const SgAgvDatumDescriptor adNPhAmb
const SgAgvDatumDescriptor adCbrImjd
const SgAgvDatumDescriptor adIncohAmp2
const SgAgvDatumDescriptor adFrtOffs
const SgAgvDatumDescriptor adMjdObs
const SgAgvDatumDescriptor adPolariz2
const SgAgvDatumDescriptor adNumBands
const SgAgvDatumDescriptor adGcPhase
const SgAgvDatumDescriptor adGrRatErr
const SgAgvDatumDescriptor adIndChn2
const SgAgvDatumDescriptor adPhRatIonV
const SgAgvDatumDescriptor adAxoPart
const SgAgvDatumDescriptor adStarElev
const SgAgvDatumDescriptor adSitHSOAm
const SgAgvDatumDescriptor adPhcRate
const SgAgvDatumDescriptor adEarthCe
const SgAgvDatumDescriptor adGcPhsRes
const SgAgvDatumDescriptor adSrcApRef
const SgAgvDatumDescriptor adPhCOff1
const SgAgvDatumDescriptor adScanDur
const SgAgvDatumDescriptor adPhCFrq2
const SgAgvDatumDescriptor adNumLags
const SgAgvDatumDescriptor adAprioriRt
const SgAgvDatumDescriptor adSitOcAmp
const SgAgvDatumDescriptor adPCalFr2
const SgAgvDatumDescriptor adStPsEst
const SgAgvDatumDescriptor adCrootFnam
const SgAgvDatumDescriptor adSnr
const SgAgvDatumDescriptor adSitMess
const SgAgvDatumDescriptor adDerRat
const SgAgvDatumDescriptor adPtdXyPar
const SgAgvDatumDescriptor adUtcObs
const SgAgvDatumDescriptor adTaiEop
const SgAgvDatumDescriptor adUnPhaseCl
const SgAgvDatumDescriptor adPimaCnt
const SgAgvDatumDescriptor adBitsSampl
const SgAgvDatumDescriptor adDgClEst
const SgAgvDatumDescriptor adEopEst
const SgAgvDatumDescriptor adSbDelVal
const SgAgvDatumDescriptor adEtdCflg
const SgAgvDatumDescriptor adBsclCns
const SgAgvDatumDescriptor adUt1Epoch
const SgAgvDatumDescriptor adPreData
const SgAgvDatumDescriptor adSbResid
const SgAgvDatumDescriptor adAprioriDl
const SgAgvDatumDescriptor adSrtOffs
const SgAgvDatumDescriptor adResPhGc
const SgAgvDatumDescriptor adRwDelVal
const SgAgvDatumDescriptor adMeanCabl
@ ADS_SESSION
session scope
@ ADS_BASELINE
baseline scope
@ ADS_STATION
station scope
const SgMJD tZero(1957, 10, 4)
#define DAY2SEC
radians to mas:
#define RAD2DEG
< radians to degrees:
void evaluateEffectiveFreqs(const SgVector &numOfAccPeriodsByChan_USB, const SgVector &numOfAccPeriodsByChan_LSB, const SgVector &refFreqByChan, const SgVector &fringeAmplitudeByChan, const SgVector &numOfSamplesByChan_USB, const SgVector &numOfSamplesByChan_LSB, double sampleRate, double refFreq, int numOfChannels, double &effFreq4GR, double &effFreq4PH, double &effFreq4RT, const QString &correlatorType, const QString &oId, bool useEqualWeights=false)
double at(DIRECTION i, DIRECTION j) const
double at(DIRECTION i) const
void fillDataStructures(const SgVlbiSession *session, SgAgvDriver *drv)
void importData(QTextStream &ts, SgAgvDriver *drv)
AgvDataType getDataType() const
static QString dataType2str(AgvDataType)
void setDataType(AgvDataType typ)
void setLCode(const QString &lCode)
const QString & getLCode() const
bool getHasMutableScope() const
void setIsUsable(bool is)
const SgAgvDriver * getDriver() const
void setDataScope(AgvDataScope scope)
bool isExpected(AgvContentStyle contentStyle) const
AgvDataScope getDataScope() const
static QString dataScope2str(AgvDataScope)
void setDriver(SgAgvDriver *drv)
void setDescription(const QString &description)
const QString & getValue(int idx2, int idx3, int idx4) const
QString & value(int idx2, int idx3, int idx4)
SgAgvDatumDescriptor * descriptor()
C getValue(int idx1, int idx2, int idx3, int idx4) const
C & value(int idx1, int idx2, int idx3, int idx4)
void digestData(const QList< SgAgvRecord * > *)
SgAgvDatumDescriptor adDelWcen_
SgAgvDatumDescriptor adCbrSite_
SgAgvDatumDescriptor adResSbDel_
SgAgvDatumDescriptor adNcalib_
QMap< QString, int > bndIdxByKey_
SgAgvDatumDescriptor adResPhas_
SgAgvDatumDescriptor adFut1Pts_
void setCalcInfoModelMessNCtrlF(const QString &messLc, const QString &cflgLc, const SgModelsInfo::DasModel &model)
SgAgvDatumDescriptor adEffFrew_
SgAgvDatumDescriptor adUserRec_
QMap< int, int > numOfObsBySidx_
SgAgvDatumDescriptor adCalcFlgN_
SgAgvDatumDescriptor adAtiCflg_
SgAgvDatumDescriptor adSitHSOAm_
SgAgvDatumDescriptor adPhRatErr_
QMap< QString, SgAgvDatumDescriptor * > & datumByKey()
void getCalcInfoModelMessNCtrlF(const QString &messLc, const QString &cflgLc, SgModelsInfo::DasModel &model)
SgAgvDatumDescriptor adAtmConstr_
QMap< QString, SgAgvDatum< int > * > i4Data_
SgAgvDatumDescriptor adSitMess_
SgAgvDatumDescriptor adRelCflg_
SgAgvDatumDescriptor adDelWwdt_
SgAgvDatumDescriptor adSrtOffs_
SgAgvDatumDescriptor adFourUtc_
SgAgvDatumDescriptor adEtdCont_
SgAgvDatumDescriptor adWobPart_
SgAgvDatumDescriptor adClkConstr_
void allocateFuzzyDescriptors()
SgAgvDatumDescriptor adAutoSup_
SgAgvDatumDescriptor * adPhcPhs_
SgAgvDatumDescriptor adAprPhGc_
SgAgvDatumDescriptor adIndChn2_
SgAgvDatumDescriptor adWobLibra_
SgAgvDatumDescriptor adSitHSOPh_
SgAgvDatumDescriptor adLoFreq2_
static bool doubleVal(const QString &content, QString &lCode, int &d1, int &d2, int &d3, int &d4, double &val)
SgAgvDatumDescriptor adIonDtFlg_
SgAgvDatumDescriptor adPlxCflg_
SgAgvDatumDescriptor adMk3DbName_
bool insertDatum(QMap< QString, SgAgvDatumDescriptor * > &datumByKey, SgAgvDatumDescriptor *dd)
SgAgvDatumDescriptor adExpName_
SgAgvDatumDescriptor adStarElev_
SgAgvDatumDescriptor adNaprEop_
SgAgvDatumDescriptor adScanNames_
static bool intValNoRegEx(const QString &content, int &d1, int &d2, int &d3, int &d4, int &val)
SgAgvDatumDescriptor adExpDesc_
SgAgvDatumDescriptor adAxoCflg_
SgAgvDatumDescriptor adEopTab_
SgAgvDatumDescriptor adNumbSta_
QList< QString > stnNames_
SgAgvDatumDescriptor adWobIntrp_
SgAgvDatumDescriptor adSupMet_
SgAgvDatumDescriptor adErrRate1_
SgAgvDatumDescriptor adFrtOffs_
SgAgvDatumDescriptor adSitPart_
SgAgvDatumDescriptor adAtmIntr_
void createDatum(SgAgvDatumDescriptor *dd)
SgAgvDatumDescriptor adCalSts_
SgAgvDatumDescriptor adQbFactor_
SgAgvDatumDescriptor adNutWahr_
SgAgvDatumDescriptor adAtmCns_
SgAgvDatumDescriptor adPhCAmp1_
QString data2str(SgAgvDatumDescriptor *dd, int idx1, int idx2, int idx3, int idx4)
SgAgvDatumDescriptor adTsys1_
const QString & path2File() const
SgAgvDatumDescriptor adNSampls1_
static bool sintVal(const QString &content, QString &lCode, int &d1, int &d2, int &d3, int &d4, short int &val)
SgAgvDatumDescriptor adApByFrq2_
SgAgvDatumDescriptor adStepEop_
SgAgvDatumDescriptor adErrorBl_
SgAgvDriver(const SgIdentities *ids, const SgVersion *dv)
SgAgvDatumDescriptor adWobEpoch_
SgAgvDatumDescriptor adPCalFr2_
SgAgvDatumDescriptor adAprioriAc_
QMap< QString, SgAgvDatumString * > c1Data_
SgAgvDatumDescriptor adGcPhase_
SgAgvDatumDescriptor adBendPart_
SgAgvDatumDescriptor adRateWdt_
SgAgvDatumDescriptor adRelData_
SgAgvDatumDescriptor adRfFreq2_
SgAgvDatumDescriptor adErrRate2_
SgAgvDatumDescriptor adNumChnBnd_
bool importData(const QString &fileName)
SgAgvDatumDescriptor adEarthCe_
SgAgvDatumDescriptor adAprCloOf_
SgAgvDatumDescriptor adFlyCalNam_
SgAgvDatumDescriptor adOptlCont_
SgAgvDatumDescriptor adIonCorr_
SgAgvDatumDescriptor adPhaseFlag_
SgAgvDatumDescriptor adGrDelErr_
QMap< QString, SgAgvDatum< float > * > r4Data_
static bool lintValNoRegEx(const QString &content, int &d1, int &d2, int &d3, int &d4, long int &val)
SgAgvDatumDescriptor adAprRate_
SgAgvDatumDescriptor adPreData_
SgAgvDatumDescriptor adBitsSampl_
SgAgvDatumDescriptor adConsnDel_
SgAgvDatumDescriptor adSitHWOAm_
SgAgvDatumDescriptor adRelHumd_
SgAgvDatumDescriptor adAxoPart_
SgAgvDatumDescriptor adScanPima_
SgAgvDatumDescriptor adFourfCmd_
SgAgvDatumDescriptor adEffDura_
SgAgvDatumDescriptor adFalseDet_
SgAgvDatumDescriptor adConCont_
SgAgvDatumDescriptor adSiteNames_
SgAgvDatumDescriptor adFlybyFlg_
SgAgvDatumDescriptor adDeltaEpo_
AgvContentStyle expectedStyle_
SgAgvDatumDescriptor adThPhDel_
SgAgvDatumDescriptor adSnr_
SgAgvDatumDescriptor adNumGrAmbg_
SgAgvDatumDescriptor * adIndexNum_
SgAgvDatumDescriptor adFwobXnYt_
SgAgvDatumDescriptor adEccCoord_
SgAgvDatumDescriptor adFourfErr_
SgAgvDatumDescriptor adObsCalNam_
SgAgvDatumDescriptor adOceCflg_
bool exportData(const QString &path2File, const QString &fileName)
SgAgvDatumDescriptor adPCalFr1_
SgAgvDatumDescriptor adSrcStatus_
SgAgvDatumDescriptor adUt1Part_
SgAgvDatumDescriptor adPimaCnt_
SgAgvDatumDescriptor adOPTLCoef_
SgAgvDatumDescriptor * adLoRfFreq_
SgAgvDatumDescriptor adBbcIdx1_
QMap< QString, SgAgvDatumDescriptor * > mandatoryDatumByKey_
SgAgvDatumDescriptor adAxisTilt_
SgAgvDatumDescriptor adPindObs_
QList< SgAgvDatumDescriptor * > knownKeys_
SgAgvDatumDescriptor adDtecSig_
SgAgvDatumDescriptor * adPolarz_
SgAgvDatumDescriptor adPimaVer_
SgAgvDatumDescriptor adGrResid_
SgAgvDatumDescriptor adAirTemp_
SgAgvDatumDescriptor adBandNames_
SgAgvDatumDescriptor adPanMess_
QVector< int > scanIdxByObsIdx_
SgAgvDatumDescriptor adNoiseRms_
SgAgvDatumDescriptor adFwobInf_
static bool intVal(const QString &content, QString &lCode, int &d1, int &d2, int &d3, int &d4, int &val)
SgAgvDatumDescriptor adPlxPart_
static bool strValNoRegEx(const QString &content, int &d1, int &d2, int &d3, int &d4, QString &val)
SgAgvDatumDescriptor adAntGain_
SgAgvDatumDescriptor adEffFreq_
SgAgvDatumDescriptor adRwBasNam_
SgAgvDatumDescriptor adAxoCont_
SgAgvDatumDescriptor adTlRtCns_
SgAgvDatumDescriptor adCloCns_
SgAgvDatumDescriptor adSitHWOPh_
SgAgvDatumDescriptor adGrDelAmbg_
SgAgvDatumDescriptor * adChAmpPhs_
SgAgvDatumDescriptor adCalInfo_
SgAgvDatumDescriptor adNumClRf_
SgAgvDatumDescriptor adOceDeld_
SgAgvDatumDescriptor adTectPlNm_
SgAgvDatumDescriptor adElev_
SgAgvDatumDescriptor adPhRatIonE_
SgAgvDatumDescriptor adCalcFlgV_
SgAgvDatumDescriptor adPolariz1_
SgAgvDatumDescriptor adResMbDel_
SgAgvDatumDescriptor adCbrImjd_
SgAgvDatumDescriptor adDgClEst_
SgAgvDatumDescriptor adIncohAmp_
QList< QString > scanFullNames_
SgAgvDatumDescriptor * adPhcFrq_
SgAgvDatumDescriptor adOceVert_
SgAgvDatumDescriptor adFourFtVer_
SgAgvDatumDescriptor adWobXcont_
SgAgvDatumDescriptor adUt1Epoch_
SgAgvDatumDescriptor adHopsVer_
SgAgvDatumDescriptor adChanId1_
SgAgvDatumDescriptor adOceMess_
static bool floatValNoRegEx(const QString &content, int &d1, int &d2, int &d3, int &d4, float &val)
SgAgvDatumDescriptor adClkInterv_
SgAgvDatumDescriptor adGcRate_
SgAgvDatumDescriptor adFut1Inf_
SgAgvDatumDescriptor adSoCoCns_
SgAgvDatumDescriptor adRefClocks_
SgAgvDatumDescriptor adIndChn1_
SgAgvDatumDescriptor adApByFrq1_
SgAgvDatumDescriptor adScanUtc_
SgAgvDatumDescriptor adBsclEst_
SgAgvDatumDescriptor adPhCFrq2_
SgAgvDatumDescriptor adCrootFnam_
SgAgvDatumDescriptor adPhCOff2_
SgAgvDatumDescriptor adCorrType_
SgAgvDatumDescriptor adSrcApRef_
SgAgvDatumDescriptor adNumAp1_
SgAgvDatumDescriptor adTaiEop_
SgAgvDatumDescriptor adMunData_
SgAgvDatumDescriptor adUtcMtag_
static bool strVal(const QString &content, QString &lCode, int &d1, int &d2, int &d3, int &d4, QString &val)
SgAgvDatumDescriptor adCf2J2k_0_
SgAgvDatumDescriptor adThRuDat_
SgAgvDatumDescriptor adNut2006a_
QMap< QString, int > stnIdxByKey_
SgAgvDatumDescriptor adResPhGc_
SgAgvDatumDescriptor * adNumOfAp_
SgAgvDatumDescriptor adCbrNumber_
SgAgvDatumDescriptor adStPsCns_
SgAgvDatumDescriptor adBlnClocks_
SgAgvDatumDescriptor adRateCen_
SgAgvDatumDescriptor adGrRate_
SgAgvDatumDescriptor adSrchPar_
SgAgvDatumDescriptor adNumbObs_
SgAgvDatumDescriptor adQualCodes_
QMap< QString, int > srcIdxByKey_
SgAgvDatumDescriptor adRwDelVal_
SgAgvDatumDescriptor adNdryCont_
SgAgvDatumDescriptor adSunCont_
SgAgvDatumDescriptor adSunData_
SgAgvDatumDescriptor adUt1_tai_
SgAgvDatumDescriptor adSbDelVal_
SgAgvDatumDescriptor adBbcIdx2_
QMap< QString, SgAgvDatum< long int > * > i8Data_
SgAgvDatumDescriptor * adBbcIdx_
SgAgvDatumDescriptor adNutDer_
SgAgvDatumDescriptor adStopOffst_
static bool floatVal(const QString &content, QString &lCode, int &d1, int &d2, int &d3, int &d4, float &val)
SgAgvDatumDescriptor adSbResid_
SgAgvDatumDescriptor adUtcObs_
SgAgvDatumDescriptor adGrDelIonV_
SgAgvDatumDescriptor adIncohAmp2_
SgAgvDatumDescriptor adAprDel_
SgAgvDatumDescriptor adBasUse_
SgAgvDatumDescriptor adTotPhase_
SgAgvDatumDescriptor adNwetCont_
SgAgvDatumDescriptor adCtiMess_
SgAgvDatumDescriptor adTecSts_
SgAgvDatumDescriptor adPhDelErr_
SgAgvDatumDescriptor adSpChWdt_
SgAgvDatumDescriptor adObsCalFlg_
SgAgvDatumDescriptor adChanWdt_
SgAgvDatumDescriptor adUtcMtai_
SgAgvDatumDescriptor adRwRatVal_
SgAgvDatumDescriptor adEccTypes_
SgAgvDatumDescriptor * adPhcAmp_
SgAgvDatumDescriptor adFourfFile_
SgAgvDatumDescriptor adCtSite1_
SgAgvDatumDescriptor adPhCAmp2_
SgAgvDatumDescriptor adStrCflg_
SgAgvDatumDescriptor adUt1Intrp_
SgAgvDatumDescriptor adGcMbDel_
SgAgvDatumDescriptor adTidalUt1_
SgAgvDatumDescriptor adUt1Ortho_
SgAgvDatumDescriptor adAtiMess_
SgAgvDatumDescriptor adSitOcPhs_
SgAgvDatumDescriptor adStnCalNam_
SgAgvDatumDescriptor adGrDelIonE_
SgAgvDatumDescriptor adNumbSca_
SgAgvDatumDescriptor adPolariz_
SgAgvDatumDescriptor adGcSbDel_
QList< QString > scanNames_
SgAgvDatumDescriptor adCalcVer_
SgAgvDatumDescriptor adStrMess_
SgAgvDatumDescriptor adPhRatIonV_
SgAgvDatumDescriptor adElTheo_
SgAgvDatumDescriptor adCalName_
SgAgvDatumDescriptor adBsclCns_
SgAgvDatumDescriptor adAxisTyps_
QList< SgAgvDatumDescriptor * > fuzzyDescriptors_
SgAgvDatumDescriptor adSitOcAmp_
SgAgvDatumDescriptor adNut06xys_
SgAgvDatumDescriptor adCbrTime_
SgAgvDatumDescriptor adPhcRate_
SgAgvDatumDescriptor adPCalCm2_
SgAgvDatumDescriptor adUvChn2_
static QString className()
const QString & fileName() const
SgAgvDatumDescriptor adPtoLdCon_
SgAgvDatumDescriptor adCtiCflg_
SgAgvDatumDescriptor adEopCns_
SgAgvDatumDescriptor adAzTheo_
SgAgvDatumDescriptor adUt1Libra_
SgAgvDatumDescriptor adEtdData_
SgAgvDatumDescriptor adNumBands_
SgAgvDatumDescriptor adResRate_
SgAgvDatumDescriptor * adErrRate_
SgAgvDatumDescriptor adPCalCm1_
SgAgvDatumDescriptor adNutMess_
SgAgvDatumDescriptor adAprCloRt_
SgAgvDatumDescriptor adCorVers_
SgAgvDatumDescriptor adSkyFrqChn_
SgAgvDatumDescriptor adNumSrc_
SgAgvDatumDescriptor * adPhcOff_
SgAgvDatumDescriptor adThProg_
SgAgvDatumDescriptor adNobsSta_
SgAgvDatumDescriptor adNgradPar_
SgAgvDatumDescriptor adAirPress_
SgAgvDatumDescriptor adNutCflg_
QList< QString > crootFileNames_
SgAgvDatumDescriptor adCorrPlace_
SgAgvDatumDescriptor adFeedCor_
SgAgvDatumDescriptor adWobYcont_
SgAgvDatumDescriptor adInterval4_
SgAgvDatumDescriptor * adRfFreq_
SgAgvDatumDescriptor adAprEop_
SgAgvDatumDescriptor adAtmInterv_
SgAgvDatumDescriptor adDaTyp_
SgAgvDatumDescriptor adEtdMess_
SgAgvDatumDescriptor adPhCOff1_
SgAgvDatumDescriptor adUAcSup_
SgAgvDatumDescriptor adMjdObs_
SgAgvDatumDescriptor adResGrRat_
SgAgvDatumDescriptor adFwobText_
SgAgvDatumDescriptor adFrTypFit_
QMap< QString, SgAgvDatum< short int > * > i2Data_
SgAgvDatumDescriptor adNumSam1_
SgAgvDatumDescriptor adStPsEst_
QList< QString > scanSrcNames_
SgAgvDatumDescriptor adGcPhsRes_
SgAgvDatumDescriptor adPlx1pSec_
SgAgvDatumDescriptor adSbDelErr_
SgAgvDatumDescriptor adConsPart_
SgAgvDatumDescriptor adWobOrtho_
SgAgvDatumDescriptor adCorrelatn_
SgAgvDatumDescriptor adNdryPart_
static bool lintVal(const QString &content, QString &lCode, int &d1, int &d2, int &d3, int &d4, long int &val)
SgAgvDatumDescriptor adDerRat_
SgAgvDatumDescriptor adRtResid_
SgAgvDatumDescriptor adPtdXyPar_
SgAgvDatumDescriptor adAprioriRt_
SgAgvDatumDescriptor adEopEst_
SgAgvDatumDescriptor adUvStaOrd_
SgAgvDatumDescriptor adDelayFlag_
SgAgvDatumDescriptor adIdelay_
SgAgvDatumDescriptor * adChanId_
SgAgvDatumDescriptor adAxisOffs_
SgAgvDatumDescriptor adScanDur_
QMap< QString, int > numOfObsByStn_
SgAgvDatumDescriptor adZdelay_
SgAgvDatumDescriptor adSouUse_
SgAgvDatumDescriptor adFScanName_
SgAgvDatumDescriptor adLoFreq1_
SgAgvDatumDescriptor adAprioriDl_
SgAgvDatumDescriptor adPepMess_
SgAgvDatumDescriptor adFourfCtrl_
SgAgvDatumDescriptor adPtdCont_
SgAgvDatumDescriptor adDtec_
SgAgvDatumDescriptor adExpCode_
SgAgvDatumDescriptor adOceOld_
SgAgvDatumDescriptor adTsys2_
SgAgvDatumDescriptor adPhCPhs1_
SgAgvDatumDescriptor adGrRatErr_
SgAgvDatumDescriptor adResGrDl_
SgAgvDatumDescriptor adSiteZens_
SgAgvDatumDescriptor adCablOnTp_
SgAgvDatumDescriptor adAtmCflg_
SgAgvDatumDescriptor adSrcIdx_
QMap< QString, SgMJD > epochByScanFullName_
SgAgvDatumDescriptor adStaUse_
SgAgvDatumDescriptor adParangle_
SgAgvDatumDescriptor adSamplRate_
SgAgvDatumDescriptor adStopSec_
SgAgvDatumDescriptor adPhCFrq1_
SgAgvDatumDescriptor adNumAp2_
SgAgvDatumDescriptor adOceCont_
SgAgvDatumDescriptor adIonRms_
void figureOutImplicitDimensions(const QList< SgAgvRecord * > *)
SgAgvDatumDescriptor adStrPart_
SgAgvDatumDescriptor adCablOnTx_
SgAgvDatumDescriptor adMjdEop_
SgAgvDatumDescriptor adChanId2_
SgAgvDatumDescriptor adNumAvaBnd_
SgAgvDatumDescriptor adCf2J2k_1_
SgAgvDatumDescriptor adChanSdb_
AgvContentStyle getExpectedStyle() const
SgAgvDatumDescriptor adPtdMess_
SgAgvDatumDescriptor adPolarXy_
SgAgvDatumDescriptor adOceHorz_
QMap< QString, int > numOfChansByBand_
SgAgvDatumDescriptor adUt1Mess_
SgAgvDatumDescriptor adNSampls2_
SgAgvDatumDescriptor adPtdCflg_
SgAgvDatumDescriptor adPolariz2_
SgAgvDatumDescriptor adCf2J2k_2_
virtual const QList< QString > listOfInputFiles() const
SgAgvDatumDescriptor adCorrClock_
SgAgvDatumDescriptor adConsnRat_
SgAgvDatumDescriptor adBlnStatus_
SgAgvDatumDescriptor adUvf_Asec_
SgAgvDatumDescriptor adThGrDel_
SgAgvDatumDescriptor adCorBasCd_
SgAgvDatumDescriptor adObsTab_
SgAgvDatumDescriptor adUserSup_
QMap< QString, SgAgvDatum< double > * > r8Data_
SgAgvDatumDescriptor adPiName_
SgAgvDatumDescriptor adWobMess_
static bool sintValNoRegEx(const QString &content, int &d1, int &d2, int &d3, int &d4, short int &val)
SgAgvDatumDescriptor adPlxMess_
SgAgvDatumDescriptor adStrtOffst_
SgAgvDatumDescriptor adNumSam2_
SgAgvDatumDescriptor adTlOfCns_
SgAgvDatumDescriptor adNut06Xyp_
SgAgvDatumDescriptor adUt1Cflg_
SgAgvDatumDescriptor adGrDelVal_
void lookupFuzzyDescriptor(const QString &lc, int bndIdx, const QList< QString > &bandNames, SgAgvDatumDescriptor *&dd, bool doCheckNumOfChannels, unsigned int expectedStyles)
SgAgvDatumDescriptor adSoCoEst_
SgAgvDatumDescriptor adStnCoord_
SgAgvDatumDescriptor adEditSts_
SgAgvDatumDescriptor adEccNames_
SgAgvDatumDescriptor adUvCoord_
SgAgvDatumDescriptor adDiscard_
SgAgvDatumDescriptor adCloIntr_
SgAgvDatumDescriptor adAprPhas_
SgAgvDatumDescriptor adSrcName_
SgAgvDatumDescriptor adIonoBits_
QMap< QString, SgAgvDatumDescriptor * > datumByKey_
static bool doubleValNoRegEx(const QString &content, int &d1, int &d2, int &d3, int &d4, double &val)
SgAgvDatumDescriptor adUvChn1_
SgAgvDatumDescriptor adNwetPart_
SgAgvDatumDescriptor adRefFreq_
SgAgvDatumDescriptor adNusedChnl_
SgAgvDatumDescriptor adPhCPhs2_
SgAgvDatumDescriptor adRateFlag_
SgAgvDatumDescriptor adExpSerNo_
SgAgvDatumDescriptor adStartSec_
SgAgvDatumDescriptor adStnIdx_
SgAgvDatumDescriptor adDelRate_
SgAgvDatumDescriptor adCorrUtc_
SgAgvDatumDescriptor * adNumSmpls_
SgAgvDatumDescriptor adAxoMess_
SgAgvDatumDescriptor adBand2nd_
SgAgvDatumDescriptor adSrcCoord_
SgAgvDatumDescriptor adMeanCabl_
SgAgvDatumDescriptor adMeteOnTx_
SgAgvDatumDescriptor adApLength_
SgAgvDatumDescriptor adRfFreq1_
SgAgvDatumDescriptor adErrorK_
SgAgvDatumDescriptor adMeteOnTp_
SgAgvDatumDescriptor adFut1Text_
SgAgvDatumDescriptor adNPhAmb_
void checkCollectedDescriptors()
SgAgvDatumDescriptor adCableDel_
SgAgvDatumDescriptor adDerDel_
SgAgvDatumDescriptor adUrVr_
SgAgvDatumDescriptor adTilIntr_
void fillDataStructures()
SgAgvDatumDescriptor adRecMode_
SgAgvDatumDescriptor adNumChnTot_
SgAgvDatumDescriptor adOceStat_
SgAgvDatumDescriptor adTheMess_
SgAgvDatumDescriptor adFrnAmpl_
SgAgvDatumDescriptor adWobCflg_
SgAgvDatumDescriptor * adIndChn_
SgAgvDatumDescriptor adUnPhaseCl_
SgAgvDatumDescriptor adResPhRat_
SgAgvDatumDescriptor adCiNum1_
SgAgvDatumDescriptor adEtdCflg_
SgAgvDatumDescriptor adSun2cont_
SgAgvDatumDescriptor adThPhRat_
static bool getContentIdxs(const QString &str, int &d1, int &d2, int &d3, int &d4)
SgAgvDatumDescriptor adNumLags_
SgAgvDatumDescriptor adCableSgn_
SgAgvDatumDescriptor adAzimuth_
void digestDataNoRegEx(const QList< SgAgvRecord * > *)
SgAgvDatumDescriptor adTapQcode_
SgAgvDatumDescriptor adStnCalFlg_
SgAgvDatumDescriptor adTiltRmvr_
SgAgvDatumDescriptor adAtmMess_
SgAgvDatumDescriptor adStaClRf_
bool isAttr(uint a) const
bool addBreak(const SgMJD &t, double a0=0.0, double a1=0.0, double a2=0.0, bool isDynamic=false)
void setDR(const Sg3dVector &)
const QString & getCdpNumber() const
EccType getEccType() const
const Sg3dVector & getDR() const
void setCdpNumber(const QString &)
void setMachineMachineName(const QString &)
void setAcAbbrevName(const QString &)
void setAcFullName(const QString &)
void setCurrentDir(const QString &)
void setAcAbbName(const QString &)
void setMachineNodeName(const QString &)
void setMachineRelease(const QString &)
void setUserDefaultInitials(const QString &)
void setUserEmailAddress(const QString &)
void setExecBinaryName(const QString &)
void setMachineSysName(const QString &)
void setUserName(const QString &)
void setExecDir(const QString &)
const SgMJD & getDateOfCreation() const
SgIdentities * inputIdentities_
virtual void write(LogLevel, quint32, const QString &, bool=false)
void setTime(double dTime)
@ F_INTERNAL
Digits, date and time: 20100402.71.
QString toString(Format format=F_Verbose) const
void toYMDHMS_tr(int &nYear, int &nMonth, int &nDay, int &nHour, int &nMin, double &dSec) const
static SgMJD currentMJD()
static void MJD_reverse(int date, double time, int &nYear, int &nMonth, int &nDay, int &nHour, int &nMin, double &dSec)
unsigned int nRow() const
void setElement(unsigned int i, unsigned int j, double d)
double getElement(unsigned int i, unsigned int j) const
double getPressure() const
void setRelativeHumidity(double rho)
double getTemperature() const
void setTemperature(double t)
void setPressure(double p)
double getRelativeHumidity() const
void setDefinition(const QString &def)
const QString & getDefinition() const
void setOrigin(const QString &orig)
const QString & getOrigin() const
const QString & getControlFlag() const
void setControlFlag(const QString &flag)
void prepareWobInterpData(int nRow)
double getPrecessionData() const
QList< SgVlbiStationInfo * > & stations()
DasModel & ut1Interpolation()
QList< QString > & oLoadStationStatus()
SgMatrix *& wobInterpData()
void setDversion(double d)
short getFlagTidalUt1() const
DasModel & coordinateTime()
double getRelativityData() const
QList< QString > & controlFlagNames()
void setEarthTideData(int i, double d)
void setFlagTidalUt1(short f)
QList< double > & siteZenDelays()
SgMatrix *& ut1InterpData()
DasModel & oceanLoading()
DasModel & polarMotionInterpolation()
void setPrecessionData(double d)
void prepareUt1InterpData(int nRow)
double getDversion() const
QList< int > & controlFlagValues()
double getEarthTideData(int i) const
void setRelativityData(double d)
void setKey(const QString &key)
void incNumTotal(DataType, int=1)
double getSigma2add(DataType) const
const QString & getKey() const
void setSigma2add(DataType dType, double d)
int numTotal(DataType dType) const
virtual void setMediaIdx(int idx)
virtual void setMJD(const SgMJD &)
@ Attr_NOT_VALID
omit the observation;
@ Attr_PROCESSED
the observation has been processed;
const SgMJD & getEpoch4Export() const
@ Attr_DYNAMIC
parameters supposed to be estimated during the common solution;
double getPwlStep() const
double getPwlAPriori() const
void setPwlStep(double s)
void setPwlAPriori(double)
bool getUseSolveObsSuppresionFlags() const
void setElement(unsigned int i, double d)
double getElement(unsigned int i) const
double getDrat_dAxsOfs() const
void setOcnLdV(const Sg3dVector &v)
double getCalcAxisOffset4Rate() const
void setCableCalibration(double cable)
void setDdel_dAxsOfs(double v)
void setAzimuthAngle(double angle)
void setDdel_dTzdDry(double v)
double getDdel_dTzdGrdN() const
double getCableCalibration() const
double getCalcOLoadHorz4Delay() const
double getCalcOLoadVert4Rate() const
double getCalcAxisOffset4Delay() const
void setCalcNwetCont4Delay(double v)
double getCalcOLoadVert4Delay() const
double getElevationAngle() const
double getDrat_dTzdWet() const
double getCalcNwetCont4Delay() const
void setCalcNdryCont4Delay(double v)
void setDrat_dTzdWet(double v)
const Sg3dVector & getOcnLdR() const
void setCalcOLoadHorz4Delay(double v)
void setCalcOLoadHorz4Rate(double v)
void setDdel_dTzdGrdE(double v)
SgMeteoData & meteoData()
double getElevationAngleRate() const
void setAzimuthAngleRate(double rate)
void setCalcOLoadVert4Rate(double v)
void setDrat_dTzdGrdE(double v)
void setDrat_dAxsOfs(double v)
void setParallacticAngle(double angle)
double getDrat_dTzdGrdN() const
double getCalcNdryCont4Rate() const
double getCalcNdryCont4Delay() const
void setDdel_dTzdGrdN(double v)
void setCalcOLoadVert4Delay(double v)
void setCalcAxisOffset4Delay(double v)
void setDrat_dTzdGrdN(double v)
double getParallacticAngle() const
double getDdel_dTzdWet() const
void setOcnLdR(const Sg3dVector &r)
double getCalcNwetCont4Rate() const
void setCalcNwetCont4Rate(double v)
void setElevationAngle(double angle)
void setElevationAngleRate(double rate)
double getAzimuthAngle() const
double getDrat_dTzdDry() const
void setCalcNdryCont4Rate(double v)
double getDdel_dTzdDry() const
void setDdel_dTzdWet(double v)
void setDrat_dTzdDry(double v)
double getAzimuthAngleRate() const
double getDdel_dAxsOfs() const
double getDrat_dTzdGrdE() const
void setCalcAxisOffset4Rate(double v)
double getCalcOLoadHorz4Rate() const
double getDdel_dTzdGrdE() const
const Sg3dVector & getOcnLdV() const
void setFrequency(double f)
void setTCreation(const SgMJD &t)
QMap< QString, SgVlbiBaselineInfo * > & baselinesByName()
QMap< QString, SgVlbiStationInfo * > & stationsByName()
void setInputFileName(const QString &fileName)
void setInputFileVersion(int version)
QMap< int, SgVlbiBaselineInfo * > & baselinesByIdx()
QMap< QString, SgVlbiSourceInfo * > & sourcesByName()
QMap< int, SgVlbiSourceInfo * > & sourcesByIdx()
SgVlbiHistory & history()
QMap< int, SgVlbiStationInfo * > & stationsByIdx()
const QString & getCorrelatorType() const
@ Attr_HAS_IONO_SOLUTION
the band contains ionospheric corrections;
@ Attr_ESTIMATE_CLOCKS
estimate baseline clocks;
@ Attr_NOT_VALID
omit the baseline;
void setAmbiguitySpacing(double)
double getEffFreq() const
double getGeocenterValue() const
void setEffFreqEqWgt(double)
short int getUnweightFlag() const
void setIonoSigma(double)
double getAmbiguitySpacing() const
void setNumOfAmbiguities(int)
void setIonoValue(double)
int getNumOfAmbiguities() const
double getIonoValue() const
void setResidualFringeFitting(double r)
double getEffFreqEqWgt() const
void setGeocenterValue(double)
double getResidualFringeFitting() const
void setUnweightFlag(short int)
double getIonoSigma() const
QVector< int > * corelIndexNumLSB()
void setEpochOfCorrelation(const SgMJD &)
const QString & getFourfitOutputFName() const
void setNumOfChannels(int)
void setEpochCentral(const SgMJD &)
double getUvFrPerAsec(int i) const
double getPhaseCalGrDelays(int i) const
void setBitsPerSample(int bps)
int getQualityFactor() const
void setTstart(const SgMJD &t)
void setCorrClocks(int i, int j, double d)
void setTotalPhase(double)
void setHopsRevisionNumber(int num)
const SgMJD & getEpochOfCorrelation() const
void setPhaseCalGrDelays(int i, double d)
double getSampleRate() const
QVector< char > * polarization_1ByChan()
double getInstrDelay(int i) const
SgVector * loFreqByChan_1()
QVector< char > * chanIdByChan()
void setIncohSegmAddAmp(double d)
QVector< int > * corelIndexNumUSB()
double getFourfitSearchParameters(int i) const
int getNumOfChannels() const
const QString & getTapeQualityCode() const
SgMatrix * phaseCalData_2ByChan()
void setAcceptedRatio(double d)
const QString & getErrorCode() const
const SgMJD & getEpochOfScan() const
void setTstop(const SgMJD &t)
double getIncohChanAddAmp() const
void setEpochOfFourfitting(const SgMJD &)
SgVlbiObservation * owner()
SgVector * numOfAccPeriodsByChan_LSB()
double getAcceptedRatio() const
void setIncohChanAddAmp(double d)
const SgMJD & getEpochOfFourfitting() const
double getCalcFeedCorrDelay() const
void setCentrOffset(double offset)
double getProbabOfFalseDetection() const
void setEffIntegrationTime(double d)
void setFourfitOutputFName(const QString &)
QVector< char > * polarization_2ByChan()
SgVector * numOfAccPeriodsByChan_USB()
QVector< int > * bbcIdxByChan_1()
void setFourfitControlFile(const QString &cf)
SgVlbiMeasurement & phDRate()
void setGeocenterResidPhase(double d)
void setCorrelStarElev_2(double v)
void setProbabOfFalseDetection(double d)
void setQualityFactor(int)
double getCorrelZdelay_1() const
double getGeocenterTotalPhase() const
void setGeocenterTotalPhase(double d)
double getEffIntegrationTime() const
const SgMJD & getTstop() const
void setDiscardRatio(double d)
double getCorrClocks(int i, int j) const
SgVector * fringeAmplitudeByChan()
void setCorrCoeff(double)
void setEpochOfScan(const SgMJD &)
void setUrVr(int i, double d)
void setCorrelZdelay_1(double v)
int getStartOffset() const
double getUrVr(int i) const
double getCentrOffset() const
SgVector * numOfSamplesByChan_LSB()
double getAprioriDra(int i) const
void setAprioriDra(int i, double d)
void setInstrDelay(int i, double d)
double getCorrelStarElev_2() const
double getDiscardRatio() const
double getTotalPhase() const
void setStopOffset(int offset)
int getHopsRevisionNumber() const
int getFourfitVersion(int idx) const
const QString & getFourfitControlFile() const
double getIncohSegmAddAmp() const
int getStopOffset() const
void setUvFrPerAsec(int i, double d)
void setErrorCode(const QString &)
SgMatrix * phaseCalData_1ByChan()
const QString & getBandKey() const
SgVector * numOfSamplesByChan_USB()
void setFourfitCommandOverride(const QString &co)
const QString & getFourfitCommandOverride() const
void setReferenceFrequency(double)
double getPhaseCalRates(int i) const
void setCorrelZdelay_2(double v)
double getCalcFeedCorrRate() const
double getReferenceFrequency() const
void allocateChannelsSetupStorages(int numOfChans)
SgVlbiMeasurement & phDelay()
void setTapeQualityCode(const QString &code)
double getCorrelStarElev_1() const
int getBitsPerSample() const
void setCalcFeedCorrDelay(double v)
const SgMJD & getEpochCentral() const
double getCorrCoeff() const
SgVector * loFreqByChan_2()
SgVlbiMeasurement & grDelay()
void setStartOffset(int offset)
SgVlbiMeasurement & sbDelay()
SgVector * fringePhaseByChan()
double getGeocenterResidPhase() const
SgVector * refFreqByChan()
void setFourfitSearchParameters(int i, double d)
void setSampleRate(double sr)
void setCorrelStarElev_1(double v)
void setCalcFeedCorrRate(double v)
QVector< int > * bbcIdxByChan_2()
const SgMJD & getTstart() const
double getCorrelZdelay_2() const
void setFourfitVersion(int idx, int ver)
void setCalcOceanTideDelay(double v)
void setCalcHiFyPxyRate(double v)
double getDrat_dCipY() const
double getCalcCipXv() const
void setCalcNut2006_dPsiV(double v)
double getCalcNutWahr_dEpsV() const
void setStation1Idx(short int idx)
void setRearth(const Sg3dVector &r)
void setScanId(const QString &sId)
void setCalcConsBendingRate(double d)
double getCalcTiltRemvrRate() const
void setCalcHiFyPxyDelay(double v)
double getCalcPoleTideOldDelay() const
const Sg3dVector & getVearth() const
double getCalcCipSr() const
double getCalcTiltRemvrDelay() const
void setDdel_dRA(double d)
void setDrat_dPolTideY(double d)
void setCalcOceanPoleTideLdDelay(double v)
SgVlbiStationInfo * stn_1()
void setDrat_dR_1(const Sg3dVector &r)
void setCalcHiFyUt1Rate(double v)
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)
void setApLength(double d)
void setCalcTiltRemvrRate(double v)
double getCalcConsBendingSunRate() const
void setCalcConsBendingSunRate(double d)
double getCalcNutWahr_dPsiV() const
bool addObservable(const QString &, const SgVlbiObservable &)
double getCalcPmX() const
void setRsun(const Sg3dVector &r)
void setCalcEarthTideDelay(double v)
void setCalcConsensusDelay(double tau)
void setDTecStdDev(double e)
void setCalcNut2006_dPsiR(double v)
double getCalcPxDelay() const
void setCalcNut2006_dEpsR(double v)
void setVsun(const Sg3dVector &v)
void setCalcHiFyPxyLibrationRate(double v)
double getCalcOceanTideDelay() const
double getDdel_dDN() const
double getDdel_dParallaxRev() const
void setCalcPyDelay(double v)
double getCalcOceanPoleTideLdRate() const
void setScanName(const QString &sName)
double getDTecStdDev() const
void setCalcCipSr(double v)
double getCalcNut2006_dPsiV() const
void setCalcPoleTideOldDelay(double v)
void setDrat_dPolTideX(double d)
void setCalcPoleTideRate(double v)
void setCalcHiFyUt1LibrationDelay(double v)
void setCalcPmY(double d)
const Sg3dVector & getRmoon() const
const Sg3dMatrix & getTrf2crfVal() const
double getCalcCipYv() const
const QString & getScanFullName() const
double getDrat_dGamma() const
double getCalcPyDelay() const
void setVmoon(const Sg3dVector &v)
void setCalcConsBendingSunHigherDelay(double d)
void setCalcConsensusRate(double r)
void setCalcUt1_Tai(double d)
void setCalcNutWahr_dEpsV(double v)
void setCalcNutWahr_dPsiV(double v)
double getDdel_dBend() const
const Sg3dVector & getVsun() const
double getDdel_dPy() const
double getCalcConsBendingSunHigherRate() const
void setDrat_dParallaxRev(double d)
double getApLength() const
void setDrat_dCipY(double d)
void setCalcCipYv(double v)
double getDrat_dPx() const
double getCalcNutWahr_dPsiR() const
void setDrat_dGamma(double d)
Sg3dMatrix & trf2crfRat()
void setCalcOceanTideOldRate(double v)
double getDdel_dPolTideX() const
void setupActiveObservable(const QString &)
void setDrat_dRA(double d)
void setCorrRootFileName(const QString &sName)
void setD2rat_dUT12(double d)
double getCalcConsBendingSunDelay() const
void setCalcHiFyPxyLibrationDelay(double v)
double getCalcCipXr() const
double getCalcPoleTideOldRate() const
void setCalcPmX(double d)
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)
void setVearth(const Sg3dVector &v)
double getCalcHiFyPxyRate() const
double getD2rat_dUT12() const
double getDrat_dCipX() const
double getCalcCipYr() const
void setDdel_dPolTideX(double d)
void setCalcCipXr(double v)
void setCalcCipSv(double v)
double getDrat_dPolTideY() const
double getCalcPxRate() const
void setCalcConsBendingSunHigherRate(double d)
double getCalcPyRate() const
const Sg3dVector & getRearth() const
double getCalcPoleTideRate() const
double getDrat_dBend() const
double getCalcCipSv() const
double getCalcHiFyUt1LibrationRate() const
SgVlbiStationInfo * stn_2()
void setDdel_dCipY(double d)
const Sg3dVector & getVmoon() const
const QString & getCorrRootFileName() const
double getDdel_dCipY() const
void setStation2Idx(short int idx)
double getCalcNut2006_dPsiR() const
double getCalcHiFyPxyLibrationRate() const
void setCalcCipXv(double v)
void setDrat_dParallax(double d)
void setCalcNutWahr_dEpsR(double v)
double getD2del_dUT12() const
double getDrat_dUT1() const
void setDdel_dParallax(double d)
SgVlbiObservable * primeObs()
void setCalcEarthTideRate(double v)
double getCalcConsBendingRate() const
void setDdel_dPy(double d)
void setD2del_dUT12(double d)
const Sg3dMatrix & getTrf2crfRat() const
double getCalcEarthTideRate() const
const QString & getScanName() const
double getDdel_dPx() const
double getDrat_dPy() 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
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()
double getDrat_dParallax() const
void setDrat_dCipX(double d)
void setCalcHiFyUt1LibrationRate(double v)
void setCalcHiFyUt1Delay(double v)
void setDrat_dPx(double d)
void setDdel_dParallaxRev(double d)
void setAearth(const Sg3dVector &a)
void setCalcPyRate(double v)
void setDrat_dDN(double d)
double getDdel_dParallax() const
double getDdel_dGamma() const
void setBaselineIdx(short int idx)
void setCalcPxRate(double v)
double getCalcNut2006_dEpsR() const
void setDdel_dR_2(const Sg3dVector &r)
double getCalcOceanTideRate() const
void setCalcNutWahr_dPsiR(double v)
double getCalcNutWahr_dEpsR() const
void setScanFullName(const QString &sId)
void setCalcPoleTideOldRate(double v)
double getCalcPoleTideDelay() const
void setCalcConsBendingSunDelay(double d)
double getCalcHiFyUt1Delay() const
const Sg3dVector & getRsun() const
double getCalcOceanTideOldDelay() const
void setDrat_dUT1(double d)
double getCalcConsensusDelay() const
double getDdel_dPolTideY() const
double getDrat_dDN() const
const Sg3dVector & getAearth() const
double getCalcHiFyPxyDelay() const
void setDrat_dR_2(const Sg3dVector &r)
double getCalcHiFyUt1Rate() const
double getCalcHiFyUt1LibrationDelay() const
void setDrat_dPy(double d)
double getDrat_dParallaxRev() const
void setKey(const QString &)
double getCalcUt1_Tai() const
void setCalcCipYr(double v)
Sg3dMatrix & trf2crfVal()
double getDdel_dCipX() const
void setDdel_dPolTideY(double d)
double getDdel_dRA() const
void setDdel_dDN(double d)
double getCalcOceanTideOldRate() const
const QString & getCorrelatorType() const
const SgMJD & getTFinis() const
const QString & getName() const
const SgMJD & getTStart() const
void setRecordingMode(const QString &mode)
void setSessionCode(const QString &code)
void setDescription(const QString &description)
void setName(const QString &name)
void setCorrelatorType(const QString &name)
@ Attr_FF_AUX_OBS_MODIFIED
station log related data were modified; //vgosDbProcLogs
@ Attr_FF_EDIT_INFO_MODIFIED
edit info has been modified by user;
@ Attr_FF_WEIGHTS_CORRECTED
weights have been corrected;
@ Attr_PRE_PROCESSED
the observations has been prepared for analysis;
@ Attr_FF_ION_C_CALCULATED
ionospheric corrections have been calculated;
@ Attr_FF_CALC_DATA_MODIFIED
the theoretical values were modified; //vgosDbCalc
@ Attr_FF_OUTLIERS_PROCESSED
outliers have been processed;
@ Attr_HAS_CALC_DATA
the theoretical values are available;
@ Attr_HAS_DTEC
the session contains diffTec values;
@ Attr_FF_AMBIGS_RESOLVED
ambiguities have been resolved;
@ Attr_HAS_AUX_OBS
session contains aux.observations (e.g.: meteo data, cables);
@ Attr_HAS_IONO_CORR
the theoretical values are available;
@ Attr_HAS_CLOCK_BREAKS
there is at least one clock break at one of stations;
const QString & getCorrelatorName() const
CorrelatorPostProcSoftware
@ CPPS_UNKNOWN
unknown (=all others);
int getExperimentSerialNumber() const
void setExperimentSerialNumber(int sn)
const QString & getPiAgencyName() const
const QString & getDescription() const
void setNetworkSuffix(const QString &suffix)
CorrelatorPostProcSoftware getCppsSoft() const
void setCorrelatorName(const QString &name)
const QString & getSessionCode() const
void setPiAgencyName(const QString &name)
void setCppsSoft(CorrelatorPostProcSoftware soft)
const QString & getRecordingMode() const
int numberOfBands() const
QMap< QString, SgVlbiBand * > & bandByKey()
void allocPxyInterpolValues(const SgMatrix *vals)
void setLeapSeconds(double s)
SgModelsInfo & calcInfo()
QList< SgVlbiBand * > & bands()
void formObsCalibrationSetup(int &bitFlags, QList< QString > &calList)
QMap< QString, SgVlbiStationInfo * > & stationsByName()
void allocPxyInterpolEpochs(double t0, double dt, unsigned int numOfPts)
SgVector *& args4PxyInterpolation()
void allocUt1InterpolEpochs(double t0, double dt, unsigned int numOfPts)
QList< SgVlbiObservation * > & observations()
void setHasUt1Interpolation(bool has)
void allocUt1InterpolValues(const SgVector *vals)
SgMatrix *& tabs4Ut1Interpolation()
QMap< int, SgVlbiBaselineInfo * > & baselinesByIdx()
SgTaskConfig * getConfig()
SgMatrix *& tabs4PxyInterpolation()
void setHasPxyInterpolation(bool has)
QMap< QString, SgVlbiSourceInfo * > & sourcesByName()
QMap< QString, SgVlbiObservation * > & observationByKey()
QMap< int, SgVlbiSourceInfo * > & sourcesByIdx()
QMap< int, SgVlbiStationInfo * > & stationsByIdx()
SgVector *& args4Ut1Interpolation()
void setTabsUt1Type(SgTidalUt1::UT1TideContentType tp)
QMap< QString, SgVlbiBaselineInfo * > & baselinesByName()
void applyStatusBits(short bitArray)
void setAprioriReference(const QString &ref)
short calculateStatusBits()
const QString & getAprioriReference() const
QMap< QString, SgVlbiAuxObservation * > * auxObservationByScanId()
void calcCBEpochs4Export(const QMap< QString, SgVlbiAuxObservation * > &)
void setR(const Sg3dVector &r)
double getOLoadPhase(int iWave, int iCoord) const
CableCalsOrigin getCableCalsOrigin() const
double getAxisOffset() const
void setMeteoDataOriginTxt(const QString &origin)
void setTilt(int i, double v)
const QString & getTectonicPlateName() const
void setMntType(MountingType m)
@ Attr_NOT_VALID
omit the station;
@ Attr_REFERENCE_CLOCKS
the clocks are the reference ones;
@ Attr_HAS_CABLE_CAL
a station has cable calibration readings;
@ Attr_IGNORE_CABLE_CAL
do not apply cable calibration;
@ Attr_METEO_MODIFIED
a station has meteo parameters;
@ Attr_CABLE_CAL_MODIFIED
a station has cable calibration readings;
@ Attr_HAS_METEO
a station has meteo parameters;
MeteoDataOrigin getMeteoDataOrigin() const
static int mntType2int(MountingType)
const SgParameterCfg & getPcClocks() const
SgParameterCfg * pcZenith()
void setMeteoDataOrigin(MeteoDataOrigin origin)
void setTectonicPlateName(const QString &name)
const Sg3dVector & getR()
SgParameterCfg * pcClocks()
double getCableCalMultiplierDBCal() const
void setCableCalMultiplierDBCal(double c)
const SgParameterCfg & getPcZenith() const
static MountingType int2mntType(int)
double getOptLoadCoeff(int idx) const
const QString & getCableCalsOriginTxt() const
void setCableCalsOriginTxt(const QString &origin)
void setOLoadPhase(int iWave, int iCoord, double phase)
void setAxisOffset(double v)
void setOptLoadCoeff(int idx, double c)
void setCableCalsOrigin(CableCalsOrigin origin)
void setOLoadAmplitude(int iWave, int iCoord, double amplitude)
double getTilt(int i) const
MountingType getMntType() const
SgBreakModel & clockBreaks()
double getOLoadAmplitude(int iWave, int iCoord) const
const QString & getMeteoDataOriginTxt() const