Introducing Header instead of Log
[u/mrichter/AliRoot.git] / STEER / AliMCQA.h
1 #ifndef ALIMCQA_H
2 #define ALIMCQA_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 //                                                                           //
10 //   Quality assurance services for MC                                       //
11 //                                                                           //
12 ///////////////////////////////////////////////////////////////////////////////
13
14 #include "TObject.h"
15 class TObjArray;
16 class TBrowser;
17 class TPaveLabel;
18
19 class AliMCQA : public TObject
20 {
21 public:
22   AliMCQA();
23   AliMCQA(Int_t ndets);
24   AliMCQA(const AliMCQA &);
25   virtual ~AliMCQA();
26   Bool_t  IsFolder() const {return kTRUE;}
27   virtual  void  Browse(TBrowser *b);
28   virtual  void  PreTrack();
29   virtual  TObjArray *GetQAList() const {return fQAList;}
30   void DrawModuleName();
31   void AddModuleName();
32   void DrawVolumeName();
33   void AddVolumeName();
34   AliMCQA & operator=(const AliMCQA &qa) 
35     {qa.Copy(*this); return (*this);}
36
37   // QA step manager
38   virtual void StepManager(Int_t id);
39
40 protected:
41   Int_t       fNdets;       // Number of detectors
42   Int_t       fNvolumes;    // Number of volumes
43   TObjArray  *fQAList;      // QA lists of histograms
44   Int_t       fOldId;       //! ID of the current module
45   Int_t      *fDetDone;     //! Detector done flag 
46   TObjArray  *fQAHist;      // Global QA histograms
47   TObjArray  *fVolNames;    // Volume names
48   TObjArray  *fModNames;    // Module names
49   TPaveLabel *fMPaveLabel;  //! PaveLabel for the Modules
50   TPaveLabel *fVPaveLabel;  //! PaveLabel for the Volumes
51
52 private:
53   void DrawPaveLabel(TPaveLabel *&pv);
54   Int_t GetHBin(const char* hname);
55   void Copy(AliMCQA& qa) const;
56
57   ClassDef(AliMCQA,1)  //Quality Assurance class for the MC
58 };
59
60 #endif