X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSTrackSegmentMaker.h;h=f4fa690a792bdb6a5b89ca9e6716045f6c7886db;hb=c65c502a01b61b2ef74c74e3532768e30ed7d51a;hp=2490ef57bd9df42e0e09f1d2b5529d850ab435ce;hpb=11c40ae004fcdaa2158695b4597e92a9c9d651f5;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSTrackSegmentMaker.h b/PHOS/AliPHOSTrackSegmentMaker.h index 2490ef57bd9..f4fa690a792 100644 --- a/PHOS/AliPHOSTrackSegmentMaker.h +++ b/PHOS/AliPHOSTrackSegmentMaker.h @@ -5,54 +5,75 @@ /* $Id$ */ +/* 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. + * + */ + //_________________________________________________________________________ // Algorithm Base class to construct PHOS track segments -// Associates EMC and PPSD clusters +// Associates EMC and CPV clusters // Unfolds the EMC cluster // -//*-- Author: Dmitri Peressounko (RRC Ki & SUBATECH) +//*-- Author: Dmitri Peressounko (RRC Kurchatov Institute & SUBATECH) // --- ROOT system --- - -// --- Standard library --- +#include +class TTree; // --- AliRoot header files --- - -#include "TObjArray.h" -#include "AliPHOSDigit.h" -#include "AliPHOSRecPoint.h" -#include "AliPHOSIndexToObject.h" -#include "AliPHOSTrackSegment.h" +class AliPHOSGeometry ; +class AliESDEvent ; class AliPHOSTrackSegmentMaker : public TObject { public: - AliPHOSTrackSegmentMaker() ; - - virtual ~ AliPHOSTrackSegmentMaker(){ - // dtor - } - - virtual void MakeTrackSegments(DigitsList * DL, - AliPHOSRecPoint::RecPointsList * emcl, - AliPHOSRecPoint::RecPointsList * ppsdl, - AliPHOSTrackSegment::TrackSegmentsList * trsl ) = 0 ; // does the job - virtual void MakeTrackSegmentsCPV(DigitsList * DL, - AliPHOSRecPoint::RecPointsList * emcl, - AliPHOSRecPoint::RecPointsList * ppsdl ) = 0; // just unfold EMC and CPV clusters - virtual void SetMaxEmcPpsdDistance(Float_t r) = 0 ; - virtual void SetUnfoldFlag() = 0 ; - virtual void UnsetUnfoldFlag() = 0 ; - - protected: - - Int_t fNTrackSegments ; // number of track segments found - AliPHOSGeometry * fGeom ; // pointer to PHOS geometry - AliPHOSIndexToObject * fPlease ; // - - ClassDef( AliPHOSTrackSegmentMaker,1) // Algorithm class to make PHOS track segments (Base Class) + 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; + +protected: + + 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