]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/EVE/AliHLTEveCalo.h
Updated histogram drawing for PHOS
[u/mrichter/AliRoot.git] / HLT / EVE / AliHLTEveCalo.h
1 /* This file is property of and copyright by the ALICE HLT Project        *
2  * ALICE Experiment at CERN, All rights reserved.                         *
3  * See cxx source for full Copyright notice                               */
4
5 /// @file   AliHLTEveCalo.h
6 /// @author Svein Lindal
7 /// @brief  Base class for the HLT eve calorimeter display elements
8
9
10 #ifndef ALIHLTEVECALO_H
11 #define ALIHLTEVECALO_H
12
13 #include "AliHLTEveBase.h"
14 #include "TString.h"
15
16 class TEveElementList;
17 class TEveBoxSet;
18 class AliHLTHOMERBlockDesc;
19
20 class AliHLTEveCalo : public AliHLTEveBase {
21
22 public:
23   
24   /** Constructor  **/
25   AliHLTEveCalo(Int_t nm, TString name);
26
27   /** Destructor **/
28  ~AliHLTEveCalo();
29   
30   void ProcessBlock(AliHLTHOMERBlockDesc * block);
31
32   /** inherited from AliHLTEveBase */
33   void UpdateElements();
34   
35   /** inherited from AliHLTEveBase */
36   void ResetElements();
37
38
39
40 protected :
41
42   /** Create the elementlist */
43   virtual TEveElementList * CreateElementList() = 0;
44   
45   /** Add clusters boxset to eve display */
46   virtual void AddClusters(Float_t * pos, Int_t module, Float_t energy) = 0;
47
48   /** Add digits boxset to eve display */
49   virtual void AddDigits(UShort_t fX, UShort_t fZ, Int_t module, Float_t energy) = 0;
50
51   /** Process clusters block */
52   void ProcessClusters(AliHLTHOMERBlockDesc * block);
53   
54   /** Process digits block */
55   void ProcessDigits(AliHLTHOMERBlockDesc * block);
56
57   /** Process histogram block */
58   void ProcessHistogram(AliHLTHOMERBlockDesc * block );
59   
60   /** Process and draw histograms */
61   void AddHistogramsToCanvas(AliHLTHOMERBlockDesc * block, TCanvas * canvas, Int_t &cdCount );  
62
63   Int_t GetPadNumber(TString name);  
64
65   TEveBoxSet * fBoxSet;            //Boxset for clusters and digist
66   
67   TEveElementList * fElementList; //Element list to contain the clusters
68
69   const Int_t fNModules;          //Number of modules in calorimeter
70
71
72
73 private:
74   
75   /** default constructor prohibited */
76   AliHLTEveCalo();
77   /** copy constructor prohibited */
78   AliHLTEveCalo(const AliHLTEveCalo&);
79   /** assignment operator prohibited */
80   AliHLTEveCalo& operator = (const AliHLTEveCalo &);
81
82   TString fName;  //PHOS or EMCAL
83   
84   TString fPadTitles[9];
85
86   ClassDef(AliHLTEveCalo, 0);
87 };
88
89 #endif