1 #ifndef ALIPHOSQAVIRTUALCHECKABLE_H
2 #define ALIPHOSQAVIRTUALCHECKABLE_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 //_________________________________________________________________________
9 // Abstract Class for a QA checkable
11 //*-- Author: Yves Schutz (SUBATECH)
14 // --- ROOT system ---
20 // --- Standard library ---
24 // --- AliRoot header files ---
26 class AliPHOSQAChecker ;
27 class AliPHOSQAAlarm ;
29 class AliPHOSQAVirtualCheckable : public TNamed {
33 AliPHOSQAVirtualCheckable(){} // default ctor not to be used
34 AliPHOSQAVirtualCheckable(const char * name) ; // ctor
35 AliPHOSQAVirtualCheckable(AliPHOSQAVirtualCheckable& obj) {assert(0==1);}
36 virtual ~AliPHOSQAVirtualCheckable() ; // dtor
38 void AddChecker(AliPHOSQAChecker * ch) ;
41 virtual Bool_t HasChanged() const { return fChange ; }
42 TList * GetAlarms() const { return (TList*)fAlarms->FindObject(GetName()) ; }
43 virtual Float_t GetValue() const = 0 ;
44 char * HasA() const { return fType ; }
45 virtual void Print() const = 0 ;
46 void RaiseAlarm(const char * time, const char * checked, const char * checker, const char * message) ;
47 void RemoveChecker(AliPHOSQAChecker *ch) ;
48 virtual void Reset() = 0 ;
54 AliPHOSQAChecker * fChecker ; // the task(s) that is going to act on the checkable
55 char * fType ; //[1] I, F, or O
56 TFolder * fAlarms ; // folder that contains the PHOS alarms
57 Bool_t fChange ; // tells if the checkable has been updated
59 ClassDef(AliPHOSQAVirtualCheckable,1) // description
63 #endif // ALIPHOSQAVirtualCheckable_H