]>
Commit | Line | Data |
---|---|---|
d4741ff3 | 1 | //-*- Mode: C++ -*- |
2 | // $Id$ | |
3 | #ifndef ALIHLTEVECALO_H | |
4 | #define ALIHLTEVECALO_H | |
5 | //* This file is property of and copyright by the ALICE HLT Project * | |
6 | //* ALICE Experiment at CERN, All rights reserved. * | |
7 | //* See cxx source for full Copyright notice * | |
33791895 | 8 | |
9 | /// @file AliHLTEveCalo.h | |
10 | /// @author Svein Lindal | |
11 | /// @brief Base class for the HLT eve calorimeter display elements | |
12 | ||
33791895 | 13 | #include "AliHLTEveBase.h" |
14 | #include "TString.h" | |
15 | ||
2aac76d5 | 16 | class AliHLTCaloClusterReader; |
fd2adb88 | 17 | class AliESDEvent; |
18 | class AliESDCaloCluster; | |
19 | class TRefArray; | |
33791895 | 20 | class TEveElementList; |
21 | class TEveBoxSet; | |
22 | class AliHLTHOMERBlockDesc; | |
3fe4881e | 23 | class TH1F; |
24 | ||
33791895 | 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 | ||
fd2adb88 | 44 | /// Process esd event |
45 | void ProcessEvent(AliESDEvent * event); | |
33791895 | 46 | |
47 | ||
48 | protected : | |
49 | ||
fd7a3071 | 50 | /* Process ESD event block */ |
51 | void ProcessEsdBlock(AliHLTHOMERBlockDesc * block); | |
52 | ||
53 | ||
33791895 | 54 | /** Create the elementlist */ |
fd2adb88 | 55 | virtual void CreateElementList() = 0; |
33791895 | 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 | ||
fd2adb88 | 63 | |
64 | virtual void ProcessESDCluster(AliESDCaloCluster * cluster) = 0; | |
65 | ||
66 | ||
33791895 | 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 ); | |
fd2adb88 | 75 | |
33791895 | 76 | |
e77bc5e0 | 77 | /** Process and draw histograms */ |
78 | void AddHistogramsToCanvas(AliHLTHOMERBlockDesc * block, TCanvas * canvas, Int_t &cdCount ); | |
fd2adb88 | 79 | |
e77bc5e0 | 80 | |
81 | Int_t GetPadNumber(TString name); | |
82 | ||
fd2adb88 | 83 | virtual Int_t GetClusters (AliESDEvent * event, TRefArray * clusters) = 0; |
84 | ||
9374a7f9 | 85 | TEveBoxSet * fBoxSetDigits; //Boxset for clusters and digist |
86 | TEveBoxSet * fBoxSetClusters; //Boxset for clusters and digist | |
33791895 | 87 | |
88 | const Int_t fNModules; //Number of modules in calorimeter | |
89 | ||
fd2adb88 | 90 | |
91 | TRefArray * fClustersArray; | |
92 | ||
93 | ||
33791895 | 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 | ||
3fe4881e | 103 | void DrawInvMassHistogram(TH1F * histo); |
104 | ||
33791895 | 105 | TString fName; //PHOS or EMCAL |
3d600a8b | 106 | TString * fPadTitles; |
3fe4881e | 107 | TCanvas * fInvMassCanvas; |
2aac76d5 | 108 | AliHLTCaloClusterReader * fClusterReader; |
3fe4881e | 109 | |
110 | ||
33791895 | 111 | ClassDef(AliHLTEveCalo, 0); |
112 | }; | |
113 | ||
114 | #endif |