ab48128d |
1 | #ifndef ALIEMCALRECPOINT_H |
2 | #define ALIEMCALRECPOINT_H |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ |
5 | //_________________________________________________________________________ |
6 | // Base Class for EMCAL Reconstructed Points |
7 | // A recpoint being equivalent to a cluster in encal terminology |
8 | //*-- Author: Gines Martinez (SUBATECH) |
9 | |
10 | #include <assert.h> |
11 | |
12 | // --- ROOT system --- |
13 | |
14 | #include "TMarker.h" |
15 | #include "TGraph.h" |
16 | #include "TPaveText.h" |
17 | |
18 | // --- Standard library --- |
19 | |
20 | // --- AliRoot header files --- |
21 | |
22 | #include "AliRecPoint.h" |
23 | #include "AliEMCALDigit.h" |
24 | |
25 | class AliEMCALRecPoint : public AliRecPoint { |
26 | |
27 | public: |
28 | |
29 | typedef TObjArray RecPointsList ; |
30 | |
31 | AliEMCALRecPoint() ; // ctor |
32 | AliEMCALRecPoint(const char * opt) ; // ctor |
33 | AliEMCALRecPoint(const AliEMCALRecPoint & rp) { |
34 | // cpy ctor requested by Coding Convention |
35 | // but not yet needed |
36 | assert(0==1) ; |
37 | } |
38 | |
39 | virtual ~AliEMCALRecPoint(){ |
40 | // dtor |
41 | } |
42 | virtual void AddDigit(AliDigitNew &){ |
43 | // do not use this definition but the one below |
44 | assert(0==1) ; |
45 | } |
46 | virtual void AddDigit(AliEMCALDigit & digit, Float_t Energy) = 0 ; |
47 | virtual Int_t Compare(const TObject * obj) const = 0 ; |
48 | virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); |
49 | virtual void Draw(Option_t * option="") ; |
50 | virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py) ; |
51 | virtual void EvalAll(Float_t logWeight,TClonesArray * digits) ; |
52 | virtual void EvalEMCALArm(AliEMCALDigit * digit) ; |
53 | virtual void EvalPrimaries(TClonesArray * digits) ; |
54 | virtual Int_t GetEMCALArm(void) const {return fEMCALArm ; } |
55 | virtual void GetGlobalPosition(TVector3 & gpos, TMatrix & gmat) const {;} // return global position in ALICE |
56 | virtual void GetGlobalPosition(TVector3 & gpos) const ; // return global position (r, theta, phi) in ALICE |
aad8e277 |
57 | virtual void GetLocalPosition(TVector3 & lpos) const ; // return loca position (x, y, z) in EMCAL |
ab48128d |
58 | // virtual Int_t GetEMCALMod(void) const {return fEMCALMod ; } |
59 | virtual Int_t * GetPrimaries(Int_t & number) const {number = fMulTrack ; |
60 | return fTracksList ; } |
7ee5c5be |
61 | virtual Bool_t IsEmc(void)const { return kTRUE ; } |
aad8e277 |
62 | const Bool_t IsInECAL(void) const { return fECALSection ; } |
63 | const Bool_t IsInHCAL(void) const { return fHCALSection ; } |
64 | const Bool_t IsInPRE(void) const { return fPRESection ; } |
ab48128d |
65 | virtual Bool_t IsSortable() const { |
66 | // tells that this is a sortable object |
67 | return kTRUE ; |
68 | } |
69 | virtual void Paint(Option_t * option=""); |
70 | virtual void Print(Option_t * opt = "void") const { |
71 | // Print prototype |
72 | } |
7ee5c5be |
73 | |
aad8e277 |
74 | void SetECAL() { fECALSection = kTRUE ; } |
75 | void SetHCAL() { fHCALSection = kTRUE ; } |
76 | void SetPRE() { fPRESection = kTRUE ; } |
ab48128d |
77 | AliEMCALRecPoint & operator = (const AliEMCALRecPoint & ) { |
78 | // assignement operator requested by coding convention but not needed |
79 | assert(0==1) ; |
80 | return *this ; |
81 | } |
82 | |
83 | protected: |
84 | |
85 | Int_t fEMCALArm ; // EMCAM Arm number |
86 | Float_t fTheta ; // theta angle in Alice |
87 | Float_t fPhi ; // phi angle in Alice |
aad8e277 |
88 | Bool_t fECALSection ; // tells if the recpoint is in ECAL section |
89 | Bool_t fHCALSection ; // tells if the recpoint is in HCAL section |
90 | Bool_t fPRESection ; // tells if the recpoint is in PRE section |
ab48128d |
91 | |
7ee5c5be |
92 | ClassDef(AliEMCALRecPoint,2) // RecPoint for EMCAL (Base Class) |
ab48128d |
93 | |
94 | }; |
95 | |
96 | #endif // AliEMCALRECPOINT_H |