X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSCpvRecPoint.h;h=799f46113e5675785517c6ddfdee4b9a2b2acdbd;hb=04fe1e3098b66783d5550390bd91e36d3773ab44;hp=0fb3c2bdf13b4b7018b7bffb3185df5ae1dc5b05;hpb=458282ffe67b60766993a6d2b48a22bd6331a52b;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSCpvRecPoint.h b/PHOS/AliPHOSCpvRecPoint.h index 0fb3c2bdf13..799f46113e5 100644 --- a/PHOS/AliPHOSCpvRecPoint.h +++ b/PHOS/AliPHOSCpvRecPoint.h @@ -5,98 +5,64 @@ /* $Id$ */ +/* History of cvs commits: + * + * $Log$ + * Revision 1.20 2007/03/06 06:47:28 kharlov + * DP:Possibility to use actual vertex position added + * + * Revision 1.19 2006/08/28 10:01:56 kharlov + * Effective C++ warnings fixed (Timur Pocheptsov) + * + * Revision 1.18 2005/05/28 14:19:04 schutz + * Compilation warnings fixed by T.P. + * + */ + //_________________________________________________________________________ // RecPoint implementation for PHOS-CPV // An CpvRecPoint is a cluster of digits -// -//*-- Author: Yuri Kharlov 30 October 2000 -// (after Dmitri Peressounko (RRC KI & SUBATECH)) - +//-- Author: Yuri Kharlov +// (after Dmitri Peressounko (RRC KI & SUBATECH)) +// 30 October 2000 // --- ROOT system --- -#include "TObject.h" -#include "TArrayI.h" +//#include "TObject.h" +//#include "TArrayI.h" // --- Standard library --- // --- AliRoot header files --- -#include "AliPHOSDigit.h" -#include "AliPHOSRecPoint.h" +#include "AliPHOSEmcRecPoint.h" -class AliPHOSCpvRecPoint : public AliPHOSRecPoint { +class AliPHOSCpvRecPoint : public AliPHOSEmcRecPoint { public: - AliPHOSCpvRecPoint(){ - // default ctor - fEnergyList = 0; - } ; - AliPHOSCpvRecPoint(Float_t W0, Float_t LocMaxCut) ; - AliPHOSCpvRecPoint(const AliPHOSCpvRecPoint & rp) { - // cpy ctor requested by Coding Convention - // but not yet needed - assert(0==1) ; - } - + AliPHOSCpvRecPoint() ; + AliPHOSCpvRecPoint(const char * opt) ; + virtual ~AliPHOSCpvRecPoint() ; - virtual void AddDigit(AliPHOSDigit & digit, Float_t Energy) ; // add a digit to the digits list - Int_t Compare(TObject * obj) ; // method for sorting - - Float_t GetDelta (){ - // gets the fDelta data member - return fDelta ; } - Float_t GetDispersion() ; // computes the dispersion of the shower - void GetElipsAxis(Float_t * lambda) ; // computes the axis of shower ellipsoide - Float_t * GetEnergiesList(){ - // gets the list of energies makink this recpoint - return fEnergyList ;} - virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py) ; - Float_t GetLocMaxCut () { - // gets the cut of the local maximum search - return fLocMaxCut ; } - Float_t GetLogWeightCut (){ - // gets the logarythmic weight for the center of gravity calculation - return fW0 ; } - Float_t GetMaximalEnergy(void) ; // get the highest energy in the cluster - Int_t GetMaximumMultiplicity() { - // gets the maximum number of digits allowed - return fMaxDigit ; } - Int_t GetMultiplicity(void) const { - // gets the number of digits making this recpoint - return fMulDigit ; } - Int_t GetMultiplicityAtLevel(const Float_t level) ; // computes multiplicity of digits with energy above relative level - Int_t GetNumberOfLocalMax(Int_t * maxAt, Float_t * maxAtEnergy) ; // searches for the local maxima - - Float_t GetTotalEnergy(void) const { - // gets the total amplitude of this recpoint (in EMC RecPoint Amp = Energy) - return fAmp ; } - void GetLocalPosition(TVector3 &Lpos) ; // computes the position in the PHOS module - void GetClusterLengths(Int_t &lengX, Int_t &lengZ); // cluster lengths along x and z - Bool_t IsCPV(void) { - // true if the recpoint is in CPV - return kTRUE ; } - Bool_t IsSortable() const { - // says that emcrecpoints are sortable objects - return kTRUE ; } - void Print(Option_t * opt = "void") ; - - AliPHOSCpvRecPoint & operator = (const AliPHOSCpvRecPoint & rvalue) { - // assignement operator requested by coding convention - // but not needed - assert(0==1) ; - return *this ; - } - - private: - - Bool_t AreNeighbours(AliPHOSDigit * digit1, AliPHOSDigit * digit2 ) ; - - Float_t fDelta ; // parameter used to sort the clusters - Float_t *fEnergyList ; //[fMulDigit] energy of digits - Float_t fLocMaxCut ; // minimum energy difference to distinguish two maxima - Float_t fW0 ; // logarithmic weight factor for center of gravity calculation + Int_t Compare(const TObject * obj) const; // method for sorting + virtual void EvalAll(TClonesArray * digits) ; + virtual void EvalAll(Float_t logWeight, TVector3 &vtx, TClonesArray * digits) ; + void EvalLocalPosition(Float_t logWeight, TVector3 &vtx, TClonesArray * digits, TVector3 &vInc) ; + void EvalClusterLengths(TClonesArray * digits) ; + + virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py) /*const*/ ; + + void GetClusterLengths(Int_t &lengX, Int_t &lengZ) const {lengX = fLengX ;lengZ = fLengZ ;} + Bool_t IsEmc(void) const {return kFALSE ; } // tells that this is not a EMC + Bool_t IsCPV(void) const {return kTRUE ; } // true if the recpoint is in CPV + Bool_t IsSortable() const { return kTRUE ; } // tells that this is a sortable object + void Print(const Option_t * = "") const ; + + protected: + + Bool_t AreNeighbours(AliPHOSDigit * digit1, AliPHOSDigit * digit2 ) const ; + Int_t fLengX ; // cluster length along x Int_t fLengZ ; // cluster length along z