本文整理汇总了C++中KVDetector::IsPresent方法的典型用法代码示例。如果您正苦于以下问题:C++ KVDetector::IsPresent方法的具体用法?C++ KVDetector::IsPresent怎么用?C++ KVDetector::IsPresent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KVDetector
的用法示例。
在下文中一共展示了KVDetector::IsPresent方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CheckStatusOfDetectors
//_______________________________________________________________//
void KVINDRAUpDater::CheckStatusOfDetectors(KVDBRun* kvrun)
{
KVRList* absdet = kvrun->GetLinks("Absent Detectors");
KVRList* oooacq = kvrun->GetLinks("OoO ACQPars");
KVRList* ooodet = kvrun->GetLinks("OoO Detectors");
TIter next(fArray->GetDetectors());
KVDetector* det;
KVACQParam* acq;
Int_t ndet_absent = 0;
Int_t ndet_ooo = 0;
Int_t nacq_ooo = 0;
while ((det = (KVDetector*)next())) {
//Test de la presence ou non du detecteur
if (!absdet) {
det->SetPresent();
}
else {
if (absdet->FindObject(det->GetName(), "Absent Detector")) {
det->SetPresent(kFALSE);
ndet_absent += 1;
}
else {
det->SetPresent();
}
}
if (det->IsPresent()) {
//Test du bon fonctionnement ou non du detecteur
if (!ooodet) {
det->SetDetecting();
}
else {
if (ooodet->FindObject(det->GetName(), "OoO Detector")) {
det->SetDetecting(kFALSE);
ndet_ooo += 1;
}
else {
det->SetDetecting();
}
}
//Test du bon fonctionnement ou non des parametres d acquisition
if (det->IsDetecting()) {
TIter next_acq(det->GetACQParamList());
if (!oooacq) {
while ((acq = (KVACQParam*)next_acq())) {
acq->SetWorking();
}
}
else {
Int_t noff = 0;
while ((acq = (KVACQParam*)next_acq())) {
if (oooacq->FindObject(acq->GetName(), "OoO ACQPar")) {
acq->SetWorking(kFALSE);
noff += 1;
nacq_ooo += 1;
}
else {
acq->SetWorking();
}
}
if (noff == 3) {
det->SetDetecting(kFALSE);
ndet_ooo += 1;
nacq_ooo -= 3;
}
}
}
}
}
Info("KVINDRAUpDater", "%d detecteurs absents", ndet_absent);
Info("KVINDRAUpDater", "%d detecteurs ne fonctionnent pas", ndet_ooo);
Info("KVINDRAUpDater", "%d parametres d acquisition ne fonctionnent pas", nacq_ooo);
}