]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PHOS/AliPHOSCpvRecPoint.h
DP:Possibility to use actual vertex position added
[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 /* History of cvs commits:
9  *
10  * $Log$
11  * Revision 1.19  2006/08/28 10:01:56  kharlov
12  * Effective C++ warnings fixed (Timur Pocheptsov)
13  *
14  * Revision 1.18  2005/05/28 14:19:04  schutz
15  * Compilation warnings fixed by T.P.
16  *
17  */
18
19 //_________________________________________________________________________
20 //  RecPoint implementation for PHOS-CPV
21 //  An CpvRecPoint is a cluster of digits   
22 //*-- Author: Yuri Kharlov
23 //  (after Dmitri Peressounko (RRC KI & SUBATECH))
24 //  30 October 2000 
25 // --- ROOT system ---
26
27 //#include "TObject.h"
28 //#include "TArrayI.h"
29  
30 // --- Standard library ---
31
32 // --- AliRoot header files ---
33
34 //#include "AliPHOSDigit.h"
35 #include "AliPHOSEmcRecPoint.h"
36 //#include "AliPHOSGeometry.h"
37
38 class AliPHOSCpvRecPoint : public AliPHOSEmcRecPoint  {
39
40 public:
41
42   AliPHOSCpvRecPoint() ;
43   AliPHOSCpvRecPoint(const char * opt) ;
44
45   virtual ~AliPHOSCpvRecPoint() ;  
46
47   Int_t  Compare(const TObject * obj) const;                 // method for sorting  
48   void   EvalAll(Float_t logWeight, TClonesArray * digits) ;
49   void   EvalAll(Float_t logWeight, TVector3 &vtx, TClonesArray * digits) ;
50   void   EvalLocalPosition(Float_t logWeight, TVector3 &vtx, TClonesArray * digits ) ;  
51   void   EvalClusterLengths(TClonesArray * digits) ;
52
53   virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py) /*const*/ ; 
54
55   void   GetClusterLengths(Int_t &lengX, Int_t &lengZ) const {lengX = fLengX ;lengZ = fLengZ ;}
56   Bool_t IsEmc(void) const {return kFALSE ; }        // tells that this is not a EMC
57   Bool_t IsCPV(void) const {return kTRUE  ; }        // true if the recpoint is in CPV
58   Bool_t IsSortable() const { return kTRUE ; }    // tells that this is a sortable object
59   void   Print(const Option_t * = "") const ; 
60
61  protected:
62
63   Bool_t AreNeighbours(AliPHOSDigit * digit1, AliPHOSDigit * digit2 ) const ;
64
65   Int_t    fLengX ;          // cluster length along x
66   Int_t    fLengZ ;          // cluster length along z
67   
68   ClassDef(AliPHOSCpvRecPoint,1)  // CPV RecPoint (cluster)
69
70 };
71
72 #endif // AliPHOSCPVRECPOINT_H