]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/EMCAL/AliHLTEMCALUtils.h
Refactoring: rempved the usage of AliHLTEMCALConstant
[u/mrichter/AliRoot.git] / HLT / EMCAL / AliHLTEMCALUtils.h
CommitLineData
23d3fe49 1#ifndef ALIHLTEMCALUTILS_H
2#define ALIHLTEMCALUTILS_H
3
4//* This file is property of and copyright by the ALICE HLT Project *
5//* ALICE Experiment at CERN, All rights reserved. *
6//* See cxx source for full Copyright notice */
7
8/** @file AliHLTEMCALUtils.h
9 @author m. ploskon
10 @date
11 @brief Utils for EMCAL-HLT
12*/
13
14#include <TObject.h>
15
16/**
17 * @class AliHLTEMCALUtils
18 */
19
20class AliEMCALGeometry;
21class AliEMCALClusterizerv1;
22class AliEMCALRecParam;
23class AliEMCALRawUtils;
a558187d 24class AliRawReader;
25class AliESDEvent;
26
27class TString;
28class TFile;
29class TGeoManager;
30class TTree;
31class TClonesArray;
32class TBranch;
23d3fe49 33
34class AliHLTEMCALUtils : public TObject
35{
36 public:
37 AliHLTEMCALUtils();
38 AliHLTEMCALUtils(const AliHLTEMCALUtils & /*t*/);
39 AliHLTEMCALUtils & operator = (const AliHLTEMCALUtils & /*t*/);
40 virtual ~AliHLTEMCALUtils();
41
a558187d 42 static void SetDebug(Int_t idbg) {fgDebug = idbg;}
43
44 static void DeleteStaticMembers();
45 static void Cleanup();
46
47 static void InitRecParam();
48 static AliEMCALRecParam* GetRecParam();
49
50 static AliEMCALRawUtils* GetRawUtils(AliEMCALGeometry *pGeometry = 0);
51 static AliEMCALClusterizerv1* GetClusterizer();
52 static AliEMCALGeometry* GetGeometry();
53
54 static void DeleteGeoManager();
55 static Bool_t LoadGeoManagerFromFile(const char *fname);
56 static TGeoManager* GetGeoManager() {return fgGeoManager;}
57
58 static Bool_t InitFakeCDB(const char *cdbpath = "", Int_t runid = 0);
59 static Bool_t ConvertDigits(AliRawReader* rawReader, TTree* digitsTree, Option_t* sOption);
60 static Bool_t Raw2Clusters(AliRawReader* rawReader, TTree* clustersTree, Option_t* sDigitsOption);
61 static Bool_t RawBuffer2Clusters(UChar_t *buffer, ULong_t buffSize,
62 Int_t eqID,
63 TTree* clustersTree, Option_t* sDigitsOption);
64 static TTree* RawBuffer2Clusters(UChar_t *buffer, ULong_t buffSize,
65 Int_t eqID,
66 Option_t* sDigitsOption);
23d3fe49 67
a558187d 68 static TTree* GetDigitsTree();
69 static TTree* GetClustersTree();
23d3fe49 70
a558187d 71 static UChar_t * FileToMemory(const char *fname, UChar_t *outpbuffer, ULong_t &buffSize);
72
73 static void ResetReconstructionTrees();
74 static void DeleteReconstructionTrees();
75
76 static Bool_t FillESD(TTree* digitsTree, TTree* clustersTree, AliESDEvent* esd);
77
23d3fe49 78 protected:
a558187d 79
23d3fe49 80 private:
a558187d 81
82 static Int_t fgDebug; // debug flag
23d3fe49 83
84 static AliEMCALGeometry* fgGeom; // EMCAL geometry
85 static AliEMCALClusterizerv1* fgClusterizer; // ECMAL clusterizer
86 static AliEMCALRecParam* fgRecParam; // EMCAL reconstruction parameters
87 static AliEMCALRawUtils* fgRawUtils; // EMCAL raw utilities
a558187d 88
89 static TFile* fgGeometryFile; //! // Pointer to the geom root file
90 static TGeoManager* fgGeoManager; //! Pointer to geometry manager
91
92 static TTree* fgClustersTreeTmp; //! Clusters tree - depending on the reco scheme
93 // use ResetReconstructionTrees
94 static TTree* fgDigitsTreeTmp; //! Digits tree - reset on each Raw2Clusters call
95 static TClonesArray* fgDigitsArrTmp; //! Digits array - reset on each Raw2Clusters call
96 static TBranch* fgDigitsBranchTmp; //! Digits branch - reset on each Raw2Clusters call
97
23d3fe49 98 ClassDef(AliHLTEMCALUtils, 0)
99};
100
101#endif