1 #ifndef ALIPHOSRECONSTRUCTOR_H
2 #define ALIPHOSRECONSTRUCTOR_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 /* History of cvs commits:
11 * Revision 1.15 2007/10/01 20:24:08 kharlov
14 * Revision 1.14 2007/09/26 14:22:18 cvetan
15 * Important changes to the reconstructor classes. Complete elimination of the run-loaders, which are now steered only from AliReconstruction. Removal of the corresponding Reconstruct() and FillESD() methods.
17 * Revision 1.13 2007/08/30 10:40:27 cvetan
20 * Revision 1.12 2007/08/28 12:55:08 policheh
21 * Loaders removed from the reconstruction code (C.Cheshkov)
23 * Revision 1.11 2007/07/24 17:20:35 policheh
24 * Usage of RecoParam objects instead of hardcoded parameters in reconstruction.
25 * (See $ALICE_ROOT/PHOS/macros/BeamTest2006/RawReconstruction.C).
27 * Revision 1.10 2007/07/11 13:43:30 hristov
28 * New class AliESDEvent, backward compatibility with the old AliESD (Christian)
30 * Revision 1.9 2006/11/15 16:05:03 kharlov
31 * New FillESD() for raw data is added
33 * Revision 1.8 2005/05/28 14:19:04 schutz
34 * Compilation warnings fixed by T.P.
38 //_________________________________________________________________________
39 // Wrapping class for reconstruction
41 //-- Author: Yves Schutz (SUBATECH)
42 // Reconstruction class. Redesigned from the old AliReconstructionner class and
43 // derived from STEER/AliReconstructor.
44 //_________________________________________________________________________
46 // --- ROOT system ---
48 #include <Riostream.h>
49 #include "AliReconstructor.h"
50 #include "AliPHOSRecoParam.h"
51 // #include "AliPHOSRecoParamEmc.h"
52 // #include "AliPHOSRecoParamCpv.h"
53 class AliPHOSDigitizer ;
54 class AliPHOSClusterizer ;
55 class AliPHOSClusterizerv1 ;
56 class AliPHOSTrackSegmentMaker ;
58 class AliPHOSSDigitizer ;
61 class AliPHOSRecoParam;
62 class AliPHOSGeometry;
64 // --- Standard library ---
66 // --- AliRoot header files ---
68 class AliPHOSReconstructor : public AliReconstructor {
72 AliPHOSReconstructor() ; //ctor
73 AliPHOSReconstructor(const AliPHOSReconstructor & rec) :
74 AliReconstructor(rec),
76 fClusterizer(rec.fClusterizer),
81 // requested by the Coding Convention
82 Fatal("cpy ctor", "not implemented") ;
84 virtual ~AliPHOSReconstructor() ; //dtor
86 static void SetDebug() { fgDebug = kTRUE ; }
87 static void ResetDebug() { fgDebug = kFALSE ; }
88 static Bool_t Debug() { return fgDebug ; }
89 AliTracker *CreateTracker() const;
90 using AliReconstructor::FillESD;
91 virtual void FillESD(TTree* digitsTree, TTree* clustersTree,
92 AliESDEvent* esd) const;
93 using AliReconstructor::Reconstruct;
94 virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
96 virtual Bool_t HasDigitConversion() const {return kTRUE;};
97 virtual void ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const;
99 AliPHOSReconstructor & operator = (const AliPHOSReconstructor & /*rvalue*/) {
100 // assignement operator requested by coding convention but not needed
101 Fatal("operator =", "not implemented") ;
105 static const AliPHOSRecoParam* GetRecoParam() {
106 return dynamic_cast<const AliPHOSRecoParam*>(AliReconstructor::GetRecoParam(4)); }
110 static Bool_t fgDebug ; //! verbosity controller
111 AliPHOSGeometry *fGeom; // pointer to the PHOS geometry
112 AliPHOSClusterizerv1 *fClusterizer; //! PHOS clusterizer
113 AliPHOSTrackSegmentMaker *fTSM; //! PHOS TrackSegmentMaker
114 AliPHOSPID *fPID; //! PHOS PID maker
115 static TClonesArray *fgDigitsArray; //! Array of PHOS digits
116 static TObjArray *fgEMCRecPoints; //! Array of EMC rec.points
118 ClassDef(AliPHOSReconstructor,8) // PHOS Reconstruction class
122 #endif // ALIPHOSRECONSTRUCTOR_H