X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=blobdiff_plain;f=STEER%2FAliQA.cxx;h=198805cf19e967208d8189e4de7e20cef9a43f65;hp=776b10f3b456a6c114c277a3bcc64ae1af4a1787;hb=384c0618e025235fbc2903f1b85e3b2847f2ff86;hpb=b7691c68aff8cbdd6f49fdda4e9ddf47bcf43c3a diff --git a/STEER/AliQA.cxx b/STEER/AliQA.cxx index 776b10f3b45..198805cf19e 100644 --- a/STEER/AliQA.cxx +++ b/STEER/AliQA.cxx @@ -405,11 +405,11 @@ const AliQA::TASKINDEX_t AliQA::GetTaskIndex(const char * name) const Bool_t AliQA::IsSet(DETECTORINDEX_t det, ALITASK_t tsk, QABIT_t bit) const { // Checks is the requested bit is set - + CheckRange(det) ; CheckRange(tsk) ; CheckRange(bit) ; - + ULong_t offset = Offset(tsk) ; ULong_t status = GetStatus(det) ; offset+= bit ; @@ -417,6 +417,48 @@ const Bool_t AliQA::IsSet(DETECTORINDEX_t det, ALITASK_t tsk, QABIT_t bit) const return status ; } +//_______________________________________________________________ +const Bool_t AliQA::IsSetAny(DETECTORINDEX_t det, ALITASK_t tsk) const +{ + // Checks is the requested bit is set + + CheckRange(det) ; + CheckRange(tsk) ; + + ULong_t offset = Offset(tsk) ; + ULong_t status = GetStatus(det) ; + UShort_t st = 0 ; + for ( Int_t bit = 0 ; bit < kNBIT ; bit++) { + offset+= bit ; + st += (status & 1 << offset) != 0 ; + } + if ( st == 0 ) + return kFALSE ; + else + return kTRUE ; +} +//_______________________________________________________________ +const Bool_t AliQA::IsSetAny(DETECTORINDEX_t det) const +{ + // Checks is the requested bit is set + + CheckRange(det) ; + + ULong_t status = GetStatus(det) ; + UShort_t st = 0 ; + for ( Int_t tsk = 0 ; tsk < kNTASK ; tsk++) { + ULong_t offset = Offset(ALITASK_t(tsk)) ; + for ( Int_t bit = 0 ; bit < kNBIT ; bit++) { + offset+= bit ; + st += (status & 1 << offset) != 0 ; + } + } + if ( st == 0 ) + return kFALSE ; + else + return kTRUE ; +} + //_______________________________________________________________ AliQA * AliQA::Instance() {