X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSPID.h;h=7588907c77001d133d2b760476c366b3721f8fd9;hb=e1f4741955da62d3266136a5dd70427b0fa77b2f;hp=3b8469747e107ed56b43ca898f03799ca6401907;hpb=b2820c1371d708b4a289f750b744e086a8c16437;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSPID.h b/PHOS/AliPHOSPID.h index 3b8469747e1..7588907c770 100644 --- a/PHOS/AliPHOSPID.h +++ b/PHOS/AliPHOSPID.h @@ -5,6 +5,32 @@ /* $Id$ */ +/* History of cvs commits: + * + * $Log$ + * Revision 1.41 2007/08/28 12:55:08 policheh + * Loaders removed from the reconstruction code (C.Cheshkov) + * + * Revision 1.40 2007/08/07 14:12:03 kharlov + * Quality assurance added (Yves Schutz) + * + * Revision 1.39 2007/07/11 13:43:30 hristov + * New class AliESDEvent, backward compatibility with the old AliESD (Christian) + * + * Revision 1.38 2007/04/01 15:40:15 kharlov + * Correction for actual vertex position implemented + * + * Revision 1.37 2006/08/29 11:41:19 kharlov + * Missing implementation of ctors and = operator are added + * + * Revision 1.36 2006/08/25 16:00:53 kharlov + * Compliance with Effective C++AliPHOSHit.cxx + * + * Revision 1.35 2005/05/28 14:19:04 schutz + * Compilation warnings fixed by T.P. + * + */ + //_________________________________________________________________________ // Algorithm class for the identification of particles detected in PHOS // base class @@ -12,54 +38,53 @@ //*-- Author: Yves Schutz (SUBATECH) // --- ROOT system --- +#include "TObject.h" +class TTree; -#include "TTask.h" -class TFormula ; -class TClonesArray ; -class TFile ; // --- Standard library --- // --- AliRoot header files --- - +class AliESDEvent ; class AliPHOSGeometry ; class AliPHOSClusterizer ; class AliPHOSTrackSegmentMaker ; -class AliPHOSPID : public TTask { +class AliPHOSPID : public TObject { public: AliPHOSPID() ; // ctor - AliPHOSPID(const char* headerFile,const char * name, const Bool_t toSplit) ; - AliPHOSPID(AliPHOSPID& pid) ; // cpy ctor + AliPHOSPID (AliPHOSGeometry *geom); + AliPHOSPID(const AliPHOSPID & pid) ; virtual ~AliPHOSPID() ; // dtor + AliPHOSPID & operator = (const AliPHOSPID & /*rvalue*/) { + Fatal("operator =", "not implemented") ; return *this ; } + + virtual void TrackSegments2RecParticles(Option_t * option) = 0; + + void SetInput(TTree *clustersTree, TClonesArray *trackSegments); + TClonesArray* GetRecParticles() const { return fRecParticles; } + + virtual void Print(const Option_t * = "") const = 0; - virtual void Exec(Option_t * option) { Warning("Exec", "not defined" ) ; } - // virtual char * GetRecParticlesBranch()const { Warning("GetRecParticlesBranch", "not defined" ) ; return 0 ; } - // virtual char * GetTrackSegmentsBranch()const { Warning("GetTrackSegmentsBranch", "not defined" ) ; return 0 ; } - virtual const Int_t GetRecParticlesInRun() const { Warning("GetRecParticlesInRun", "not defined" ) ; return 0 ;} - virtual void Print(Option_t * option) const { Warning("Print", "not defined" ) ;} - //virtual void PlotDispersionCuts()const = 0; - //virtual void SetIdentificationMethod(char * option) = 0 ; - //virtual void SetShowerProfileCut(char * formula) = 0 ; - //virtual void SetDispersionCut(Float_t cut) = 0 ; - virtual void SetCpvtoEmcDistanceCut(Float_t ClusterEn, TString EffPur,Float_t cut ) { Warning("SetCpvtoEmcDistanceCut", "not defined" ) ;} - virtual void SetTimeGate(Float_t ClusterEn, TString EffPur, Float_t gate) { Warning("SetTimeGate", "not defined" ) ; } - // virtual void SetTrackSegmentsBranch(const char* title) { Warning("Exec", "not defined" ) ; } - // virtual void SetRecParticlesBranch (const char* title) { Warning("SetTecParticlesBranch", "not defined" ) ; } - // virtual void SetSplitFile(const TString splitFileName = "PHOS.RecData.root") const ; - virtual const char * Version() const { Warning("Version", "not defined" ) ; return 0 ; } - virtual void WriteRecParticles(Int_t event) { Warning("WriteRecParticles", "not defined" ) ; } - AliPHOSPID & operator = (const AliPHOSPID & pid) { return *this ; } - -protected: - virtual void Init() { Warning("Init", "not defined" ) ; } + void SetESD(AliESDEvent *esd) { fESD = esd; } + + virtual const char * Version() const = 0; protected: - TFile * fSplitFile ; //! file in which RecParticles will eventually be stored - Bool_t fToSplit ; //! do we in the split mode - ClassDef(AliPHOSPID,1) // Particle Identifier algorithm (base class) + AliPHOSGeometry * fGeom; //! Pointer to PHOS Geometry + AliESDEvent * fESD; //! ESD object + + TObjArray *fEMCRecPoints; //!Array with EMC clusters + TObjArray *fCPVRecPoints; //!Array with CPV clusters + + TClonesArray *fTrackSegments; //!Array with found track segments + TClonesArray *fRecParticles; //!Array with reconstructed particles (PID) + +private: + + ClassDef(AliPHOSPID,8) // Particle Identifier algorithm (base class) } ;