268 <<
" NULL pointer to SiStripConfigDb object!" 269 <<
" Aborting update...";
274 DeviceFactory*
const df =
db->deviceFactory(__func__);
277 <<
" NULL pointer to DeviceFactory object!" 278 <<
" Aborting update...";
288 std::stringstream
ss;
289 ss <<
"[SiStripPartition::" << __func__ <<
"]" 290 <<
" Updating description versions for partition \"" <<
partitionName_ <<
"\"...";
300 tkStateVector states;
301 states =
df->getCurrentStates();
302 tkStateVector::const_iterator istate = states.begin();
303 tkStateVector::const_iterator jstate = states.end();
304 while (istate != jstate) {
312 if (istate != states.end()) {
314 cabVersion_.first = (*istate)->getConnectionVersionMajorId();
315 cabVersion_.second = (*istate)->getConnectionVersionMinorId();
318 fecVersion_.first = (*istate)->getFecVersionMajorId();
319 fecVersion_.second = (*istate)->getFecVersionMinorId();
322 fedVersion_.first = (*istate)->getFedVersionMajorId();
323 fedVersion_.second = (*istate)->getFedVersionMinorId();
326 dcuVersion_.first = (*istate)->getDcuInfoVersionMajorId();
327 dcuVersion_.second = (*istate)->getDcuInfoVersionMinorId();
330 psuVersion_.first = (*istate)->getDcuPsuMapVersionMajorId();
331 psuVersion_.second = (*istate)->getDcuPsuMapVersionMinorId();
335 maskVersion_.first = (*istate)->getMaskVersionMajorId();
336 maskVersion_.second = (*istate)->getMaskVersionMinorId();
349 HashMapAnalysisVersions local_versions =
df->getLocalAnalysisVersions(
globalAnalysisV_);
352 HashMapAnalysisVersions::const_iterator ivers = local_versions.begin();
353 HashMapAnalysisVersions::const_iterator jvers = local_versions.end();
354 for (; ivers != jvers; ++ivers) {
355 if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_FASTFEDCABLING) {
358 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_TIMING) {
361 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_OPTOSCAN) {
364 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_VPSPSCAN) {
367 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_CALIBRATION) {
370 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_PEDESTALS) {
373 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_PEDSFULLNOISE) {
376 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_APVLATENCY) {
379 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_FINEDELAY) {
382 }
else if (ivers->first == CommissioningAnalysisDescription::T_UNKNOWN) {
383 std::stringstream
ss;
385 <<
" Found UNKNOWN AnalysisType!";
388 std::stringstream
ss;
390 <<
" Unable to match content to any AnalysisType!";
399 HashMapAnalysisVersions local_versions =
df->getLocalAnalysisVersions(
globalAnalysisV_);
402 HashMapAnalysisVersions::const_iterator ivers = local_versions.begin();
403 HashMapAnalysisVersions::const_iterator jvers = local_versions.end();
404 for (; ivers != jvers; ++ivers) {
405 if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_FASTFEDCABLING) {
410 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_TIMING) {
415 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_OPTOSCAN) {
420 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_VPSPSCAN) {
425 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_CALIBRATION) {
430 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_PEDESTALS) {
435 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_PEDSFULLNOISE) {
440 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_APVLATENCY) {
445 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_FINEDELAY) {
450 }
else if (ivers->first == CommissioningAnalysisDescription::T_UNKNOWN) {
451 std::stringstream
ss;
453 <<
" Found UNKNOWN AnalysisType!";
456 std::stringstream
ss;
458 <<
" Unable to match content to any AnalysisType!";
465 std::stringstream
ss;
467 <<
" Unable to find \"current state\" for partition \"" <<
partitionName_ <<
"\"";
473 TkRun*
run =
nullptr;
482 if (
run->getRunNumber()) {
509 uint16_t
type =
run->getModeId(
run->getMode());
512 }
else if (
type == 2) {
514 }
else if (
type == 3) {
516 }
else if (
type == 4) {
518 }
else if (
type == 5) {
520 }
else if (
type == 6) {
522 }
else if (
type == 7) {
524 }
else if (
type == 8) {
526 }
else if (
type == 10) {
528 }
else if (
type == 12) {
530 }
else if (
type == 13) {
532 }
else if (
type == 14) {
534 }
else if (
type == 15) {
536 }
else if (
type == 16) {
538 }
else if (
type == 17) {
540 }
else if (
type == 18) {
542 }
else if (
type == 19) {
544 }
else if (
type == 20) {
546 }
else if (
type == 21) {
548 }
else if (
type == 22) {
550 }
else if (
type == 23) {
552 }
else if (
type == 24) {
554 }
else if (
type == 33) {
556 }
else if (
type == 0) {
559 <<
" NULL run type returned!" 564 <<
" UNKNOWN run type (" <<
type <<
") returned!" 570 HashMapAnalysisVersions local_versions =
df->getLocalAnalysisVersions(
globalAnalysisV_);
571 HashMapAnalysisVersions::const_iterator ivers = local_versions.begin();
572 HashMapAnalysisVersions::const_iterator jvers = local_versions.end();
573 for (; ivers != jvers; ++ivers) {
574 if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_FASTFEDCABLING) {
577 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_TIMING) {
580 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_OPTOSCAN) {
583 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_VPSPSCAN) {
586 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_CALIBRATION) {
589 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_PEDESTALS) {
592 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_PEDSFULLNOISE) {
595 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_APVLATENCY) {
598 }
else if (ivers->first == CommissioningAnalysisDescription::T_ANALYSIS_FINEDELAY) {
601 }
else if (ivers->first == CommissioningAnalysisDescription::T_UNKNOWN) {
602 std::stringstream
ss;
604 <<
" Found UNKNOWN AnalysisType!";
607 std::stringstream
ss;
609 <<
" Unable to match content to any AnalysisType!";
618 CommissioningAnalysisDescription::commissioningType
type = CommissioningAnalysisDescription::T_UNKNOWN;
620 type = CommissioningAnalysisDescription::T_ANALYSIS_FASTFEDCABLING;
622 type = CommissioningAnalysisDescription::T_ANALYSIS_TIMING;
624 type = CommissioningAnalysisDescription::T_ANALYSIS_OPTOSCAN;
626 type = CommissioningAnalysisDescription::T_ANALYSIS_VPSPSCAN;
628 type = CommissioningAnalysisDescription::T_ANALYSIS_CALIBRATION;
630 type = CommissioningAnalysisDescription::T_ANALYSIS_CALIBRATION;
632 type = CommissioningAnalysisDescription::T_ANALYSIS_CALIBRATION;
634 type = CommissioningAnalysisDescription::T_ANALYSIS_CALIBRATION;
636 type = CommissioningAnalysisDescription::T_ANALYSIS_PEDESTALS;
638 type = CommissioningAnalysisDescription::T_ANALYSIS_PEDSFULLNOISE;
640 type = CommissioningAnalysisDescription::T_ANALYSIS_APVLATENCY;
642 type = CommissioningAnalysisDescription::T_ANALYSIS_FINEDELAY;
649 HashMapRunVersion::const_iterator ivers = local_versions.end();
651 ivers = --(local_versions.end());
657 if (ivers != local_versions.end()) {
658 if (
type == CommissioningAnalysisDescription::T_ANALYSIS_FASTFEDCABLING) {
665 }
else if (
type == CommissioningAnalysisDescription::T_ANALYSIS_TIMING) {
669 }
else if (
type == CommissioningAnalysisDescription::T_ANALYSIS_OPTOSCAN) {
671 optoScanV_.first = ivers->second.back().first;
672 optoScanV_.second = ivers->second.back().second;
673 }
else if (
type == CommissioningAnalysisDescription::T_ANALYSIS_VPSPSCAN) {
675 vpspScanV_.first = ivers->second.back().first;
676 vpspScanV_.second = ivers->second.back().second;
677 }
else if (
type == CommissioningAnalysisDescription::T_ANALYSIS_CALIBRATION) {
679 apvCalibV_.first = ivers->second.back().first;
680 apvCalibV_.second = ivers->second.back().second;
681 }
else if (
type == CommissioningAnalysisDescription::T_ANALYSIS_PEDESTALS) {
685 }
else if (
type == CommissioningAnalysisDescription::T_ANALYSIS_PEDSFULLNOISE) {
689 }
else if (
type == CommissioningAnalysisDescription::T_ANALYSIS_APVLATENCY) {
693 }
else if (
type == CommissioningAnalysisDescription::T_ANALYSIS_FINEDELAY) {
697 }
else if (
type == CommissioningAnalysisDescription::T_UNKNOWN) {
698 std::stringstream
ss;
700 <<
" Found UNKNOWN AnalysisType!";
703 std::stringstream
ss;
705 <<
" Unable to match content to any AnalysisType!";
709 std::stringstream
ss;
711 <<
"[SiStripPartition::" << __func__ <<
"]" 712 <<
" Unable to find run number " <<
runNumber_ <<
" in \"history\" hash map ";
719 <<
" Mismatch of run number requested (" <<
runNumber_ <<
") and received (" 720 <<
run->getRunNumber() <<
")" 721 <<
" to/from database for partition \"" <<
partitionName_ <<
"\"";
726 <<
" NULL run number returned!" 732 <<
" NULL pointer to TkRun object!" 733 <<
" Unable to retrieve versions for run number " <<
runNumber_ 734 <<
". Run number may not be consistent with partition \"" <<
partitionName_ 740 db->handleException(__func__,
"");
sistrip::RunType runType_
static const std::string defaultPartitionName_
std::string partitionName_
Log< level::Error, false > LogError
static const char mlConfigDb_[]
std::pair< uint32_t, uint32_t > Versions
Versions runTableVersion_
Log< level::Warning, false > LogWarning
uint32_t globalAnalysisV_