Merge branch 'master' into LocalDev
[u/mrichter/AliRoot.git] / PHOS / AliPHOSTrackSegment.h
... / ...
CommitLineData
1#ifndef ALIPHOSTRACKSEGMENT_H
2#define ALIPHOSTRACKSEGMENT_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.23 2006/08/28 10:01:56 kharlov
12 * Effective C++ warnings fixed (Timur Pocheptsov)
13 *
14 * Revision 1.22 2005/05/28 14:19:05 schutz
15 * Compilation warnings fixed by T.P.
16 *
17 */
18
19//_________________________________________________________________________
20// Track segment in PHOS
21// Can be : 1 EmcRecPoint
22// 1 EmcRecPoint + 1 CPV
23//
24//*-- Author: Dmitri Peressounko (RRC KI & SUBATECH)
25
26// --- ROOT system ---
27
28#include "TObject.h"
29class TClonesArray ;
30
31// --- Standard library ---
32
33// --- AliRoot header files ---
34class AliPHOSRecPoint ;
35class AliPHOSEmcRecPoint ;
36class AliPHOSCpvRecPoint ;
37class AliESDtrack ;
38
39class AliPHOSTrackSegment : public TObject {
40
41public:
42
43 AliPHOSTrackSegment() ;
44 AliPHOSTrackSegment(AliPHOSEmcRecPoint * EmcRecPoint ,
45 AliPHOSRecPoint * Cpv) ;
46 AliPHOSTrackSegment(AliPHOSEmcRecPoint * EmcRecPoint ,
47 AliPHOSRecPoint * Cpv, Int_t track) ;
48 AliPHOSTrackSegment(AliPHOSEmcRecPoint * EmcRecPoint ,
49 AliPHOSRecPoint * Cpv, Int_t track,
50 Float_t dx, Float_t dz) ;
51 AliPHOSTrackSegment(const AliPHOSTrackSegment & ts) ; // ctor
52 virtual ~AliPHOSTrackSegment() { }
53
54 void SetCpvDistance(Float_t x,Float_t z){fDcpv[0]=x ; fDcpv[1]=z ; }
55
56 void Copy(TObject & obj) const;
57
58 Int_t GetIndexInList() const { return fIndexInList ; }
59 Int_t GetEmcIndex() const { return fEmcRecPoint ; }
60 Int_t GetCpvIndex() const { return fCpvRecPoint; }
61 Int_t GetTrackIndex() const { return fTrack; }
62 Float_t GetCpvDistance(const Option_t* dr="r") const ;
63
64 virtual void Print(const Option_t * = "") const;
65 void SetIndexInList(Int_t val){ fIndexInList = val ; }
66 void SetCpvRecPoint(AliPHOSRecPoint * CpvRecPoint ); //sets CPV Rec Point
67
68 typedef TClonesArray TrackSegmentsList ;
69
70private:
71 AliPHOSTrackSegment & operator = (const AliPHOSTrackSegment & /*ts*/);
72 private:
73
74 Int_t fEmcRecPoint ; // The EMC reconstructed point index in array stored in TreeR/PHOSEmcRP
75 Int_t fIndexInList ; // the index of this TrackSegment in the list stored in TreeR (to be set by analysis)
76 Int_t fCpvRecPoint ; // The CPV reconstructed point in array stored in TreeR/PHOSCpvRP
77 Int_t fTrack ; // The charged track index (from global tracking) in ESD file
78 Float_t fDcpv[2] ; // Distance to projection of CPV cluster
79
80 ClassDef(AliPHOSTrackSegment,1) // Track segment in PHOS
81
82};
83
84#endif // ALIPHOSTRACKSEGMENT_H