]>
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 | ||
49 | /** Create the elementlist */ | |
fd2adb88 | 50 | virtual void CreateElementList() = 0; |
33791895 | 51 | |
52 | /** Add clusters boxset to eve display */ | |
53 | virtual void AddClusters(Float_t * pos, Int_t module, Float_t energy) = 0; | |
54 | ||
55 | /** Add digits boxset to eve display */ | |
56 | virtual void AddDigits(UShort_t fX, UShort_t fZ, Int_t module, Float_t energy) = 0; | |
57 | ||
fd2adb88 | 58 | |
59 | virtual void ProcessESDCluster(AliESDCaloCluster * cluster) = 0; | |
60 | ||
61 | ||
33791895 | 62 | /** Process clusters block */ |
63 | void ProcessClusters(AliHLTHOMERBlockDesc * block); | |
64 | ||
65 | /** Process digits block */ | |
66 | void ProcessDigits(AliHLTHOMERBlockDesc * block); | |
67 | ||
68 | /** Process histogram block */ | |
69 | void ProcessHistogram(AliHLTHOMERBlockDesc * block ); | |
fd2adb88 | 70 | |
33791895 | 71 | |
e77bc5e0 | 72 | /** Process and draw histograms */ |
73 | void AddHistogramsToCanvas(AliHLTHOMERBlockDesc * block, TCanvas * canvas, Int_t &cdCount ); | |
fd2adb88 | 74 | |
e77bc5e0 | 75 | |
76 | Int_t GetPadNumber(TString name); | |
77 | ||
fd2adb88 | 78 | virtual Int_t GetClusters (AliESDEvent * event, TRefArray * clusters) = 0; |
79 | ||
9374a7f9 | 80 | TEveBoxSet * fBoxSetDigits; //Boxset for clusters and digist |
81 | TEveBoxSet * fBoxSetClusters; //Boxset for clusters and digist | |
33791895 | 82 | |
83 | const Int_t fNModules; //Number of modules in calorimeter | |
84 | ||
fd2adb88 | 85 | |
86 | TRefArray * fClustersArray; | |
87 | ||
88 | ||
33791895 | 89 | private: |
90 | ||
91 | /** default constructor prohibited */ | |
92 | AliHLTEveCalo(); | |
93 | /** copy constructor prohibited */ | |
94 | AliHLTEveCalo(const AliHLTEveCalo&); | |
95 | /** assignment operator prohibited */ | |
96 | AliHLTEveCalo& operator = (const AliHLTEveCalo &); | |
97 | ||
3fe4881e | 98 | void DrawInvMassHistogram(TH1F * histo); |
99 | ||
33791895 | 100 | TString fName; //PHOS or EMCAL |
3d600a8b | 101 | |
102 | TString * fPadTitles; | |
e77bc5e0 | 103 | |
3fe4881e | 104 | |
105 | TCanvas * fInvMassCanvas; | |
106 | ||
107 | ||
33791895 | 108 | ClassDef(AliHLTEveCalo, 0); |
109 | }; | |
110 | ||
111 | #endif |