]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/EVE/AliHLTEveCalo.h
allow merging of non-std objects which are not a collection
[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
16class TEveElementList;
17class TEveBoxSet;
18class AliHLTHOMERBlockDesc;
3fe4881e 19class TH1F;
20
33791895 21
22class AliHLTEveCalo : public AliHLTEveBase {
23
24public:
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
42protected :
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 74private:
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