coding convention
[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& obj) : TTask(obj) {assert(0==1);}
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() { 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
55  private:
56
57   void SetCheckable(AliPHOSQAVirtualCheckable * ca) { fCheckable = ca ; } 
58
59  protected:
60
61   void AddCheckable(AliPHOSQAVirtualCheckable *ca) {fCheckablesList->Add(ca) ;}
62     
63   AliPHOSQAVirtualCheckable * fCheckable ; // current checkable 
64   TList * fCheckablesList ;     // list of checkable objects to be checked 
65
66   ClassDef(AliPHOSQAChecker,1)  // description 
67
68 };
69
70 #endif // ALIPHOSQAChecker_H