]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/EVE/AliHLTEveCalo.h
Update from Alberica. Addition of VZERO equalized signals and ZNC.
[u/mrichter/AliRoot.git] / HLT / EVE / AliHLTEveCalo.h
CommitLineData
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 16class AliHLTCaloClusterReader;
fd2adb88 17class AliESDEvent;
18class AliESDCaloCluster;
19class TRefArray;
33791895 20class TEveElementList;
21class TEveBoxSet;
22class AliHLTHOMERBlockDesc;
3fe4881e 23class TH1F;
24
33791895 25
26class AliHLTEveCalo : public AliHLTEveBase {
27
28public:
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
48protected :
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 94private:
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