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 ---
15 #include "AliEMCALRecParam.h"
16 #include "AliReconstructor.h"
17 #include "AliEMCALTracker.h"
23 class AliEMCALDigitizer ;
24 class AliEMCALClusterizer ;
25 class AliEMCALSDigitizer ;
26 class AliEMCALRecParam;
29 class AliEMCALRawUtils;
30 class AliEMCALGeometry;
32 // --- Standard library ---
34 // --- AliRoot header files ---
36 class AliEMCALReconstructor : public AliReconstructor {
40 AliEMCALReconstructor() ; //ctor
41 AliEMCALReconstructor(const AliEMCALReconstructor & rec);
43 virtual ~AliEMCALReconstructor() ; //dtor
46 Bool_t Debug() const { return fDebug ; }
48 using AliReconstructor::FillESD;
49 virtual void FillESD(TTree* digitsTree, TTree* clustersTree,
50 AliESDEvent* esd) const;
51 AliTracker* CreateTracker () const
52 {return new AliEMCALTracker;}
53 using AliReconstructor::Reconstruct;
54 virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
56 virtual Bool_t HasDigitConversion() const {return kTRUE;};
57 virtual void ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const;
60 AliEMCALReconstructor & operator = (const AliEMCALReconstructor & /*rvalue*/) {
61 // assignement operator requested by coding convention but not needed
62 Fatal("operator =", "not implemented") ;
66 static void SetRecParam(AliEMCALRecParam * recParam){ fgkRecParam = recParam;}
68 void ReadDigitsArrayFromTree(TTree *digitsTree) const;
70 TList *GetList() {return fList;}
72 static const AliEMCALRecParam* GetRecParam() {
73 return dynamic_cast<const AliEMCALRecParam*>(AliReconstructor::GetRecoParam(6)); }
75 static TClonesArray* GetDigitsArr() {return fgDigitsArr;}
79 Bool_t fDebug; //! verbosity controller
81 TList *fList; //! List of hists (only for trigger now)
82 AliEMCALGeometry *fGeom; // pointer to the EMCAL geometry
84 static AliEMCALClusterizer* fgClusterizer; // clusterizer
85 static const AliEMCALRecParam* fgkRecParam; // reconstruction
86 // parameters for EMCAL
87 static AliEMCALRawUtils* fgRawUtils; // raw utilities class -
88 // only need one per reco
89 static TClonesArray* fgDigitsArr; // Array with EMCAL digits
91 ClassDef(AliEMCALReconstructor,6) // Reconstruction algorithm class (Base Class)
95 #endif // ALIEMCALRECONSTRUCTOR_H