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 */
5 /// @file AliHLTEveCalo.h
6 /// @author Svein Lindal
7 /// @brief Base class for the HLT eve calorimeter display elements
10 #ifndef ALIHLTEVECALO_H
11 #define ALIHLTEVECALO_H
13 #include "AliHLTEveBase.h"
16 class TEveElementList;
18 class AliHLTHOMERBlockDesc;
20 class AliHLTEveCalo : public AliHLTEveBase {
25 AliHLTEveCalo(Int_t nm, TString name);
30 void ProcessBlock(AliHLTHOMERBlockDesc * block);
32 /** inherited from AliHLTEveBase */
33 void UpdateElements();
35 /** inherited from AliHLTEveBase */
42 /** Create the elementlist */
43 virtual TEveElementList * CreateElementList() = 0;
45 /** Add clusters boxset to eve display */
46 virtual void AddClusters(Float_t * pos, Int_t module, Float_t energy) = 0;
48 /** Add digits boxset to eve display */
49 virtual void AddDigits(UShort_t fX, UShort_t fZ, Int_t module, Float_t energy) = 0;
51 /** Process clusters block */
52 void ProcessClusters(AliHLTHOMERBlockDesc * block);
54 /** Process digits block */
55 void ProcessDigits(AliHLTHOMERBlockDesc * block);
57 /** Process histogram block */
58 void ProcessHistogram(AliHLTHOMERBlockDesc * block );
60 /** Process and draw histograms */
61 void AddHistogramsToCanvas(AliHLTHOMERBlockDesc * block, TCanvas * canvas, Int_t &cdCount );
63 Int_t GetPadNumber(TString name);
65 TEveBoxSet * fBoxSet; //Boxset for clusters and digist
67 TEveElementList * fElementList; //Element list to contain the clusters
69 const Int_t fNModules; //Number of modules in calorimeter
75 /** default constructor prohibited */
77 /** copy constructor prohibited */
78 AliHLTEveCalo(const AliHLTEveCalo&);
79 /** assignment operator prohibited */
80 AliHLTEveCalo& operator = (const AliHLTEveCalo &);
82 TString fName; //PHOS or EMCAL
84 TString fPadTitles[9];
86 ClassDef(AliHLTEveCalo, 0);