a new macro providing a QA GUI for shifter
[u/mrichter/AliRoot.git] / STEER / AliQA.cxx
index 776b10f3b456a6c114c277a3bcc64ae1af4a1787..198805cf19e967208d8189e4de7e20cef9a43f65 100644 (file)
@@ -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
 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) ;
   CheckRange(det) ; 
   CheckRange(tsk) ;
   CheckRange(bit) ;
-
+       
   ULong_t offset = Offset(tsk) ;
   ULong_t status = GetStatus(det) ;
   offset+= 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 ;
 }
 
   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()
 {
 //_______________________________________________________________
 AliQA * AliQA::Instance()
 {