X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSTrackSegmentMaker.h;h=f4fa690a792bdb6a5b89ca9e6716045f6c7886db;hb=2cdb280f9913a1d4a34618d5cfcad2e28e6d069d;hp=21f5be0c006fcef40dcab8cb6b8da41554d1962b;hpb=15605d3c0ec40003bf81418bd44b1a6eb4eae20e;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSTrackSegmentMaker.h b/PHOS/AliPHOSTrackSegmentMaker.h index 21f5be0c006..f4fa690a792 100644 --- a/PHOS/AliPHOSTrackSegmentMaker.h +++ b/PHOS/AliPHOSTrackSegmentMaker.h @@ -5,43 +5,75 @@ /* $Id$ */ -/////////////////////////////////////////////////// -// Subtrackin class for PHOS // -// Version SUBATECH // -// Author Dmitri Peressounko RRC Ki // -// comment: finds pairs of clusters EMC+PPSD // -// performs unfolding. // -/////////////////////////////////////////////////// +/* History of cvs commits: + * + * $Log$ + * Revision 1.43 2007/08/28 12:55:08 policheh + * Loaders removed from the reconstruction code (C.Cheshkov) + * + * Revision 1.42 2007/08/07 14:12:03 kharlov + * Quality assurance added (Yves Schutz) + * + * Revision 1.41 2007/07/11 13:43:30 hristov + * New class AliESDEvent, backward compatibility with the old AliESD (Christian) + * + * Revision 1.40 2006/08/29 11:41:19 kharlov + * Missing implementation of ctors and = operator are added + * + * Revision 1.39 2006/08/25 16:00:53 kharlov + * Compliance with Effective C++AliPHOSHit.cxx + * + * Revision 1.38 2005/05/28 14:19:05 schutz + * Compilation warnings fixed by T.P. + * + */ -// --- ROOT system --- +//_________________________________________________________________________ +// Algorithm Base class to construct PHOS track segments +// Associates EMC and CPV clusters +// Unfolds the EMC cluster +// +//*-- Author: Dmitri Peressounko (RRC Kurchatov Institute & SUBATECH) -// --- Standard library --- +// --- ROOT system --- +#include +class TTree; // --- AliRoot header files --- - -#include "TObjArray.h" -#include "AliPHOSClusterizer.h" -#include "AliPHOSEmcRecPoint.h" -#include "AliPHOSPpsdRecPoint.h" - -typedef TObjArray TrackSegmentsList ; +class AliPHOSGeometry ; +class AliESDEvent ; class AliPHOSTrackSegmentMaker : public TObject { public: - AliPHOSTrackSegmentMaker() ; - - virtual ~ AliPHOSTrackSegmentMaker(){} // dtor + AliPHOSTrackSegmentMaker(); + AliPHOSTrackSegmentMaker(AliPHOSGeometry *geom); + AliPHOSTrackSegmentMaker(const AliPHOSTrackSegmentMaker & tsmaker) ; + virtual ~ AliPHOSTrackSegmentMaker() ; + AliPHOSTrackSegmentMaker & operator = (const AliPHOSTrackSegmentMaker & /*rvalue*/) { + Fatal("operator =", "not implemented") ; return *this ; } + + virtual void Clusters2TrackSegments(Option_t *option) = 0; + + void SetInput(TTree *clustersTree); + + virtual void Print(const Option_t * = "")const {Warning("Print", "Not Defined" ) ; } + + void SetESD(AliESDEvent *esd) { fESD = esd; } + + AliESDEvent *GetESD() const {return fESD; } + + virtual TClonesArray * GetTrackSegments() const = 0; - virtual void MakeTrackSegments(DigitsList * DL, RecPointsList * emcl, RecPointsList * ppsdl, TrackSegmentsList * trsl ) = 0 ; - // does the job - virtual void SetMaxEmcPpsdDistance(Float_t r) = 0 ; - virtual void SetUnfoldFlag() = 0 ; - virtual void UnsetUnfoldFlag() = 0 ; +protected: - ClassDef( AliPHOSTrackSegmentMaker,1) // subtracking implementation , version 1 + AliESDEvent * fESD; //! ESD object + AliPHOSGeometry *fGeom; //! Pointer to the PHOS geometry + TObjArray *fEMCRecPoints; // Array with the EMC clusters + TObjArray *fCPVRecPoints; // Array with the CPV clusters + ClassDef( AliPHOSTrackSegmentMaker,6) // Algorithm class to make PHOS track segments (Base Class) }; #endif // ALIPHOSTRACKSEGMENTMAKER_H