Transition to NewIO
[u/mrichter/AliRoot.git] / PHOS / AliPHOSQAChecker.h
CommitLineData
66f72ab4 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
16class TString ;
17#include "TTask.h"
18
19// --- Standard library ---
20
88cb7938 21#include <assert.h>
22
66f72ab4 23// --- AliRoot header files ---
24
25#include "AliPHOSQAVirtualCheckable.h"
26
27class AliPHOSQAChecker : public TTask {
28
29public:
30
2685bf00 31 AliPHOSQAChecker(){
32 fCheckablesList = 0;
33 fCheckable = 0;
34 } ; // default ctor (not to be used)
66f72ab4 35 AliPHOSQAChecker(const char * name, const char * title) ; // ctor
88cb7938 36 AliPHOSQAChecker(AliPHOSQAChecker& obj) {assert(0==1);}
66f72ab4 37 virtual ~AliPHOSQAChecker() ; // dtor
38
39 void Alarms() { ExecuteTask("A") ; }
40 virtual TString CheckingOperation(){ return TString(""); } // where the checking operation must be implemented
41 void CheckIt() ;
42 void CheckIt(AliPHOSQAVirtualCheckable *ca) ;
88cb7938 43 void Delete() { delete this ; } // Hara-Kiri
66f72ab4 44 TList * GetListOfCheckables() const { return fCheckablesList ; }
45 virtual void Exec(Option_t *option) ;
46 virtual void Print() ;
47 void PrintAlarms() ;
48 void PrintAll() { ExecuteTask("P") ; }
49 void Remove(AliPHOSQAChecker * ch) {GetListOfTasks()->Remove(ch); }
50 void Status() ;
51 void StatusAll() { ExecuteTask("S") ; }
52
53 friend void AliPHOSQAVirtualCheckable::AddChecker(AliPHOSQAChecker * ch) ;
9688c1dd 54 friend AliPHOSQAVirtualCheckable::AliPHOSQAVirtualCheckable(const char * name) ;
66f72ab4 55
56
57 private:
58
59 void SetCheckable(AliPHOSQAVirtualCheckable * ca) { fCheckable = ca ; }
60
61 protected:
62
63 void AddCheckable(AliPHOSQAVirtualCheckable *ca) {fCheckablesList->Add(ca) ;}
64
65 AliPHOSQAVirtualCheckable * fCheckable ; // current checkable
66 TList * fCheckablesList ; // list of checkable objects to be checked
67
68 ClassDef(AliPHOSQAChecker,1) // description
69
70};
71
72#endif // ALIPHOSQAChecker_H