]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSQAChecker.h
assert removed
[u/mrichter/AliRoot.git] / PHOS / AliPHOSQAChecker.h
1 #ifndef ALIPHOSQACHECKER_H
2 #define ALIPHOSQACHECKER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 //_________________________________________________________________________
9 //  Base class of a checker, to be instanciated as a task container  
10 //                  
11 //*-- Author: Yves Schutz (SUBATECH)
12
13
14 // --- ROOT system ---
15
16 class TString ; 
17 #include "TTask.h"
18
19 // --- Standard library ---
20
21 // --- AliRoot header files ---
22
23 #include "AliPHOSQAVirtualCheckable.h"
24
25 class AliPHOSQAChecker : public TTask {
26
27 public:
28
29   AliPHOSQAChecker(){
30     fCheckablesList = 0;
31     fCheckable = 0;
32   } ;          // default ctor (not to be used)
33   AliPHOSQAChecker(const char * name, const char * title) ; // ctor
34   AliPHOSQAChecker(AliPHOSQAChecker& qac) {Fatal("AliPHOSQAChecker", "Copy CTOR not implemented") ; } 
35   virtual ~AliPHOSQAChecker() ; // dtor
36
37   void Alarms() { ExecuteTask("A") ; }  
38   virtual TString CheckingOperation(){ return TString(""); } // where the checking operation must be implemented
39   void CheckIt() ; 
40   void CheckIt(AliPHOSQAVirtualCheckable *ca)  ;
41   void Delete() const { delete this ; } // Hara-Kiri
42   TList * GetListOfCheckables() const { return fCheckablesList ; } 
43   virtual void  Exec(Option_t *option) ;   
44   virtual void Print() ;
45   void PrintAlarms() ; 
46   void PrintAll() { ExecuteTask("P") ; } 
47   void Remove(AliPHOSQAChecker * ch) {GetListOfTasks()->Remove(ch); }  
48   void Status() ; 
49   void StatusAll() { ExecuteTask("S") ; } 
50
51   friend void AliPHOSQAVirtualCheckable::AddChecker(AliPHOSQAChecker * ch) ;
52   friend AliPHOSQAVirtualCheckable::AliPHOSQAVirtualCheckable(const char * name) ;
53
54   AliPHOSQAChecker & operator = (AliPHOSQAChecker & qac) { return *this ; } 
55
56  private:
57
58   void SetCheckable(AliPHOSQAVirtualCheckable * ca) { fCheckable = ca ; } 
59
60  protected:
61
62   void AddCheckable(AliPHOSQAVirtualCheckable *ca) {fCheckablesList->Add(ca) ;}
63     
64   AliPHOSQAVirtualCheckable * fCheckable ; // current checkable 
65   TList * fCheckablesList ;     // list of checkable objects to be checked 
66
67   ClassDef(AliPHOSQAChecker,1)  // description 
68
69 };
70
71 #endif // ALIPHOSQAChecker_H