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_(),
313 for (
int i=0; i<size(); i++)
321 for (QMap<QString, SgAgvDatumString*>::iterator it=
c1Data_.begin(); it!=
c1Data_.end(); ++it)
408 "::insertDatum(): the datum descriptor is NULL");
411 "::insertDatum(): the lCode \"" + dd->
getLCode() +
"\" already registered");
436 "::createDatum(): the datum descriptor with the lCode \"" + dd->
getLCode() +
437 "\" is already in C1 map");
444 "::createDatum(): the datum descriptor with the lCode \"" + dd->
getLCode() +
445 "\" is already in I2 map");
452 "::createDatum(): the datum descriptor with the lCode \"" + dd->
getLCode() +
453 "\" is already in I4 map");
460 "::createDatum(): the datum descriptor with the lCode \"" + dd->
getLCode() +
461 "\" is already in I8 map");
468 "::createDatum(): the datum descriptor with the lCode \"" + dd->
getLCode() +
469 "\" is already in R4 map");
476 "::createDatum(): the datum descriptor with the lCode \"" + dd->
getLCode() +
477 "\" is already in R8 map");
497 for (QMap<QString, SgAgvDatumDescriptor*>::iterator it=
datumByKey_.begin();
502 for (QMap<QString, SgAgvDatumString*>::iterator it=
c1Data_.begin(); it!=
c1Data_.end(); ++it)
503 if (!it.value()->isAllocated())
504 it.value()->allocateSpace();
507 if (!it.value()->isAllocated())
508 it.value()->allocateSpace();
511 if (!it.value()->isAllocated())
512 it.value()->allocateSpace();
515 if (!it.value()->isAllocated())
516 it.value()->allocateSpace();
519 if (!it.value()->isAllocated())
520 it.value()->allocateSpace();
523 if (!it.value()->isAllocated())
524 it.value()->allocateSpace();
549 str = dstr->
getValue(idx2, idx3, idx4).trimmed();
550 str.replace(
' ',
'_');
555 str.setNum(dsin->
getValue(idx1, idx2, idx3, idx4));
559 str.setNum(dint->
getValue(idx1, idx2, idx3, idx4));
563 str.setNum(dlin->
getValue(idx1, idx2, idx3, idx4));
567 str.setNum(dflt->
getValue(idx1, idx2, idx3, idx4),
'E', 7);
571 str.setNum(ddbl->
getValue(idx1, idx2, idx3, idx4),
'E', 15);
590 if (basicName.indexOf(
'.') == -1)
594 std::cout <<
" --- path2File_=[" << qPrintable(
path2File_) <<
"]\n";
595 std::cout <<
" --- fileName_ =[" << qPrintable(
fileName_) <<
"]\n";
600 if (!f.open(QIODevice::WriteOnly))
608 for (
int i=0; i<size(); i++)
609 at(i)->exportData(ts,
this);
615 std::cout <<
"SgAgvDriver::exportData: done"
1070 QMap<QString, SgVlbiStationInfo*>::const_iterator
1123 const QString& bandKey=
session_->
bands().at(bndIdx)->getKey();
1130 d->
setLCode(QString(
"").sprintf(
"NUM_AP%d", bndIdx + 1));
1131 d->
setDescription(QString(
"").sprintf(
"Number of accumulation periods used in band %d per channel "
1132 "per sideband (USB, LSB)", bndIdx + 1));
1144 d->
setLCode(QString(
"").sprintf(
"CI_NUM%d", bndIdx + 1));
1145 d->
setDescription(QString(
"").sprintf(
"Corel index numbers in band %d per channel "
1146 "per sideband (USB, LSB)", bndIdx + 1));
1158 d->
setLCode(QString(
"").sprintf(
"BBC_IDX%d", bndIdx + 1));
1159 d->
setDescription(QString(
"").sprintf(
"Physical BBC number per channel per station in band %d",
1172 d->
setLCode(QString(
"").sprintf(
"ERRATE_%d", bndIdx + 1));
1173 d->
setDescription(QString(
"").sprintf(
"Log err rate per channel per station in band %d",
1187 d->
setLCode(QString(
"").sprintf(
"CHANID%d", bndIdx + 1));
1188 d->
setDescription(QString(
"").sprintf(
"Space separated one-letter Fourfit channel IDs in band %d",
1201 d->
setLCode(QString(
"").sprintf(
"POLARZ%d", bndIdx + 1));
1202 d->
setDescription(QString(
"").sprintf(
"Space separated polarization per sta/chan in band %d",
1215 d->
setLCode(QString(
"").sprintf(
"RFREQ%d", bndIdx + 1));
1216 d->
setDescription(QString(
"").sprintf(
"RF freq by channel (MHz) in band %d",
1229 d->
setLCode(QString(
"").sprintf(
"LO_FREQ%d", bndIdx + 1));
1230 d->
setDescription(QString(
"").sprintf(
"LO frequencies per cha/sta MHz in band %d",
1243 d->
setLCode(QString(
"").sprintf(
"NSAMPLS%d", bndIdx + 1));
1244 d->
setDescription(QString(
"").sprintf(
"Number of samples per channel, sideband (USB, LSB) in "
1245 "band %d", bndIdx + 1));
1257 d->
setLCode(QString(
"").sprintf(
"APBYFRQ%d", bndIdx + 1));
1258 d->
setDescription(QString(
"").sprintf(
"Amp(0-1), phs(-180to180) by chan in band %d",
1272 d->
setLCode(QString(
"").sprintf(
"PHCFRQ_%d", bndIdx + 1));
1273 d->
setDescription(QString(
"").sprintf(
"Phase cal freqs by channel by station in band %d",
1287 d->
setLCode(QString(
"").sprintf(
"PHCAMP_%d", bndIdx + 1));
1288 d->
setDescription(QString(
"").sprintf(
"Phase cal amplitudes by channel by station in band %d",
1302 d->
setLCode(QString(
"").sprintf(
"PHCPHS_%d", bndIdx + 1));
1303 d->
setDescription(QString(
"").sprintf(
"Phase cal phases (-18000 to 18000) by channel by station"
1304 " in band %d", bndIdx + 1));
1317 d->
setLCode(QString(
"").sprintf(
"PHCOFF_%d", bndIdx + 1));
1318 d->
setDescription(QString(
"").sprintf(
"Phase cal offsets (-18000 to 18000) by channel by station "
1319 "in band %d", bndIdx + 1));
1342 "::fillDataStructures(): the session is NULL, nothing to do");
1348 "::fillDataStructures(): the session has no any band, nothing to do");
1447 for (QMap<QString, SgAgvDatumString*>::iterator it=
c1Data_.begin(); it!=
c1Data_.end(); ++it)
1451 int length=ds->
value(0, 0, 0).size();
1452 for (
int l=0; l<dd->
d4(); l++)
1453 for (
int k=0; k<dd->
d3(); k++)
1454 for (
int j=0; j<dd->
d2(); j++)
1455 if (length < ds->value(j, k, l).size())
1456 length = ds->
value(j, k, l).size();
1460 "::prepare4output(): the length of strings has been changed from " +
1461 QString(
"").setNum(dd->
getDim1()) +
" to " + QString(
"").setNum(length) +
" for the lCode " +
1547 int idx=0, totChannels=0, numOfClockBreak=0;
1618 refSites << stn->
getKey();
1627 cBrkSites << stn->
getKey();
1640 for (
int j=1; j<7; j++)
1652 QString st1Name(stn->
getKey()), st2Name(stn_2->
getKey());
1722 "::fillSessVars(): cannot find a station \"" + jt.key() +
"\" in the map");
1727 "::fillSessVars(): cannot find a station \"" + it.key() +
"\" in the map");
1737 for (
int i=0; i<refSites.size(); i++)
1743 if ((numOfClockBreak = cBrkSites.size()))
1751 for (
int i=0; i<numOfClockBreak; i++)
1760 for (
int i=0; i<numOfClockBreak; i++)
1762 const SgMJD &t=cBrkEpochs.at(i);
1774 for (
int i=0; i<6; i++)
1785 for (
int i=0; i<8; i++)
1801 for (
int i=0; i<calList.size(); i++)
1841 if (str.at(8) ==
':')
1844 baselineNames.append(str);
1850 clocks4baselines << str;
1871 for (
int i=0; i<clocks4baselines.size(); i++)
1933 for (
int i=0; i<5; i++)
1936 for (
int i=0; i<5; i++)
2021 for (
unsigned int i=0; i<
session_->
calcInfo().ut1InterpData()->nRow(); i++)
2022 for (
unsigned int j=0; j<
session_->
calcInfo().ut1InterpData()->nCol(); j++)
2027 for (
unsigned int i=0; i<
session_->
calcInfo().wobInterpData()->nRow(); i++)
2028 for (
unsigned int j=0; j<
session_->
calcInfo().wobInterpData()->nCol(); j++)
2043 for (
int j=0; j<11; j++)
2054 for (
int j=0; j<6; j++)
2088 "::fillSessVars(): the stnInfo is NULL for the idx=" + QString(
"").setNum(i));
2104 "::fillSessVars(): the set of argumets for UT1 interpolation is not defined");
2107 "::fillSessVars(): the set of argumets for Polar motion interpolation is not defined");
2168 "::fillSessVars(): no ERP interpolation data to store");
2176 bool hasScanNames, hasMjdObs, hasSrcIdx, hasUtcObs;
2177 bool hasCrootFnam, hasFScanName;
2221 int nYear, nMonth, nDay, nHour, nMin, scanIdx;
2223 QMap<QString, SgMJD> epochByScanId;
2224 epochByScanId.clear();
2233 for (QMap<QString, SgVlbiObservable*>::iterator it=obs->
observableByKey().begin();
2496 for (
int j=0; j<6; j++)
2534 QString chanIds(
"");
2535 QString polariz(
"");
2557 chanIds += QString(
"").sprintf(
"%c", o->
chanIdByChan()->at(j));
2558 polariz += QString(
"").sprintf(
"%c%c",
2658 for (QMap<QString, SgVlbiObservable*>::iterator it=obs->
observableByKey().begin();
2660 if (it.value()->getBandKey() != pbObs->
getBandKey())
2677 int qCodeSb=sbObs->getQualityFactor();
2864 if (!epochByScanId.contains(obs->
getScanId()))
2868 epochByScanId.insert(obs->
getScanId(), *obs);
2936 for (
int k=0; k<3; k++)
2937 for (
int l=0; l<3; l++)
2940 for (
int k=0; k<3; k++)
2941 for (
int l=0; l<3; l++)
2944 for (
int k=0; k<3; k++)
2945 for (
int l=0; l<3; l++)
2961 epochByScanId.clear();
3085 "::fillSttnVars(): cannot find a station \"" + it.key() +
"\" in the map");
3119 if (!f.open(QIODevice::ReadOnly))
3122 "::importData(): error opening input file: \"" +
fileName_ +
"\"");
3143 "::importData(): the chunk #" + QString(
"").setNum(chunk->
getIdx()) +
" has been read");
3170 QMap<QString, SgAgvDatumDescriptor*> knownKeyByLcode;
3177 knownKeyByLcode[expectedDd->
getLCode()] = expectedDd;
3183 "::checkCollectedDescriptors(): the LCode \"" + expectedDd->
getLCode() +
3184 "\" have unexpected data type, " +
3194 "::checkCollectedDescriptors(): the LCode \"" + expectedDd->
getLCode() +
3195 "\" have unexpected data scope: " +
3203 "::checkCollectedDescriptors(): cannot find LCode \"" + expectedDd->
getLCode() +
"\"");
3211 if (!knownKeyByLcode.contains(actualDd->
getLCode()))
3213 "::checkCollectedDescriptors(): got an unknown LCode \"" + actualDd->
getLCode() +
"\"");
3215 knownKeyByLcode.clear();
3223 QString& lCode,
int& d1,
int& d2,
int& d3,
int& d4, QString& val)
3225 QRegExp re(
"(.{8})\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+(.*)",
3226 Qt::CaseInsensitive);
3228 d1 = d2 = d3 = d4 = 0;
3231 if (re.indexIn(content) != -1)
3234 d3 = re.cap(2).toInt(&isOk);
3237 d4 = re.cap(3).toInt(&isOk);
3240 d1 = re.cap(4).toInt(&isOk);
3243 d2 = re.cap(5).toInt(&isOk);
3252 "::strVal(): cannot parse the record \"" + content +
"\"");
3268 QString& lCode,
int& d1,
int& d2,
int& d3,
int& d4,
short int &val)
3270 QRegExp re(
"(.{8})\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+([-+0-9]+)",
3271 Qt::CaseInsensitive);
3274 d1 = d2 = d3 = d4 = 0;
3276 if (re.indexIn(content) != -1)
3279 d3 = re.cap(2).toInt(&isOk);
3282 d4 = re.cap(3).toInt(&isOk);
3285 d1 = re.cap(4).toInt(&isOk);
3288 d2 = re.cap(5).toInt(&isOk);
3290 val = re.cap(6).toShort(&isOk);
3297 "::sintVal(): cannot parse the record \"" + content +
"\"");
3313 QString& lCode,
int& d1,
int& d2,
int& d3,
int& d4,
int &val)
3315 QRegExp re(
"(.{8})\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+([-+0-9]+)",
3316 Qt::CaseInsensitive);
3319 d1 = d2 = d3 = d4 = val = 0;
3321 if (re.indexIn(content) != -1)
3324 d3 = re.cap(2).toInt(&isOk);
3327 d4 = re.cap(3).toInt(&isOk);
3330 d1 = re.cap(4).toInt(&isOk);
3333 d2 = re.cap(5).toInt(&isOk);
3335 val = re.cap(6).toInt(&isOk);
3342 "::intVal(): cannot parse the record \"" + content +
"\"");
3358 QString& lCode,
int& d1,
int& d2,
int& d3,
int& d4,
long int &val)
3360 QRegExp re(
"(.{8})\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+([-+0-9]+)",
3361 Qt::CaseInsensitive);
3364 d1 = d2 = d3 = d4 = val = 0;
3366 if (re.indexIn(content) != -1)
3369 d3 = re.cap(2).toInt(&isOk);
3372 d4 = re.cap(3).toInt(&isOk);
3375 d1 = re.cap(4).toInt(&isOk);
3378 d2 = re.cap(5).toInt(&isOk);
3380 val = re.cap(6).toLong(&isOk);
3387 "::lintVal(): cannot parse the record \"" + content +
"\"");
3403 QString& lCode,
int& d1,
int& d2,
int& d3,
int& d4,
float &val)
3405 QRegExp re(
"(.{8})\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+([-+0-9\\.eEdD]+)",
3406 Qt::CaseInsensitive);
3408 d1 = d2 = d3 = d4 = 0;
3411 if (re.indexIn(content) != -1)
3414 d3 = re.cap(2).toInt(&isOk);
3417 d4 = re.cap(3).toInt(&isOk);
3420 d1 = re.cap(4).toInt(&isOk);
3423 d2 = re.cap(5).toInt(&isOk);
3425 val = re.cap(6).toFloat(&isOk);
3430 else if (content.contains(
"NaN", Qt::CaseInsensitive))
3437 "::floatVal(): cannot parse the record \"" + content +
"\"");
3453 QString& lCode,
int& d1,
int& d2,
int& d3,
int& d4,
double &val)
3455 QRegExp re(
"(.{8})\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+([-+0-9\\.eEdD]+)",
3456 Qt::CaseInsensitive);
3458 d1 = d2 = d3 = d4 = 1;
3461 if (re.indexIn(content) != -1)
3464 d3 = re.cap(2).toInt(&isOk);
3467 d4 = re.cap(3).toInt(&isOk);
3470 d1 = re.cap(4).toInt(&isOk);
3473 d2 = re.cap(5).toInt(&isOk);
3476 QString str(re.cap(6));
3477 str.replace(
"D",
"E", Qt::CaseInsensitive);
3478 val = str.toDouble(&isOk);
3484 else if (content.contains(
"NaN", Qt::CaseInsensitive))
3491 "::doubleVal(): cannot parse the record \"" + content +
"\"");
3508 QString lCode(
""), valStr(
"");
3509 int idx1, idx2, idx3, idx4, val;
3512 if (section->size() >= 5)
3521 "\" was not found");
3530 "\" was not found");
3539 "\" was not found");
3548 "\" was not found");
3556 "::figureOutImplicitDimensions(): the mandatory record \"" +
adObsTab_.
getLCode() +
3557 "\" was not found");
3566 "\" was not found");
3570 bool haveNobsSta, haveNumbObs, haveNumbSca, haveNumbSta, haveSiteNames;
3572 haveNobsSta = haveNumbObs = haveNumbSca = haveNumbSta = haveSiteNames = haveAll =
false;
3573 QMap<int, int> stnobsByIdx;
3574 QMap<int, QString> stnnameByIdx;
3577 for (
int i=0; i<section->size() && !haveAll; i++)
3579 const QString& str=section->at(i)->content();
3580 const QString& lcd=section->at(i)->lCode();
3582 idx1 = idx2 = idx3 = idx4 = val = 0;
3587 intVal(str, lCode, idx1, idx2, idx3, idx4, val);
3591 "::figureOutImplicitDimensions(): the value is 0 for the " + QString(
"").setNum(i) +
3592 "'s record \"" + str +
"\"");
3597 strVal(str, lCode, idx1, idx2, idx3, idx4, valStr);
3603 stnobsByIdx[idx1] = val;
3626 valStr = valStr.leftJustified(8,
' ');
3628 stnnameByIdx[idx2] = valStr;
3630 haveSiteNames =
true;
3632 haveAll = haveNobsSta && haveNumbObs && haveNumbSca && haveNumbSta && haveSiteNames;
3636 if (stnobsByIdx.size() == stnnameByIdx.size())
3639 for (QMap<int, int>::iterator it=stnobsByIdx.begin(); it!=stnobsByIdx.end(); ++it)
3648 "::figureOutImplicitDimensions(): sizes of NOBS_STA and SITNAMES mismatch");
3652 "::figureOutImplicitDimensions(): cannot find all necessary mandatory records");
3656 "::figureOutImplicitDimensions(): not enough mandatory records, " +
3657 QString(
"").setNum(section->size()));
3661 "::figureOutImplicitDimensions(): the section is NULL");
3671 int idx1, idx2, idx3, idx4;
3675 "::digestData(): the section is NULL");
3678 if (section->size() <= 5)
3681 "::digestData(): not enough records to get data: " + QString(
"").setNum(section->size()));
3685 for (
int i=0; i<section->size(); i++)
3693 const QString& str=section->at(i)->content();
3694 const QString& lcd=section->at(i)->lCode();
3696 idx1 = idx2 = idx3 = idx4 = 0;
3706 if (
strVal(str, lCode, idx1, idx2, idx3, idx4, sVal))
3711 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3712 "\" is not in C1 map");
3717 if (
sintVal(str, lCode, idx1, idx2, idx3, idx4, siVal))
3718 i2Data_.value(dd->
getLCode())->value(idx1-1, idx2-1, idx3-1, idx4-1) = siVal;
3722 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3723 "\" is not in I2 map");
3728 if (
intVal(str, lCode, idx1, idx2, idx3, idx4, iVal))
3729 i4Data_.value(dd->
getLCode())->value(idx1-1, idx2-1, idx3-1, idx4-1) = iVal;
3733 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3734 "\" is not in I4 map");
3739 if (
lintVal(str, lCode, idx1, idx2, idx3, idx4, liVal))
3740 i8Data_.value(dd->
getLCode())->value(idx1-1, idx2-1, idx3-1, idx4-1) = liVal;
3744 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3745 "\" is not in I8 map");
3750 if (
floatVal(str, lCode, idx1, idx2, idx3, idx4, fVal))
3751 r4Data_.value(dd->
getLCode())->value(idx1-1, idx2-1, idx3-1, idx4-1) = fVal;
3755 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3756 "\" is not in R4 map");
3761 if (
doubleVal(str, lCode, idx1, idx2, idx3, idx4, dVal))
3762 r8Data_.value(dd->
getLCode())->value(idx1-1, idx2-1, idx3-1, idx4-1) = dVal;
3766 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3767 "\" is not in R8 map");
3772 "::digestData(): got an unknown datum descriptor with the lCode \"" +
3780 "::digestData(): cannot find lCode \"" + lcd +
"\" in the map");
3789 "::digestData(): cannot figure out a number of bands");
3834 int idx1, idx2, idx3, idx4;
3838 "::digestData(): the section is NULL");
3841 if (section->size() <= 5)
3844 "::digestData(): not enough records to get data: " + QString(
"").setNum(section->size()));
3848 for (
int i=0; i<section->size(); i++)
3856 const QString& str=section->at(i)->content().mid(9);
3857 const QString& lcd=section->at(i)->lCode();
3858 idx1 = idx2 = idx3 = idx4 = 0;
3876 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3877 "\" is not in C1 map");
3883 i2Data_.value(dd->
getLCode())->value(idx1-1, idx2-1, idx3-1, idx4-1) = siVal;
3887 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3888 "\" is not in I2 map");
3894 i4Data_.value(dd->
getLCode())->value(idx1-1, idx2-1, idx3-1, idx4-1) = iVal;
3898 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3899 "\" is not in I4 map");
3905 i8Data_.value(dd->
getLCode())->value(idx1-1, idx2-1, idx3-1, idx4-1) = liVal;
3909 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3910 "\" is not in I8 map");
3916 r4Data_.value(dd->
getLCode())->value(idx1-1, idx2-1, idx3-1, idx4-1) = fVal;
3920 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3921 "\" is not in R4 map");
3927 r8Data_.value(dd->
getLCode())->value(idx1-1, idx2-1, idx3-1, idx4-1) = dVal;
3931 "::digestData(): the datum descriptor with the lCode \"" + dd->
getLCode() +
3932 "\" is not in R8 map");
3937 "::digestData(): got an unknown datum descriptor with the lCode \"" +
3945 "::digestData(): cannot find lCode \"" + lcd +
"\" in the map");
3954 "::digestData(): cannot figure out a number of bands");
3963 i = i1 = i2 = i3 = i4 = 0;
3964 strLength = str.size();
3965 while (i<strLength && (i1==0 || i2==0 || i3==0 || i4==0))
3967 if (i1==0 && str.at(i)==
' ')
3970 while (i<strLength && str.at(i)==
' ')
3973 else if (i2==0 && str.at(i)==
' ')
3976 while (i<strLength && str.at(i)==
' ')
3979 else if (i3==0 && str.at(i)==
' ')
3982 while (i<strLength && str.at(i)==
' ')
3985 else if (i4==0 && str.at(i)==
' ')
3989 return !( i1==0 || i2==0 || i3==0 || i4==0 ||
3990 i1==i2 || i1==i3 || i1==i4 || i2==i3 || i2==i4 || i3==i4 ||
4001 int strLength=content.size();
4006 "::strVal(): the string is too short: \"" + content +
"\"");
4009 d1 = d2 = d3 = d4 = 0;
4014 "::strVal(): cannot parse the string \"" + content +
"\": " +
4015 QString(
"").sprintf(
"idxs=(%d:%d:%d:%d)", i1, i2, i3, i4));
4020 if ((i1 = sscanf(qPrintable(content),
"%d %d %d %d %s", &d3, &d4, &d1, &d2, buff)) == 5)
4023 val = QString(buff);
4027 "::strVal(): cannot sscan the string \"" + content +
"\", retCode= " +
4028 QString(
"").setNum(i1));
4032 d3 = content.mid(0, i1).toInt(&isOk);
4035 d4 = content.mid(i1, i2-i1).toInt(&isOk);
4038 d1 = content.mid(i2, i3-i2).toInt(&isOk);
4041 d2 = content.mid(i3, i4-i3).toInt(&isOk);
4043 val = content.mid(i4).simplified();
4046 "::strVal(): cannot parse the 2nd idx; content: \"" + content +
"\"");
4050 "::strVal(): cannot parse the 1st idx; content: \"" + content +
"\"");
4054 "::strVal(): cannot parse the 4th idx; content: \"" + content +
"\"");
4058 "::strVal(): cannot parse the 3rd idx; content: \"" + content +
"\"");
4076 int& d1,
int& d2,
int& d3,
int& d4,
short int &val)
4080 int strLength=content.size();
4084 "::sintVal(): the string is too short: \"" + content +
"\"");
4087 d1 = d2 = d3 = d4 = 0;
4092 "::sintVal(): cannot parse the string \"" + content +
"\": " +
4093 QString(
"").sprintf(
"idxs=(%d:%d:%d:%d)", i1, i2, i3, i4));
4098 if ((i1 = sscanf(qPrintable(content),
"%d %d %d %d %hd", &d3, &d4, &d1, &d2, &val)) == 5)
4102 "::sintVal(): cannot sscan the string \"" + content +
"\", retCode= " +
4103 QString(
"").setNum(i1));
4107 d3 = content.mid(0, i1).toInt(&isOk);
4110 d4 = content.mid(i1, i2-i1).toInt(&isOk);
4113 d1 = content.mid(i2, i3-i2).toInt(&isOk);
4116 d2 = content.mid(i3, i4-i3).toInt(&isOk);
4119 val = content.mid(i4).toShort(&isOk);
4122 "::sintVal(): cannot parse the value; content: \"" + content +
"\"");
4126 "::sintVal(): cannot parse the 2nd idx; content: \"" + content +
"\"");
4130 "::sintVal(): cannot parse the 1st idx; content: \"" + content +
"\"");
4134 "::sintVal(): cannot parse the 4th idx; content: \"" + content +
"\"");
4138 "::sintVal(): cannot parse the 3rd idx; content: \"" + content +
"\"");
4156 int& d1,
int& d2,
int& d3,
int& d4,
int &val)
4160 int strLength=content.size();
4164 "::intVal(): the string is too short: \"" + content +
"\"");
4167 d1 = d2 = d3 = d4 = 0;
4172 "::intVal(): cannot parse the string \"" + content +
"\": " +
4173 QString(
"").sprintf(
"idxs=(%d:%d:%d:%d)", i1, i2, i3, i4));
4179 "::intVal(): cannot parse the string \"" + content +
"\": " +
4180 QString(
"").sprintf(
"idxs=(%d:%d:%d:%d)", i1, i2, i3, i4));
4185 if ((i1 = sscanf(qPrintable(content),
"%d %d %d %d %d", &d3, &d4, &d1, &d2, &val)) == 5)
4189 "::intVal(): cannot sscan the string \"" + content +
"\", retCode= " +
4190 QString(
"").setNum(i1));
4194 d3 = content.mid(0, i1).toInt(&isOk);
4197 d4 = content.mid(i1, i2-i1).toInt(&isOk);
4200 d1 = content.mid(i2, i3-i2).toInt(&isOk);
4203 d2 = content.mid(i3, i4-i3).toInt(&isOk);
4206 val = content.mid(i4).toInt(&isOk);
4209 "::intVal(): cannot parse the value; content: \"" + content +
"\"");
4213 "::intVal(): cannot parse the 2nd idx; content: \"" + content +
"\"");
4217 "::intVal(): cannot parse the 1st idx; content: \"" + content +
"\"");
4221 "::intVal(): cannot parse the 4th idx; content: \"" + content +
"\"");
4225 "::intVal(): cannot parse the 3rd idx; content: \"" + content +
"\"");
4243 int& d1,
int& d2,
int& d3,
int& d4,
long int &val)
4247 int strLength=content.size();
4251 "::lintVal(): the string is too short: \"" + content +
"\"");
4254 d1 = d2 = d3 = d4 = 0;
4259 "::lintVal(): cannot parse the string \"" + content +
"\": " +
4260 QString(
"").sprintf(
"idxs=(%d:%d:%d:%d)", i1, i2, i3, i4));
4267 "::lintVal(): cannot parse the string \"" + content +
"\": " +
4268 QString(
"").sprintf(
"idxs=(%d:%d:%d:%d)", i1, i2, i3, i4));
4273 if ((i1 = sscanf(qPrintable(content),
"%d %d %d %d %ld", &d3, &d4, &d1, &d2, &val)) == 5)
4277 "::lintVal(): cannot sscan the string \"" + content +
"\", retCode= " +
4278 QString(
"").setNum(i1));
4282 d3 = content.mid(0, i1).toInt(&isOk);
4285 d4 = content.mid(i1, i2-i1).toInt(&isOk);
4288 d1 = content.mid(i2, i3-i2).toInt(&isOk);
4291 d2 = content.mid(i3, i4-i3).toInt(&isOk);
4294 val = content.mid(i4).toLong(&isOk);
4297 "::lintVal(): cannot parse the value; content: \"" + content +
"\"");
4301 "::lintVal(): cannot parse the 2nd idx; content: \"" + content +
"\"");
4305 "::lintVal(): cannot parse the 1st idx; content: \"" + content +
"\"");
4309 "::lintVal(): cannot parse the 4th idx; content: \"" + content +
"\"");
4313 "::lintVal(): cannot parse the 3rd idx; content: \"" + content +
"\"");
4331 int& d1,
int& d2,
int& d3,
int& d4,
float &val)
4335 int strLength=content.size();
4339 "::floatVal(): the string is too short: \"" + content +
"\"");
4342 d1 = d2 = d3 = d4 = 0;
4347 "::floatVal(): cannot parse the string \"" + content +
"\": " +
4348 QString(
"").sprintf(
"idxs=(%d:%d:%d:%d)", i1, i2, i3, i4));
4353 if ((i1 = sscanf(qPrintable(content),
"%d %d %d %d %e", &d3, &d4, &d1, &d2, &val)) == 5)
4357 "::floatVal(): cannot sscan the string \"" + content +
"\", retCode= " +
4358 QString(
"").setNum(i1));
4362 d3 = content.mid(0, i1).toInt(&isOk);
4365 d4 = content.mid(i1, i2-i1).toInt(&isOk);
4368 d1 = content.mid(i2, i3-i2).toInt(&isOk);
4371 d2 = content.mid(i3, i4-i3).toInt(&isOk);
4374 val = content.mid(i4).toFloat(&isOk);
4377 "::floatVal(): cannot parse the value; content: \"" + content +
"\"");
4381 "::floatVal(): cannot parse the 2nd idx; content: \"" + content +
"\"");
4385 "::floatVal(): cannot parse the 1st idx; content: \"" + content +
"\"");
4389 "::floatVal(): cannot parse the 4th idx; content: \"" + content +
"\"");
4393 "::floatVal(): cannot parse the 3rd idx; content: \"" + content +
"\"");
4411 int& d1,
int& d2,
int& d3,
int& d4,
double &val)
4415 int strLength=content.size();
4419 "::doubleVal(): the string is too short: \"" + content +
"\"");
4422 d1 = d2 = d3 = d4 = 0;
4424 QString str(content);
4425 str.replace(
"D",
"E", Qt::CaseInsensitive);
4430 "::doubleVal(): cannot parse the string \"" + content +
"\": " +
4431 QString(
"").sprintf(
"idxs=(%d:%d:%d:%d)", i1, i2, i3, i4));
4436 if ((i1 = sscanf(qPrintable(str),
"%d %d %d %d %le", &d3, &d4, &d1, &d2, &val)) == 5)
4438 else if (content.contains(
"NaN", Qt::CaseInsensitive))
4445 "::doubleVal(): cannot sscan the string \"" + content +
"\", retCode= " +
4446 QString(
"").setNum(i1));
4450 d3 = str.mid(0, i1).toInt(&isOk);
4453 d4 = str.mid(i1, i2-i1).toInt(&isOk);
4456 d1 = str.mid(i2, i3-i2).toInt(&isOk);
4459 d2 = str.mid(i3, i4-i3).toInt(&isOk);
4462 val = str.mid(i4).toDouble(&isOk);
4465 "::doubleVal(): cannot parse the value; content: \"" + content +
"\"");
4469 "::doubleVal(): cannot parse the 2nd idx; content: \"" + content +
"\"");
4473 "::doubleVal(): cannot parse the 1st idx; content: \"" + content +
"\"");
4477 "::doubleVal(): cannot parse the 4th idx; content: \"" + content +
"\"");
4481 "::doubleVal(): cannot parse the 3rd idx; content: \"" + content +
"\"");
4502 str.sprintf(
"%s%d", qPrintable(lc), bndIdx + 1);
4503 str = str.leftJustified(8,
' ');
4519 "::lookupFuzzyDescriptor(): the lCode \"" + lc +
"\" for the band #" +
4520 QString(
"").setNum(bndIdx + 1) +
" was not found");
4547 else if (100 < d && d < 200)
4564 "::initSession(): a list of sources was not found");
4575 "::initSession(): a list of scans was not found");
4585 "::initSession(): a list of bands was not found");
4630 *(adPhcAmp + bndIdx) = NULL;
4631 *(adPhcPhs + bndIdx) = NULL;
4632 *(adPhcOff + bndIdx) = NULL;
4642 *(adPhcCm + bndIdx) = NULL;
4648 std::cout <<
"the band[" << qPrintable(it.key()) <<
"] has " << it.value() <<
" channels"
4658 bool hasFourFitFileName;
4665 QString station1Name, station2Name, sourceName, baselineName;
4666 QString scanName, scanId, obsKey, bandKey;
4675 QMap<QString, SgVlbiAuxObservation*>
4680 int scanIdx, stn_1Idx, stn_2Idx, srcIdx;
4684 int nYear, nMonth, nDay, nHour, nMin;
4686 SgMJD tStart, tStop;
4688 int numOfAllChannels=0;
4689 double *frqByChanNum=NULL;
4721 if (str.at(0) ==
'$')
4742 if (numOfAllChannels)
4744 frqByChanNum =
new double[numOfAllChannels];
4745 for (
int i=0; i<numOfAllChannels; i++)
4751 "::initSession(): numOfAllChannels is zero");
4752 frqByChanNum = NULL;
4765 bandKey = bandNames.at(i);
4825 for (
int obsIdx=0; obsIdx<
numOfObs_; obsIdx++)
4842 sourceName = sourceNames.at(srcIdx);
4844 baselineName = station1Name +
":" + station2Name;
4848 std::cout <<
" Got (" << obsIdx <<
") ["
4849 << qPrintable(station1Name) <<
"]:[" << qPrintable(station2Name) <<
"] @["
4850 << qPrintable(sourceName) <<
"], scan=[" << qPrintable(scanName) <<
"] at "
4851 << qPrintable(epoch.
toString()) <<
"\n";
4856 obsKey.sprintf(
"%s",
4924 if (!auxObsByScan->contains(scanId))
4928 auxObsByScan->insert(scanId, auxObs);
4932 if (!auxObsByScan->contains(scanId))
4936 auxObsByScan->insert(scanId, auxObs);
4956 "::initSession(): got an uknown format of \"" + dd->
getLCode() +
"\" lCode");
4969 bandKey = bandNames.at(bndIdx);
4974 if ((pGrDelAmbg && 0.0<pGrDelAmbg->
value(bndIdx, 0, obsIdx, 0) &&
4975 pSnr && 0.0<pSnr->value(bndIdx, 0, obsIdx, 0)) ||
5025 if (hasFourFitFileName)
5044 .replace(
'_',
' ').simplified();
5045 d = str.toInt(&isTmp);
5051 "::initSession(): canot convert quality factor [" + str +
"] to int");
5093 o->
setSnr(pSnr->value(bndIdx, 0, obsIdx, 0));
5194 "::initSession(): got an uknown format of \"" + dd->
getLCode() +
"\" lCode");
5224 QString chanIds(
""), polariz(
"");
5225 int numOfChannels=0;
5239 "::initSession(): got an uknown format of \"" + dd->
getLCode() +
"\" lCode");
5248 dd = *(adChanId + bndIdx);
5252 dd = *(adPolarz + bndIdx);
5257 for (
int chIdx=0; chIdx<numOfChannels; chIdx++)
5261 dd = *(adNumOfAp + bndIdx);
5271 dd = *(adNumSmpls + bndIdx);
5282 dd = *(adRfFreq + bndIdx);
5288 dd = *(adIndChn + bndIdx);
5292 if (0<=d && d<numOfAllChannels)
5297 ": initSession(): the channel index " + QString(
"").setNum(d) +
" is out of range [0.." +
5298 QString(
"").setNum(numOfAllChannels) +
"]");
5303 dd = *(adChAmpPhs + bndIdx);
5313 dd = *(adUvChn + bndIdx);
5324 dd = *(adPhcFrq + bndIdx);
5345 "::initSession(): got unexpected scope of \"" + dd->
getLCode() +
"\" lCode");
5350 dd = adPhcCm?*(adPhcCm + bndIdx):NULL;
5362 sqrt(re*re + im*im));
5371 sqrt(re*re + im*im));
5378 "::initSession(): got unexpected scope of \"" + dd->
getLCode() +
"\" lCode");
5416 dd = *(adIndexNum + bndIdx);
5426 dd = *(adBbcIdx + bndIdx);
5436 dd = *(adErrRate + bndIdx);
5446 dd = *(adLoRfFreq + bndIdx);
5456 if (chanIds.size() == numOfChannels)
5457 (*o->
chanIdByChan())[chIdx] = chanIds.at(chIdx).toLatin1();
5460 if (polariz.size() == 2*numOfChannels)
5480 double sampleRate=0.0, effFreq4GR=0.0, effFreq4PH=0.0, effFreq4RT=0.0;
5484 if (*(adPhcFrq + bndIdx) )
5495 fringeAmplitudeByChan, numOfSamplesByChan_USB, numOfSamplesByChan_LSB,
5506 fringeAmplitudeByChan, numOfSamplesByChan_USB, numOfSamplesByChan_LSB,
5595 nYear, nMonth, nDay, nHour, nMin, dSec);
5597 tStart =
SgMJD(nYear, nMonth, nDay, nHour, 0,
5599 tStop =
SgMJD(nYear, nMonth, nDay, nHour, 0,
5601 if (tStart - *o->
owner() > 40.0/24.0/60.0)
5603 if (*o->
owner() - tStart > 40.0/24.0/60.0)
5605 if (*o->
owner() - tStop > 40.0/24.0/60.0)
5607 if (tStop - *o->
owner() > 40.0/24.0/60.0)
5705 for (
int j=0; j<6; j++)
5747 if (station1Info->
getCid() ==
' ')
5749 station1Info->
setCid(cid);
5751 "::initSession(): station#1 " + station1Info->
getKey() +
" set CID to \"" +
5752 cid +
"\" at " + o->
strId());
5754 else if (station1Info->
getCid() != cid)
5757 "::initSession(): station#1 " + station1Info->
getKey() +
" CID missmatch: \"" +
5758 station2Info->
getCid() +
"\" vs \"" + cid +
"\" at " + o->
strId());
5762 if (station2Info->
getCid() ==
' ')
5764 station2Info->
setCid(cid);
5766 "::initSession(): station#2 " + station2Info->
getKey() +
" set CID to \"" +
5767 cid +
"\" at " + o->
strId());
5769 else if (station2Info->
getCid() != cid)
5772 "::initSession(): station#2 " + station2Info->
getKey() +
" CID missmatch: \"" +
5773 station2Info->
getCid() +
"\" vs \"" + cid +
"\" at " + o->
strId());
5801 "::initSession(): skipped observable #" + QString(
"").setNum(obsIdx) +
5802 " at the " + bandKey +
"-band: no data");
5981 pD->value(0, 1, scanIdx, 0),
5982 pD->value(0, 2, scanIdx, 0)));
5984 pD->value(1, 1, scanIdx, 0),
5985 pD->value(1, 2, scanIdx, 0)));
5991 pD->value(0, 1, scanIdx, 0),
5992 pD->value(0, 2, scanIdx, 0)));
5994 pD->value(1, 1, scanIdx, 0),
5995 pD->value(1, 2, scanIdx, 0)));
6001 pD->value(0, 1, scanIdx, 0),
6002 pD->value(0, 2, scanIdx, 0)));
6004 pD->value(1, 1, scanIdx, 0),
6005 pD->value(1, 2, scanIdx, 0)));
6007 pD->value(2, 1, scanIdx, 0),
6008 pD->value(2, 2, scanIdx, 0)));
6036 for (
int k=0; k<3; k++)
6037 for (
int l=0; l<3; l++)
6040 for (
int k=0; k<3; k++)
6041 for (
int l=0; l<3; l++)
6044 for (
int k=0; k<3; k++)
6045 for (
int l=0; l<3; l++)
6052 obs->
setCalcPmX(pD->value(0, 0, scanIdx, 0));
6053 obs->
setCalcPmY(pD->value(1, 0, scanIdx, 0));
6071 delete[] frqByChanNum;
6072 frqByChanNum = NULL;
6080 bandKey = band->
getKey();
6083 while (!o && n<session_->observations().size())
6091 for (
int j=0; j<band->
history().size(); j++)
6095 ": initSession(): history of the band " + bandKey +
" has been cleared");
6099 for (
int cIdx=0; cIdx<size(); cIdx++)
6101 for (
int j=0; j<at(cIdx)->history().size(); j++)
6115 if (!band->
history().isEmpty())
6116 n = band->
history().last()->getVersion();
6119 "::initSession(): no history records exist for the band " + bandKey);
6146 for (
int i=0; i<n; i++)
6207 for (
int i=0; i<n; i++)
6216 for (
int i=0; i<n; i++)
6225 for (
unsigned int i=0; i<
session_->
calcInfo().ut1InterpData()->nRow(); i++)
6226 for (
unsigned int j=0; j<
session_->
calcInfo().ut1InterpData()->nCol(); j++)
6235 for (
unsigned int i=0; i<
session_->
calcInfo().wobInterpData()->nRow(); i++)
6236 for (
unsigned int j=0; j<
session_->
calcInfo().wobInterpData()->nCol(); j++)
6245 int cableCalFlagIdx;
6246 bool isCableCalMatched=
false;
6247 cableCalFlagIdx = -1;
6251 for (
int i=0; i<n; i++)
6254 isCableCalMatched =
true;
6255 cableCalFlagIdx = i;
6264 for (
int stnIdx=0; stnIdx<
numOfStn_; stnIdx++)
6266 const QString stnName(
stnNames_.at(stnIdx));
6272 bool hasMeteoT, hasMeteoP, hasMeteoR, hasMeteo, hasCable;
6276 hasMeteo = hasMeteoT || hasMeteoP || hasMeteoR;
6359 pD->value(0, 1, obsIdx, stnIdx),
6360 pD->value(0, 2, obsIdx, stnIdx)));
6362 pD->value(1, 1, obsIdx, stnIdx),
6363 pD->value(1, 2, obsIdx, stnIdx)));
6454 if (d & 1<<cableCalFlagIdx)
6485 "::initSession(): the baseline " + bi->
getKey() +
" has been deselected");
6491 "::initSession(): the baseline " + biR->getKey() +
" has been deselected");
6501 "::initSession(): clock estimation has been assigned to the baseline " + bi->
getKey());
6507 "::initSession(): clock estimation has been assigned to the baseline " + biR->getKey());
6515 "::initSession(): cannot find a station #" + stnIdx +
" in the map");
6520 for (
int srcIdx=0; srcIdx<
numOfSrc_; srcIdx++)
6522 sourceName = sourceNames.at(srcIdx);
6533 "::initSession(): cannot find coordinates of the source \"" + sourceName +
"\"");
6546 "::initSession(): cannot find source \"" + sourceName +
"\" in the map");
6565 "::initSession(): dimensions of OceanPoleTideCoef and OceanUpPhase mismatch");
6568 "::initSession(): dimensions of OceanPoleTideCoef and OceanHorizontalWestPhase mismatch");
6571 "::initSession(): dimensions of OceanPoleTideCoef and OceanHorizontalSouthPhase mismatch");
6574 "::initSession(): dimensions of OceanPoleTideCoef and OceanUpAmp mismatch");
6577 "::initSession(): dimensions of OceanPoleTideCoef and OceanHorizontalWestAmp mismatch");
6580 "::initSession(): dimensions of OceanPoleTideCoef and OceanHorizontalSouthAmp mismatch");
6583 "::initSession(): dimensions of OceanPoleTideCoef and number of stations mismatch");
6586 "::initSession(): unexpected dimension of OceanUpPhase");
6589 "::initSession(): unexpected dimension(2) of OceanHorizontalWestPhase");
6592 "::initSession(): unexpected dimension(2) of OceanHorizontalSouthPhase");
6595 "::initSession(): unexpected dimension of OceanUpAmp");
6598 for (
int i=0; i<n; i++)
6603 for (
int j=0; j<l; j++)
6613 for (
int j=0; j<6; j++)
6618 "::initSession(): the station # " + QString(
"").setNum(i) +
" is NULL");
6637 unsigned int numOfPts;
6644 for (
unsigned int i=0; i<numOfPts; i++)
6655 "::getDataFromVgosDb(): loaded " + QString().setNum(numOfPts) +
6656 " records for UT1 interpolation");
6665 for (
unsigned int i=0; i<numOfPts; i++)
6675 "::getDataFromVgosDb(): loaded " + QString().setNum(numOfPts) +
6676 " records for polar motion interpolation");
6695 str =
"Seriesfull of tides";
6699 str =
"Only short period tidal terms are removed";
6703 str =
"All tidal terms are removed";
6707 "::getDataFromVgosDb(): got undocumented value for the TIDALUT1 value: " +
6709 "; the UT1 type has been reverted to default");
6713 "::getDataFromVgosDb(): the type of the UT1 inner series has been set to " + str);
6750 "::initSession(): dimensions of AxisTyps and number of stations mismatch");
6752 for (
int i=0; i<n; i++)
6760 "::initSession(): the station # " + QString(
"").setNum(i) +
" is NULL");
6768 "::initSession(): dimensions of AxisOffs and number of stations mismatch");
6770 for (
int i=0; i<n; i++)
6777 "::initSession(): the station # " + QString(
"").setNum(i) +
" is NULL");
6784 "::initSession(): dimensions of AxisTilt and number of stations mismatch");
6786 for (
int i=0; i<n; i++)
6796 "::initSession(): the station # " + QString(
"").setNum(i) +
" is NULL");
6807 "::initSession(): dimensions of EccTypes and number of stations mismatch");
6809 for (
int i=0; i<n; i++)
6823 "::initSession(): cannot figure out Ecc type from the string \"" +
6837 "::initSession(): the station # " + QString(
"").setNum(i) +
" is NULL");
6852 QString clockSiteName(
6854 leftJustified(8,
' '));
6861 "::initSession(): Reference Clock attribute has been assigned to the station " +
6870 QString clockSiteName(
6872 leftJustified(8,
' '));
6879 "::initSession(): Reference Clock attribute has been assigned to the station " +
6886 "::initSession(): no Reference Clock attribute has been found for the session");
6893 int numOfClockBreak=
6896 for (
int i=0; i<numOfClockBreak; i++)
6908 "::initSession(): a clock break at station " + station1Info->
getKey() +
6909 " that occurred on " + epoch.
toString() +
" has been added");
6912 "::initSession(): adding new clock break at " + station1Info->
getKey() +
6913 " station on " + epoch.
toString() +
" has failed");
6917 "::initSession(): cannot find station \"" + station1Name +
6918 "\" in the map of stations, adding a clock break has failed");
6929 for (
int i=0; i<6; i++)
6940 for (
int i=0; i<8; i++)
6952 "::initSession(): dimensions of ErrorBl (" + QString(
"").setNum(
numOfBln_) +
6953 ") and ErrorK (" + QString(
"").setNum(d) +
") lCodes mismatch");
6958 baselineName.replace(
'_',
' ');
6959 baselineName = baselineName.insert(8,
":");
6971 "::initSession(): cannot find baseline \"" + baselineName +
6972 "\" in the map of baselines, cannot set up weight corrections");
6981 for (
int i=0; i<d; i++)
6984 baselineName.replace(
'_',
' ');
6985 baselineName = baselineName.insert(8,
":");
6993 "::initSession(): baseline clocks were corrected for \"" + baselineName +
6994 "\" (missed in BASLSTAT)");
6999 "::initSession(): cannot find baseline \"" + baselineName +
7000 "\" in the map of baselines, cannot set up baseline clocks");
7006 delete []adIndexNum;
7012 delete []adLoRfFreq;
7013 delete []adNumSmpls;
7014 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
const SgAgvDatumDescriptor adCblsSet
@ 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 adCblsSet_
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)
const SgVector & cableCorrections() const
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;
@ Attr_HAS_CCC_CDMS
a station has cable calibrations from CDMS
@ Attr_HAS_CCC_PCMT
a station has cable calibrations from PCMT
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