Timing added to reconstruction
[u/mrichter/AliRoot.git] / PHOS / AliPHOSCpvRecPoint.h
1 #ifndef ALIPHOSCPVRECPOINT_H
2 #define ALIPHOSCPVRECPOINT_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 //_________________________________________________________________________
9 //  RecPoint implementation for PHOS-CPV
10 //  An CpvRecPoint is a cluster of digits   
11 //*-- Author: Yuri Kharlov
12 //  (after Dmitri Peressounko (RRC KI & SUBATECH))
13 //  30 October 2000 
14 // --- ROOT system ---
15
16 #include "TObject.h"
17 #include "TArrayI.h"
18  
19 // --- Standard library ---
20
21 // --- AliRoot header files ---
22
23 #include "AliPHOSDigit.h"
24 #include "AliPHOSEmcRecPoint.h"
25 #include "AliPHOSGeometry.h"
26
27 class AliPHOSCpvRecPoint : public AliPHOSEmcRecPoint  {
28
29 public:
30
31   AliPHOSCpvRecPoint() ;
32   AliPHOSCpvRecPoint(const AliPHOSCpvRecPoint & rp) {
33     // cpy ctor requested by Coding Convention 
34     // but not yet needed
35     assert(0==1) ; 
36   } 
37  
38   virtual ~AliPHOSCpvRecPoint() ;  
39
40   Int_t  Compare(const TObject * obj) const;                 // method for sorting  
41   void   EvalAll(Float_t logWeight,TClonesArray * digits) ;
42   void   EvalLocalPosition(Float_t logWeight,TClonesArray * digits ) ;  
43   void   EvalClusterLengths(TClonesArray * digits) ;
44
45   virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py) const ; 
46
47   void   GetClusterLengths(Int_t &lengX, Int_t &lengZ) const {lengX = fLengX ;lengZ = fLengZ ;}
48   Bool_t IsEmc(void) const {return kFALSE ; }        // tells that this is not a EMC
49   Bool_t IsCPV(void) const {return kTRUE  ; }        // true if the recpoint is in CPV
50   Bool_t IsSortable() const { return kTRUE ; }    // tells that this is a sortable object
51   void   Print(Option_t * opt = "void") ; 
52
53   AliPHOSCpvRecPoint & operator = (const AliPHOSCpvRecPoint & rvalue)  {
54     // assignement operator requested by coding convention but not needed
55     assert(0==1) ;
56     return *this ; 
57   }
58
59  protected:
60
61   Bool_t AreNeighbours(AliPHOSDigit * digit1, AliPHOSDigit * digit2 ) const ;
62
63   Int_t    fLengX ;          // cluster length along x
64   Int_t    fLengZ ;          // cluster length along z
65   
66   ClassDef(AliPHOSCpvRecPoint,1)  // CPV RecPoint (cluster)
67
68 };
69
70 #endif // AliPHOSCPVRECPOINT_H