Partial redesign of identification bits and coding rule corrections
[u/mrichter/AliRoot.git] / PHOS / AliPHOSQAVirtualCheckable.h
CommitLineData
66f72ab4 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 */
5
6/* $Id$ */
7
8//_________________________________________________________________________
9// Abstract Class for a QA checkable
10//
11//*-- Author: Yves Schutz (SUBATECH)
12
13
14// --- ROOT system ---
15
16#include "TFolder.h"
17#include "TNamed.h"
66f72ab4 18
19// --- Standard library ---
20
66f72ab4 21// --- AliRoot header files ---
22
23class AliPHOSQAChecker ;
24class AliPHOSQAAlarm ;
25
26class AliPHOSQAVirtualCheckable : public TNamed {
27
28public:
29
2685bf00 30 AliPHOSQAVirtualCheckable(){
31 fChecker = 0 ;
32 fAlarms = 0;
33 } // default ctor not to be used
66f72ab4 34 AliPHOSQAVirtualCheckable(const char * name) ; // ctor
b53cc5df 35 AliPHOSQAVirtualCheckable(AliPHOSQAVirtualCheckable& obj) {Fatal("AliPHOSQAVirtualCheckable", "CPY CTOR not implemented") ;}
66f72ab4 36 virtual ~AliPHOSQAVirtualCheckable() ; // dtor
37
38 void AddChecker(AliPHOSQAChecker * ch) ;
39 void Alarms() const ;
40 void CheckMe() ;
41 virtual Bool_t HasChanged() const { return fChange ; }
7b7c1533 42 TObjArray * GetAlarms() const { return (TObjArray*)fAlarms->FindObject(GetName()) ; }
66f72ab4 43 virtual Float_t GetValue() const = 0 ;
7b7c1533 44 TString HasA() const { return fType ; }
66f72ab4 45 virtual void Print() const = 0 ;
6df6d499 46 void RaiseAlarm(const char * time, const char * checked, const char * checker, const char * message) const ;
66f72ab4 47 void RemoveChecker(AliPHOSQAChecker *ch) ;
48 virtual void Reset() = 0 ;
49 void ResetAlarms() ;
50 void Status() const ;
51
52protected:
53
54 AliPHOSQAChecker * fChecker ; // the task(s) that is going to act on the checkable
7b7c1533 55 TString fType ; // I, F, or O
56 TFolder * fAlarms ; // folder that contains the PHOS alarms
57 Bool_t fChange ; // tells if the checkable has been updated
66f72ab4 58
59 ClassDef(AliPHOSQAVirtualCheckable,1) // description
60
61};
62
63#endif // ALIPHOSQAVirtualCheckable_H