MUON + CheckCompiler
[u/mrichter/AliRoot.git] / FMD / AliFMDQADataMakerRec.h
1 #ifndef ALIFMDQADATAMAKERREC_H
2 #define ALIFMDQADATAMAKERREC_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
4  * reserved. 
5  *
6  * See cxx source for full Copyright notice                               
7  */
8 #include "AliQADataMakerRec.h"
9 #include "TClonesArray.h"
10 class TH1F; 
11 class TH1I; 
12 class TList; 
13 class AliFMDReconstructor;
14
15 //_____________________________________________________________________
16 // This class implements the AliQADataMakerRec for the FMD. Some
17 // functions are not implemented yet. 
18 // Author : Hans Hjersing Dalsgaard, hans.dalsgaard@cern.ch
19 //_____________________________________________________________________
20
21 class AliFMDQADataMakerRec: public AliQADataMakerRec 
22 {
23 public:
24   enum { 
25     kResetBit = BIT(23)
26   };
27   /** 
28    * Constructor
29    */
30   AliFMDQADataMakerRec();
31   /** 
32    * Copy constructor 
33    * 
34    * @param qadm What to copy from
35    */
36   AliFMDQADataMakerRec(const AliFMDQADataMakerRec& qadm);
37   /** 
38    * Assignment operator 
39    * 
40    * @param qadm What to assign from 
41    * 
42    * @return Reference to this
43    */
44   AliFMDQADataMakerRec& operator = (const AliFMDQADataMakerRec& qadm) ;
45   /** 
46    * Destrcutor 
47    */
48   virtual ~AliFMDQADataMakerRec();
49   /** 
50    * Get the half-ring index
51    * 
52    * @param det      Detector
53    * @param ring     Ring
54    * @param board    Board number
55    * @param monitor  Monitor 
56    * 
57    * @return Half ring index
58    */
59   static Int_t GetHalfringIndex(UShort_t det, Char_t ring, 
60                                 UShort_t board, UShort_t monitor = 0);
61   static void GetHalfringFromIndex(Int_t     idx, 
62                                    UShort_t& det, 
63                                    Char_t&   ring, 
64                                    UShort_t& board, 
65                                    UShort_t& monitor);
66 private:
67   static TH1* MakeADCHist(UShort_t d=0, Char_t r='\0', Short_t b=-1);
68   static TH1* MakeELossHist(UShort_t d=0, Char_t r='\0', Short_t b=-1);
69   
70   /** 
71    * Called at end of monitor cycle 
72    * 
73    * @param TASKINDEX_t Task
74    * @param list        Output list
75    */
76   virtual void   EndOfDetectorCycle(AliQAv1::TASKINDEX_t, TObjArray ** list);
77   /** 
78    * Intialize for ESD
79    */
80   virtual void   InitESDs(); 
81   /** 
82    * Intialize for Digits
83    */
84   virtual void   InitDigits(); 
85   /** 
86    * Intialize for RecPoints
87    */
88   virtual void   InitRecPoints(); 
89   /** 
90    * Initialise for raw 
91    */
92   virtual void   InitRaws(); 
93   /** 
94    * Analyse ESD event
95    * 
96    * @param esd ESD event
97    */
98   virtual void   MakeESDs(AliESDEvent * esd);
99   /** 
100    * Analyse digits 
101    */
102   virtual void   MakeDigits(); 
103   /** 
104    * Analyse digits
105    * 
106    * @param digitTree Tree of digits
107    */
108   virtual void   MakeDigits(TTree * digitTree); 
109   /** 
110    * Analyse rec points
111    * 
112    * @param recpoTree Tree of RecPoints
113    */
114   virtual void   MakeRecPoints(TTree * recpoTree); 
115   /** 
116    * Analyse raw 
117    * 
118    * @param rawReader Raw reader
119    */
120   virtual void   MakeRaws(AliRawReader* rawReader); 
121   /** 
122    * Called at start of a cycle 
123    * 
124    */
125   virtual void   StartOfDetectorCycle(); 
126   TClonesArray fRecPointsArray; // Rec points
127   AliFMDReconstructor* fReconstructor;
128   Bool_t               fUseReconstructor;
129
130   ClassDef(AliFMDQADataMakerRec,0)  // description 
131 };
132
133 #endif // AliFMDQADataMakerRec_H
134 //____________________________________________________________________
135 //
136 // Local Variables: 
137 //  mode: c++
138 // End:
139 //
140