]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/EVE/AliHLTEveCalo.h
- adding the use of the histogram merger
[u/mrichter/AliRoot.git] / HLT / EVE / AliHLTEveCalo.h
CommitLineData
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 16class AliESDEvent;
17class AliESDCaloCluster;
18class TRefArray;
33791895 19class TEveElementList;
20class TEveBoxSet;
21class AliHLTHOMERBlockDesc;
3fe4881e 22class TH1F;
23
33791895 24
25class AliHLTEveCalo : public AliHLTEveBase {
26
27public:
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
47protected :
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 93private:
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