X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSEmcRecPoint.h;h=aae870eb72b292c0d04563c956186bb696cedb75;hb=8cb3533f56f022d2f63f730816cc5ad1c4f588c3;hp=93ab206f3505a543425ef551c36ddaee5f516a2e;hpb=d15a28e7baaf9ecf573af1e229c75b9527e05793;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSEmcRecPoint.h b/PHOS/AliPHOSEmcRecPoint.h index 93ab206f350..aae870eb72b 100644 --- a/PHOS/AliPHOSEmcRecPoint.h +++ b/PHOS/AliPHOSEmcRecPoint.h @@ -3,18 +3,19 @@ /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ -////////////////////////////////////////////////// -// Rec Point in the EM calorimeter of PHOS // -// // -// Author Dmitri Peressounko RRC KI // -// comment: contains list of AliPHOSDigit's * // -// and evaluates a few average values // -////////////////////////////////////////////////// +/* $Id$ */ + +//_________________________________________________________________________ +// RecPoint implementation for PHOS-EMC +// An EmcRecPoint is a cluster of digits +// +//*-- Author: Dmitri Peressounko (RRC KI & SUBATECH) // --- ROOT system --- #include "TObject.h" - +#include "TArrayI.h" + // --- Standard library --- // --- AliRoot header files --- @@ -26,47 +27,60 @@ class AliPHOSEmcRecPoint : public AliPHOSRecPoint { public: - AliPHOSEmcRecPoint() ; + AliPHOSEmcRecPoint(){ + // default ctor + fEnergyList = 0; + } ; AliPHOSEmcRecPoint(Float_t W0, Float_t LocMaxCut) ; - // virtual ~AliPHOSEmcRecPoint() ; - void AddDigit(AliDigitNew & digit, Float_t Energy) ; // add a digit to the digits list - Int_t Compare(TObject * obj) ; // method for sorting - - Float_t GetDelta (){ 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(){return fEnergyList ;} - Float_t GetLocMaxCut () {return fLocMaxCut ; } - Float_t GetLogWeightCut (){return fW0 ; } - Float_t GetMaximalEnergy(void) ; // get the highest energy in the cluster - Int_t GetMaximumMultiplicity() { return fMaxDigit ; } - Int_t GetMultiplicity(void) const { return fMulDigit ; } - Int_t GetMultiplicityAtLevel(const Float_t level) ; // computes multiplicity of digits with energy above relative level - Int_t GetNumberOfLocalMax(int * maxAt, Float_t * maxAtEnergy) ; // searches for the local maxima + AliPHOSEmcRecPoint(const AliPHOSEmcRecPoint & rp) { + // cpy ctor requested by Coding Convention + // but not yet needed + assert(0==1) ; + } - Float_t GetTotalEnergy(void) const { return fAmp ; } // in EMC RecPoint Amp = Energy - void GetLocalPosition(TVector3 &Lpos) ; // computes the position in the PHOS module - Bool_t IsEmc(void) {return kTRUE ; } - Bool_t IsSortable() const { return kTRUE ; } - void Print(Option_t * opt = "void") ; + virtual ~AliPHOSEmcRecPoint() ; + + virtual void AddDigit(AliPHOSDigit & digit, Float_t Energy) ; // add a digit to the digits list + Int_t Compare(const TObject * obj) const; // method for sorting + Float_t CoreEnergy() ; + void EvalAll() ; + void EvalLocalPosition() ; // computes the position in the PHOS module + Float_t GetDelta () const { return fDelta ; } + Float_t GetDispersion() const ; // computes the dispersion of the shower + void GetElipsAxis(Float_t * lambda) ; // computes the axis of shower ellipsoide + Float_t * GetEnergiesList() const { return fEnergyList ;} // gets the list of energies making this recpoint + virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py) ; + Float_t GetLocMaxCut ()const { return fLocMaxCut ; } // gets the cut of the local maximum search + Float_t GetLogWeightCut ()const { return fW0 ; } // gets the logarythmic weight for the + // center of gravity calculation + Float_t GetMaximalEnergy(void) const ; // get the highest energy in the cluster + Int_t GetMaximumMultiplicity() const {return fMaxDigit ;} // gets the maximum number of digits allowed + Int_t GetMultiplicity(void) const { return fMulDigit ; } // gets the number of digits making this recpoint + Int_t GetMultiplicityAtLevel(const Float_t level) const ; // computes multiplicity of digits with + // energy above relative level + Int_t GetNumberOfLocalMax(Int_t * maxAt, Float_t * maxAtEnergy) const ; // searches for the local maxima + + Bool_t IsEmc(void) const { return kTRUE ; } // true if the recpoint is in EMC + Bool_t IsSortable() const {return kTRUE ; } // says that emcrecpoints are sortable objects + void Print(Option_t * opt = "void") ; -private: + AliPHOSEmcRecPoint & operator = (const AliPHOSEmcRecPoint & rvalue) { + // assignement operator requested by coding convention + // but not needed + assert(0==1) ; + return *this ; + } - Bool_t AreNeighbours(AliPHOSDigit * digit1, AliPHOSDigit * digit2 ) ; + private: -public: + Bool_t AreNeighbours(AliPHOSDigit * digit1, AliPHOSDigit * digit2 ) const ; - // AliPHOSEmcRecPoint& operator = (AliPHOSEmcRecPoint clu) ; + 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 -private: - Float_t fDelta ; // parameter used to sort the clusters - Float_t fLocMaxCut ; // parameter used for local maximum searc - Float_t * fEnergyList ; //energy of digits - Float_t fW0 ; // logarithmic weight factor for center of gravity calculation - -public: - -ClassDef(AliPHOSEmcRecPoint,1) // EMC cluster, version 1 + ClassDef(AliPHOSEmcRecPoint,1) // EMC RecPoint (cluster) };