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(){
36 } // default ctor not to be used
37 AliPHOSQAVirtualCheckable(const char * name) ; // ctor
38 AliPHOSQAVirtualCheckable(AliPHOSQAVirtualCheckable& obj) {assert(0==1);}
39 virtual ~AliPHOSQAVirtualCheckable() ; // dtor
41 void AddChecker(AliPHOSQAChecker * ch) ;
44 virtual Bool_t HasChanged() const { return fChange ; }
45 TObjArray * GetAlarms() const { return (TObjArray*)fAlarms->FindObject(GetName()) ; }
46 virtual Float_t GetValue() const = 0 ;
47 TString HasA() const { return fType ; }
48 virtual void Print() const = 0 ;
49 void RaiseAlarm(const char * time, const char * checked, const char * checker, const char * message) ;
50 void RemoveChecker(AliPHOSQAChecker *ch) ;
51 virtual void Reset() = 0 ;
57 AliPHOSQAChecker * fChecker ; // the task(s) that is going to act on the checkable
58 TString fType ; // I, F, or O
59 TFolder * fAlarms ; // folder that contains the PHOS alarms
60 Bool_t fChange ; // tells if the checkable has been updated
62 ClassDef(AliPHOSQAVirtualCheckable,1) // description
66 #endif // ALIPHOSQAVirtualCheckable_H