]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/EVE/AliHLTEveCalo.h
Coverity fixes
[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 AliHLTCaloClusterReader;
17 class AliESDEvent;
18 class AliESDCaloCluster;
19 class TRefArray;
20 class TEveElementList;
21 class TEveBoxSet;
22 class AliHLTHOMERBlockDesc;
23 class TH1F;
24
25
26 class AliHLTEveCalo : public AliHLTEveBase {
27
28 public:
29   
30   /** Constructor  **/
31   AliHLTEveCalo(Int_t nm, TString name);
32
33   /** Destructor **/
34  ~AliHLTEveCalo();
35   
36   void ProcessBlock(AliHLTHOMERBlockDesc * block);
37
38   /** inherited from AliHLTEveBase */
39   void UpdateElements();
40   
41   /** inherited from AliHLTEveBase */
42   void ResetElements();
43
44   /// Process esd event
45   void ProcessEvent(AliESDEvent * event);
46
47
48 protected :
49
50   /* Process ESD event block */
51   void ProcessEsdBlock(AliHLTHOMERBlockDesc * block);
52   
53
54   /** Create the elementlist */
55   virtual void CreateElementList() = 0;
56   
57   /** Add clusters boxset to eve display */
58   virtual void AddClusters(Float_t * pos, Int_t module, Float_t energy) = 0;
59
60   /** Add digits boxset to eve display */
61   virtual void AddDigits(UShort_t fX, UShort_t fZ, Int_t module, Float_t energy) = 0;
62
63   
64   virtual void ProcessESDCluster(AliESDCaloCluster * cluster)  = 0;
65
66
67   /** Process clusters block */
68   void ProcessClusters(AliHLTHOMERBlockDesc * block);
69   
70   /** Process digits block */
71   void ProcessDigits(AliHLTHOMERBlockDesc * block);
72
73   /** Process histogram block */
74   void ProcessHistogram(AliHLTHOMERBlockDesc * block );
75
76   
77   /** Process and draw histograms */
78   void AddHistogramsToCanvas(AliHLTHOMERBlockDesc * block, TCanvas * canvas, Int_t &cdCount );  
79   
80
81   Int_t GetPadNumber(TString name);  
82
83   virtual Int_t GetClusters (AliESDEvent * event, TRefArray * clusters) = 0;
84
85   TEveBoxSet * fBoxSetDigits;            //Boxset for clusters and digist
86   TEveBoxSet * fBoxSetClusters;            //Boxset for clusters and digist
87
88   const Int_t fNModules;          //Number of modules in calorimeter
89
90
91   TRefArray * fClustersArray;
92
93
94 private:
95   
96   /** default constructor prohibited */
97   AliHLTEveCalo();
98   /** copy constructor prohibited */
99   AliHLTEveCalo(const AliHLTEveCalo&);
100   /** assignment operator prohibited */
101   AliHLTEveCalo& operator = (const AliHLTEveCalo &);
102
103   void DrawInvMassHistogram(TH1F * histo);
104
105   TString fName;  //PHOS or EMCAL
106   TString * fPadTitles;
107   TCanvas * fInvMassCanvas;
108   AliHLTCaloClusterReader * fClusterReader;
109
110
111   ClassDef(AliHLTEveCalo, 0);
112 };
113
114 #endif