ROOT logo
#ifndef ALIPHOSTRACKSEGMENT_H
#define ALIPHOSTRACKSEGMENT_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.23  2006/08/28 10:01:56  kharlov
 * Effective C++ warnings fixed (Timur Pocheptsov)
 *
 * Revision 1.22  2005/05/28 14:19:05  schutz
 * Compilation warnings fixed by T.P.
 *
 */

//_________________________________________________________________________
//  Track segment in PHOS
//  Can be : 1 EmcRecPoint
//           1 EmcRecPoint + 1 CPV
//                  
//*-- Author:  Dmitri Peressounko (RRC KI & SUBATECH)

// --- ROOT system ---

#include "TObject.h"
class TClonesArray ; 

// --- Standard library ---

// --- AliRoot header files ---
class AliPHOSRecPoint ; 
class AliPHOSEmcRecPoint ; 
class AliPHOSCpvRecPoint ; 
class AliESDtrack ; 

class AliPHOSTrackSegment : public TObject  {

public:

  AliPHOSTrackSegment() ;
  AliPHOSTrackSegment(AliPHOSEmcRecPoint * EmcRecPoint , 
		      AliPHOSRecPoint * Cpv) ;
  AliPHOSTrackSegment(AliPHOSEmcRecPoint * EmcRecPoint , 
		      AliPHOSRecPoint * Cpv, Int_t track) ;
  AliPHOSTrackSegment(AliPHOSEmcRecPoint * EmcRecPoint , 
		      AliPHOSRecPoint * Cpv, Int_t track, 
                      Float_t dx, Float_t dz) ;
  AliPHOSTrackSegment(const AliPHOSTrackSegment & ts) ;  // ctor                   
  virtual ~AliPHOSTrackSegment() {  } 

  void    SetCpvDistance(Float_t x,Float_t z){fDcpv[0]=x ; fDcpv[1]=z ; }

  void Copy(TObject & obj) const;  

  Int_t   GetIndexInList() const {  return fIndexInList ;   } 
  Int_t   GetEmcIndex()    const {  return fEmcRecPoint ;   }
  Int_t   GetCpvIndex()    const {  return fCpvRecPoint; }
  Int_t   GetTrackIndex()  const {  return fTrack; }
  Float_t GetCpvDistance(const Option_t* dr="r") const ;

  virtual void  Print(const Option_t * = "") const;
  void    SetIndexInList(Int_t val){ fIndexInList = val ;     } 
  void    SetCpvRecPoint(AliPHOSRecPoint * CpvRecPoint ); //sets CPV Rec Point

  typedef TClonesArray TrackSegmentsList ; 
 
private:
  AliPHOSTrackSegment & operator = (const AliPHOSTrackSegment & /*ts*/);
 private:
  
  Int_t fEmcRecPoint ;     // The EMC reconstructed point index in array stored in TreeR/PHOSEmcRP
  Int_t fIndexInList ;     // the index of this TrackSegment in the list stored in TreeR (to be set by analysis)
  Int_t fCpvRecPoint ;     // The CPV reconstructed point in array stored in TreeR/PHOSCpvRP
  Int_t fTrack ;           // The charged track index (from global tracking) in ESD file 
  Float_t fDcpv[2] ;       // Distance to projection of CPV cluster

 ClassDef(AliPHOSTrackSegment,1)  // Track segment in PHOS

};

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