1 #ifndef ALIEMCALRECONSTRUCTOR_H
2 #define ALIEMCALRECONSTRUCTOR_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 //_________________________________________________________________________
9 // Wrapping class for reconstruction
11 //*-- Author: Yves Schutz (SUBATECH)
12 //*-- Dmitri Peressounko (SUBATECH & Kurchatov Institute)
14 // --- ROOT system ---
20 // --- AliRoot header files ---
21 #include "AliReconstructor.h"
22 #include "AliEMCALTracker.h"
23 #include "AliEMCALRecParam.h"
26 class AliEMCALDigitizer ;
27 class AliEMCALClusterizer ;
28 class AliEMCALSDigitizer ;
29 class AliEMCALRecParam;
32 class AliEMCALRawUtils;
33 class AliEMCALGeometry;
34 class AliEMCALCalibData ;
36 // --- Standard library ---
40 class AliEMCALReconstructor : public AliReconstructor {
44 AliEMCALReconstructor() ; //ctor
45 AliEMCALReconstructor(const AliEMCALReconstructor & rec);
47 virtual ~AliEMCALReconstructor() ; //dtor
50 Bool_t Debug() const { return fDebug ; }
52 using AliReconstructor::FillESD;
53 virtual void FillESD(TTree* digitsTree, TTree* clustersTree,
54 AliESDEvent* esd) const;
55 AliTracker* CreateTracker () const
56 {return new AliEMCALTracker;}
57 using AliReconstructor::Reconstruct;
58 virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
60 virtual Bool_t HasDigitConversion() const {return kTRUE;};
61 virtual void ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const;
64 AliEMCALReconstructor & operator = (const AliEMCALReconstructor & /*rvalue*/) {
65 // assignement operator requested by coding convention but not needed
66 Fatal("operator =", "not implemented") ;
70 static void SetRecParam(AliEMCALRecParam * recParam){ fgkRecParam = recParam;}
72 void ReadDigitsArrayFromTree(TTree *digitsTree) const;
74 TList *GetList() {return fList;}
76 static const AliEMCALRecParam* GetRecParam() {
77 return dynamic_cast<const AliEMCALRecParam*>(AliReconstructor::GetRecoParam(6)); }
79 static TClonesArray* GetDigitsArr() {return fgDigitsArr;}
81 void FillMisalMatrixes(AliESDEvent* esd)const ;
85 Bool_t fDebug; //! verbosity controller
87 TList *fList; //! List of hists (only for trigger now)
88 AliEMCALGeometry *fGeom; // pointer to the EMCAL geometry
90 static AliEMCALClusterizer* fgClusterizer; // clusterizer
91 static const AliEMCALRecParam* fgkRecParam; // reconstruction
92 // parameters for EMCAL
93 static AliEMCALRawUtils* fgRawUtils; // raw utilities class -
94 // only need one per reco
95 static TClonesArray* fgDigitsArr; // Array with EMCAL digits
96 AliEMCALCalibData * fCalibData ; //! Calibration database if aval
98 ClassDef(AliEMCALReconstructor,7) // Reconstruction algorithm class (Base Class)
102 #endif // ALIEMCALRECONSTRUCTOR_H