coding convention
[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
66f72ab4 21// --- AliRoot header files ---
22
23#include "AliPHOSQAVirtualCheckable.h"
24
25class AliPHOSQAChecker : public TTask {
26
27public:
28
2685bf00 29 AliPHOSQAChecker(){
30 fCheckablesList = 0;
31 fCheckable = 0;
32 } ; // default ctor (not to be used)
66f72ab4 33 AliPHOSQAChecker(const char * name, const char * title) ; // ctor
a8c47ab6 34 AliPHOSQAChecker(AliPHOSQAChecker& obj) : TTask(obj) {assert(0==1);}
66f72ab4 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) ;
88cb7938 41 void Delete() { delete this ; } // Hara-Kiri
66f72ab4 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) ;
9688c1dd 52 friend AliPHOSQAVirtualCheckable::AliPHOSQAVirtualCheckable(const char * name) ;
66f72ab4 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