/* History of cvs commits:
*
* $Log$
+ * Revision 1.15 2007/10/01 20:24:08 kharlov
+ * Memory leaks fixed
+ *
+ * Revision 1.14 2007/09/26 14:22:18 cvetan
+ * 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.
+ *
+ * Revision 1.13 2007/08/30 10:40:27 cvetan
+ * Minor
+ *
+ * Revision 1.12 2007/08/28 12:55:08 policheh
+ * Loaders removed from the reconstruction code (C.Cheshkov)
+ *
+ * Revision 1.11 2007/07/24 17:20:35 policheh
+ * Usage of RecoParam objects instead of hardcoded parameters in reconstruction.
+ * (See $ALICE_ROOT/PHOS/macros/BeamTest2006/RawReconstruction.C).
+ *
+ * Revision 1.10 2007/07/11 13:43:30 hristov
+ * New class AliESDEvent, backward compatibility with the old AliESD (Christian)
+ *
* Revision 1.9 2006/11/15 16:05:03 kharlov
* New FillESD() for raw data is added
*
//_________________________________________________________________________
// Wrapping class for reconstruction
-//*--
-//*-- Author: Yves Schutz (SUBATECH)
+//--
+//-- Author: Yves Schutz (SUBATECH)
// Reconstruction class. Redesigned from the old AliReconstructionner class and
// derived from STEER/AliReconstructor.
//_________________________________________________________________________
// --- ROOT system ---
+#include <Riostream.h>
#include "AliReconstructor.h"
+#include "AliPHOSRecoParam.h"
class AliPHOSDigitizer ;
class AliPHOSClusterizer ;
+class AliPHOSClusterizerv1 ;
class AliPHOSTrackSegmentMaker ;
class AliPHOSPID ;
class AliPHOSSDigitizer ;
class AliESDEvent ;
class AliRawReader;
+class AliPHOSRecoParam;
+class AliPHOSGeometry;
+class AliPHOSCalibData ;
// --- Standard library ---
public:
AliPHOSReconstructor() ; //ctor
- AliPHOSReconstructor(const AliPHOSReconstructor & rec) : AliReconstructor(rec) {
- // cpy ctor:
- // requested by the Coding Convention
- Fatal("cpy ctor", "not implemented") ;
- }
- ~AliPHOSReconstructor() ; //dtor
+ virtual ~AliPHOSReconstructor() ; //dtor
+
static void SetDebug() { fgDebug = kTRUE ; }
static void ResetDebug() { fgDebug = kFALSE ; }
static Bool_t Debug() { return fgDebug ; }
- AliTracker *CreateTracker(AliRunLoader* runLoader) const;
+ AliTracker *CreateTracker() const;
using AliReconstructor::FillESD;
- virtual void FillESD(AliRunLoader* runLoader, AliESDEvent* esd) const ;
- virtual void FillESD(AliRunLoader* runLoader,AliRawReader* rawReader,AliESDEvent* esd) const;
+ virtual void FillESD(TTree* digitsTree, TTree* clustersTree,
+ AliESDEvent* esd) const;
using AliReconstructor::Reconstruct;
- virtual void Reconstruct(AliRunLoader* runLoader) const ;
- virtual void Reconstruct(AliRunLoader* runLoader, AliRawReader * rawreader) const ;
-
- AliPHOSReconstructor & operator = (const AliPHOSReconstructor & /*rvalue*/) {
- // assignement operator requested by coding convention but not needed
- Fatal("operator =", "not implemented") ;
- return *this ;
- }
+ virtual void Reconstruct(TTree* digitsTree, TTree* clustersTree) const;
+
+ virtual Bool_t HasDigitConversion() const {return kTRUE;};
+ virtual void ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const;
+ virtual Float_t Calibrate(Float_t amp, Int_t absId) const ;
+ virtual Float_t CalibrateT(Float_t time, Int_t absId) const ;
+
+ void FillMisalMatrixes(AliESDEvent* esd)const ;
+ static const AliPHOSRecoParam* GetRecoParam() {
+ return dynamic_cast<const AliPHOSRecoParam*>(AliReconstructor::GetRecoParam(4)); }
+
private:
+ AliPHOSReconstructor(const AliPHOSReconstructor & rec); // Not implemented
+ AliPHOSReconstructor & operator = (const AliPHOSReconstructor &); // Not implemented
static Bool_t fgDebug ; //! verbosity controller
+ AliPHOSGeometry *fGeom; // pointer to the PHOS geometry
+ AliPHOSClusterizerv1 *fClusterizer; //! PHOS clusterizer
+ AliPHOSTrackSegmentMaker *fTSM; //! PHOS TrackSegmentMaker
+ AliPHOSPID *fPID; //! PHOS PID maker
+ static TClonesArray *fgDigitsArray; //! Array of PHOS digits
+ static TObjArray *fgEMCRecPoints; //! Array of EMC rec.points
+ static AliPHOSCalibData * fgCalibData ; //! Calibration database if aval.
- ClassDef(AliPHOSReconstructor,2) // Reconstruction algorithm class (Base Class)
+ ClassDef(AliPHOSReconstructor,8) // PHOS Reconstruction class
};