]>
Commit | Line | Data |
---|---|---|
d15a28e7 | 1 | #ifndef ALIPHOSEMCRECPOINT_H |
2 | #define ALIPHOSEMCRECPOINT_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6ad0bfa0 | 6 | /* $Id$ */ |
7 | ||
b2a60966 | 8 | //_________________________________________________________________________ |
9 | // RecPoint implementation for PHOS-EMC | |
10 | // An EmcRecPoint is a cluster of digits | |
11 | // | |
12 | //*-- Author: Dmitri Peressounko (RRC KI & SUBATECH) | |
d15a28e7 | 13 | |
14 | // --- ROOT system --- | |
15 | ||
16 | #include "TObject.h" | |
31aa6d6c | 17 | #include "TArrayI.h" |
18 | ||
d15a28e7 | 19 | // --- Standard library --- |
20 | ||
21 | // --- AliRoot header files --- | |
22 | ||
23 | #include "AliPHOSDigit.h" | |
24 | #include "AliPHOSRecPoint.h" | |
25 | ||
26 | class AliPHOSEmcRecPoint : public AliPHOSRecPoint { | |
27 | ||
28 | public: | |
29 | ||
88714635 | 30 | AliPHOSEmcRecPoint(){ |
071153f8 | 31 | // default ctor |
32 | fEnergyList = 0; | |
88714635 | 33 | } ; |
d15a28e7 | 34 | AliPHOSEmcRecPoint(Float_t W0, Float_t LocMaxCut) ; |
6c370def | 35 | AliPHOSEmcRecPoint(const AliPHOSEmcRecPoint & rp) { |
36 | // cpy ctor requested by Coding Convention | |
37 | // but not yet needed | |
38 | assert(0==1) ; | |
39 | } | |
40 | ||
83974468 | 41 | virtual ~AliPHOSEmcRecPoint() ; |
b2a60966 | 42 | |
83974468 | 43 | virtual void AddDigit(AliPHOSDigit & digit, Float_t Energy) ; // add a digit to the digits list |
9f616d61 | 44 | Int_t Compare(TObject * obj) ; // method for sorting |
d15a28e7 | 45 | |
88714635 | 46 | Float_t GetDelta (){ |
47 | // gets the fDelta data member | |
48 | return fDelta ; } | |
9f616d61 | 49 | Float_t GetDispersion() ; // computes the dispersion of the shower |
50 | void GetElipsAxis(Float_t * lambda) ; // computes the axis of shower ellipsoide | |
88714635 | 51 | Float_t * GetEnergiesList(){ |
52 | // gets the list of energies makink this recpoint | |
53 | return fEnergyList ;} | |
9f616d61 | 54 | virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py) ; |
88714635 | 55 | Float_t GetLocMaxCut () { |
56 | // gets the cut of the local maximum search | |
57 | return fLocMaxCut ; } | |
58 | Float_t GetLogWeightCut (){ | |
59 | // gets the logarythmic weight for the center of gravity calculation | |
60 | return fW0 ; } | |
9f616d61 | 61 | Float_t GetMaximalEnergy(void) ; // get the highest energy in the cluster |
88714635 | 62 | Int_t GetMaximumMultiplicity() { |
63 | // gets the maximum number of digits allowed | |
64 | return fMaxDigit ; } | |
65 | Int_t GetMultiplicity(void) const { | |
66 | // gets the number of digits making this recpoint | |
67 | return fMulDigit ; } | |
9f616d61 | 68 | Int_t GetMultiplicityAtLevel(const Float_t level) ; // computes multiplicity of digits with energy above relative level |
6ad0bfa0 | 69 | Int_t GetNumberOfLocalMax(Int_t * maxAt, Float_t * maxAtEnergy) ; // searches for the local maxima |
d15a28e7 | 70 | |
88714635 | 71 | Float_t GetTotalEnergy(void) const { |
72 | // gets the total amplitude of this recpoint (in EMC RecPoint Amp = Energy) | |
73 | return fAmp ; } | |
74 | void GetLocalPosition(TVector3 &Lpos) ; // computes the position in the PHOS module | |
75 | Bool_t IsEmc(void) { | |
76 | // true if the recpoint is in EMC | |
77 | return kTRUE ; } | |
78 | Bool_t IsSortable() const { | |
79 | // says that emcrecpoints are sortable objects | |
80 | return kTRUE ; } | |
cf239357 | 81 | void Print(Option_t * opt = "void") ; |
d15a28e7 | 82 | |
c6e196df | 83 | AliPHOSEmcRecPoint & operator = (const AliPHOSEmcRecPoint & rvalue) { |
6c370def | 84 | // assignement operator requested by coding convention |
85 | // but not needed | |
86 | assert(0==1) ; | |
87 | return *this ; | |
88 | } | |
89 | ||
90 | private: | |
d15a28e7 | 91 | |
92 | Bool_t AreNeighbours(AliPHOSDigit * digit1, AliPHOSDigit * digit2 ) ; | |
93 | ||
83974468 | 94 | Float_t fDelta ; // parameter used to sort the clusters |
88714635 | 95 | Float_t *fEnergyList ; //[fMulDigit] energy of digits |
83974468 | 96 | Float_t fLocMaxCut ; // minimum energy difference to distinguish two maxima |
97 | Float_t fW0 ; // logarithmic weight factor for center of gravity calculation | |
98 | ||
b2a60966 | 99 | ClassDef(AliPHOSEmcRecPoint,1) // EMC RecPoint (cluster) |
d15a28e7 | 100 | |
101 | }; | |
102 | ||
103 | #endif // AliPHOSEMCRECPOINT_H |