X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSReconstructor.h;h=cee07167a3c67226bb09740e16fcc50ee9b04a40;hb=19d5c72660c67b38a579249dc83611fa8eb92e86;hp=b46762a63317d123bc48319baba73571929950dc;hpb=3255d66033231848f15422b67c522dead7beab96;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSReconstructor.h b/PHOS/AliPHOSReconstructor.h index b46762a6331..cee07167a3c 100644 --- a/PHOS/AliPHOSReconstructor.h +++ b/PHOS/AliPHOSReconstructor.h @@ -5,24 +5,61 @@ /* $Id$ */ +/* 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 + * + * Revision 1.8 2005/05/28 14:19:04 schutz + * Compilation warnings fixed by T.P. + * + */ + //_________________________________________________________________________ // 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 #include "AliReconstructor.h" +#include "AliPHOSRecoParam.h" class AliPHOSDigitizer ; class AliPHOSClusterizer ; +class AliPHOSClusterizerv1 ; class AliPHOSTrackSegmentMaker ; class AliPHOSPID ; class AliPHOSSDigitizer ; -class AliESD ; -class AliRawReaderFile ; +class AliESDEvent ; +class AliRawReader; +class AliPHOSRecoParam; +class AliPHOSGeometry; +class AliPHOSCalibData ; +class AliPHOSTriggerParameters; // --- Standard library --- @@ -33,31 +70,47 @@ class AliPHOSReconstructor : public AliReconstructor { 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; - virtual void FillESD(AliRunLoader* runLoader, AliESD* esd) const ; - 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 ; - } + AliTracker *CreateTracker() const; + using AliReconstructor::FillESD; + virtual void FillESD(TTree* digitsTree, TTree* clustersTree, + AliESDEvent* esd) const; + using AliReconstructor::Reconstruct; + 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(AliReconstructor::GetRecoParam(4)); } + static Float_t CorrectNonlinearity(Float_t oldEnergy) ; + + void readTRUParameters(AliPHOSTriggerParameters* parameters) const; 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 + TClonesArray *fTmpDigLG; //! Temporary array of LG digits + static TClonesArray *fgDigitsArray; //! Array of PHOS digits + static TObjArray *fgEMCRecPoints; //! Array of EMC rec.points + static AliPHOSCalibData * fgCalibData ; //! Calibration database if aval. + static TClonesArray *fgTriggerDigits; //! Array of PHOS trigger digits - ClassDef(AliPHOSReconstructor,2) // Reconstruction algorithm class (Base Class) + ClassDef(AliPHOSReconstructor,10) // PHOS Reconstruction class };