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