Only one Check method needs to be implemented by detectors that will be valid fo...
[u/mrichter/AliRoot.git] / ITS / AliITSQAChecker.h
1 #ifndef ALIITSQACHECKER_H
2 #define ALIITSQACHECKER_H
3 /* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7 /* $Id$ */
8
9 //
10 //  Checks the quality assurance. 
11 //  By comparing with reference data
12 //  INFN Torino
13 //  W.Ferrarese  P.Cerello  Mag 2008
14 //
15
16
17 // --- ROOT system ---
18 class TFile ; 
19 class TH2F ;  
20
21 // --- AliRoot header files ---
22 #include "AliQAv1.h"
23 #include "AliQACheckerBase.h"
24
25 class AliITSQASPDChecker;
26 class AliITSQASDDChecker;
27 class AliITSQASSDChecker;
28 class AliITSLoader ; 
29
30 class AliITSQAChecker: public AliQACheckerBase {
31
32 friend class AliITSQASPDChecker;
33 friend class AliITSQASDDChecker;
34 friend class AliITSQASSDChecker;
35
36 public:
37   AliITSQAChecker(Bool_t kMode = kFALSE, Short_t subDet = 0, Short_t ldc = 0) ;         // ctor
38   AliITSQAChecker(const AliITSQAChecker& qac);
39   AliITSQAChecker& operator=(const AliITSQAChecker& qac);  
40   virtual ~AliITSQAChecker() {;} // dtor
41   void SetMode(Bool_t kMode) { fkOnline = kMode; }
42   void SetSubDet(Short_t subdet) { fDet = subdet; }
43   void SetLDC(Short_t ldc) { fLDC = ldc; }
44   Bool_t GetMode() { return fkOnline; }
45   Short_t GetSubDet() { return fDet; }
46   Short_t GetLDC() { return fLDC; }
47   virtual void SetTaskOffset(Int_t SPDOffset, Int_t SDDOffset, Int_t SSDOffset);
48   virtual void SetDetTaskOffset(Int_t subdet=0,Int_t offset=0);
49
50 protected:
51   virtual Double_t * Check(AliQAv1::ALITASK_t index, TObjArray ** list ) ;
52   virtual void SetSPDTaskOffset(Int_t SPDOffset){fSPDOffset = SPDOffset;} ;
53   virtual void SetSDDTaskOffset(Int_t SDDOffset){fSDDOffset = SDDOffset;} ;
54   virtual void SetSSDTaskOffset(Int_t SSDOffset){fSSDOffset = SSDOffset;} ;
55
56 private:
57
58   Bool_t  fkOnline;
59   Short_t fDet;  
60   Short_t fLDC;
61   Int_t fSPDOffset; //starting point for the QACheck list
62   Int_t fSDDOffset;
63   Int_t fSSDOffset;
64
65   AliITSQASPDChecker *fSPDChecker;  // SPD Checker
66   AliITSQASDDChecker *fSDDChecker;  // SDD Checker
67   AliITSQASSDChecker *fSSDChecker;  // SSD Checker
68
69   ClassDef(AliITSQAChecker,3)  // description 
70
71 };
72
73 #endif // AliITSQAChecker_H