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