ROOT logo
#ifndef ALIPHOSCPVRECPOINT_H
#define ALIPHOSCPVRECPOINT_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

/* $Id$ */

/* History of cvs commits:
 *
 * $Log$
 * Revision 1.20  2007/03/06 06:47:28  kharlov
 * DP:Possibility to use actual vertex position added
 *
 * Revision 1.19  2006/08/28 10:01:56  kharlov
 * Effective C++ warnings fixed (Timur Pocheptsov)
 *
 * Revision 1.18  2005/05/28 14:19:04  schutz
 * Compilation warnings fixed by T.P.
 *
 */

//_________________________________________________________________________
//  RecPoint implementation for PHOS-CPV
//  An CpvRecPoint is a cluster of digits   
//-- Author: Yuri Kharlov
//  (after Dmitri Peressounko (RRC KI & SUBATECH))
//  30 October 2000 
// --- ROOT system ---

//#include "TObject.h"
//#include "TArrayI.h"
 
// --- Standard library ---

// --- AliRoot header files ---

#include "AliPHOSEmcRecPoint.h"

class AliPHOSCpvRecPoint : public AliPHOSEmcRecPoint  {

public:

  AliPHOSCpvRecPoint() ;
  AliPHOSCpvRecPoint(const char * opt) ;

  virtual ~AliPHOSCpvRecPoint() ;  

  Int_t  Compare(const TObject * obj) const;                 // method for sorting  
  virtual void EvalAll(TClonesArray * digits) ;
  virtual void EvalAll(Float_t logWeight, TVector3 &vtx, TClonesArray * digits) ;
  void   EvalLocalPosition(Float_t logWeight, TVector3 &vtx, TClonesArray * digits, TVector3 &vInc) ;
  void   EvalClusterLengths(TClonesArray * digits) ;

  virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py) /*const*/ ; 

  void   GetClusterLengths(Int_t &lengX, Int_t &lengZ) const {lengX = fLengX ;lengZ = fLengZ ;}
  Bool_t IsEmc(void) const {return kFALSE ; }        // tells that this is not a EMC
  Bool_t IsCPV(void) const {return kTRUE  ; }        // true if the recpoint is in CPV
  Bool_t IsSortable() const { return kTRUE ; }    // tells that this is a sortable object
  void   Print(const Option_t * = "") const ; 

 protected:

  Bool_t AreNeighbours(AliPHOSDigit * digit1, AliPHOSDigit * digit2 ) const ;

  Int_t    fLengX ;          // cluster length along x
  Int_t    fLengZ ;          // cluster length along z
  
  ClassDef(AliPHOSCpvRecPoint,1)  // CPV RecPoint (cluster)

};

#endif // AliPHOSCPVRECPOINT_H
 AliPHOSCpvRecPoint.h:1
 AliPHOSCpvRecPoint.h:2
 AliPHOSCpvRecPoint.h:3
 AliPHOSCpvRecPoint.h:4
 AliPHOSCpvRecPoint.h:5
 AliPHOSCpvRecPoint.h:6
 AliPHOSCpvRecPoint.h:7
 AliPHOSCpvRecPoint.h:8
 AliPHOSCpvRecPoint.h:9
 AliPHOSCpvRecPoint.h:10
 AliPHOSCpvRecPoint.h:11
 AliPHOSCpvRecPoint.h:12
 AliPHOSCpvRecPoint.h:13
 AliPHOSCpvRecPoint.h:14
 AliPHOSCpvRecPoint.h:15
 AliPHOSCpvRecPoint.h:16
 AliPHOSCpvRecPoint.h:17
 AliPHOSCpvRecPoint.h:18
 AliPHOSCpvRecPoint.h:19
 AliPHOSCpvRecPoint.h:20
 AliPHOSCpvRecPoint.h:21
 AliPHOSCpvRecPoint.h:22
 AliPHOSCpvRecPoint.h:23
 AliPHOSCpvRecPoint.h:24
 AliPHOSCpvRecPoint.h:25
 AliPHOSCpvRecPoint.h:26
 AliPHOSCpvRecPoint.h:27
 AliPHOSCpvRecPoint.h:28
 AliPHOSCpvRecPoint.h:29
 AliPHOSCpvRecPoint.h:30
 AliPHOSCpvRecPoint.h:31
 AliPHOSCpvRecPoint.h:32
 AliPHOSCpvRecPoint.h:33
 AliPHOSCpvRecPoint.h:34
 AliPHOSCpvRecPoint.h:35
 AliPHOSCpvRecPoint.h:36
 AliPHOSCpvRecPoint.h:37
 AliPHOSCpvRecPoint.h:38
 AliPHOSCpvRecPoint.h:39
 AliPHOSCpvRecPoint.h:40
 AliPHOSCpvRecPoint.h:41
 AliPHOSCpvRecPoint.h:42
 AliPHOSCpvRecPoint.h:43
 AliPHOSCpvRecPoint.h:44
 AliPHOSCpvRecPoint.h:45
 AliPHOSCpvRecPoint.h:46
 AliPHOSCpvRecPoint.h:47
 AliPHOSCpvRecPoint.h:48
 AliPHOSCpvRecPoint.h:49
 AliPHOSCpvRecPoint.h:50
 AliPHOSCpvRecPoint.h:51
 AliPHOSCpvRecPoint.h:52
 AliPHOSCpvRecPoint.h:53
 AliPHOSCpvRecPoint.h:54
 AliPHOSCpvRecPoint.h:55
 AliPHOSCpvRecPoint.h:56
 AliPHOSCpvRecPoint.h:57
 AliPHOSCpvRecPoint.h:58
 AliPHOSCpvRecPoint.h:59
 AliPHOSCpvRecPoint.h:60
 AliPHOSCpvRecPoint.h:61
 AliPHOSCpvRecPoint.h:62
 AliPHOSCpvRecPoint.h:63
 AliPHOSCpvRecPoint.h:64
 AliPHOSCpvRecPoint.h:65
 AliPHOSCpvRecPoint.h:66
 AliPHOSCpvRecPoint.h:67
 AliPHOSCpvRecPoint.h:68
 AliPHOSCpvRecPoint.h:69
 AliPHOSCpvRecPoint.h:70
 AliPHOSCpvRecPoint.h:71
 AliPHOSCpvRecPoint.h:72
 AliPHOSCpvRecPoint.h:73