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 */
8 //_________________________________________________________________________
9 // Track segment in PHOS
10 // Can be : 1 EmcRecPoint
11 // 1 EmcRecPoint + 1 PPSD
12 // 1 EmcRecPoint + 1 PPSD + 1 PPSD
14 //*-- Author: Dmitri Peressounko (RRC KI & SUBATECH)
16 // --- ROOT system ---
21 // --- Standard library ---
23 // --- AliRoot header files ---
25 #include "AliPHOSEmcRecPoint.h"
26 #include "AliPHOSPpsdRecPoint.h"
28 class AliPHOSTrackSegment : public TObject {
32 AliPHOSTrackSegment() {
35 AliPHOSTrackSegment(AliPHOSEmcRecPoint * EmcRecPoint ,
36 AliPHOSPpsdRecPoint * PpsdUp,
37 AliPHOSPpsdRecPoint * PpsdLow ) ; // ctor
38 AliPHOSTrackSegment(const AliPHOSTrackSegment & ts) ; // ctor
39 virtual ~AliPHOSTrackSegment() {
43 void Copy(TObject & obj) ;
44 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
45 virtual void Draw(Option_t * option="") ;
46 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
47 Float_t GetEnergy() ; // Returns energy in EMC
49 Float_t GetDistanceInPHOSPlane(void) ; // Computes in PHOS plane the relative position between EMC and PPSD clusters
50 virtual Int_t GetPHOSMod(void) ;
51 TVector3 GetMomentumDirection() ; // Returns the momentum direction
52 void GetPosition( TVector3 & pos ) ; // Returns positions of hit
53 Int_t * GetPrimariesEmc(Int_t & number) ;
54 Int_t * GetPrimariesPpsdLow(Int_t & number) ;
55 Int_t * GetPrimariesPpsdUp(Int_t & number) ;
56 AliPHOSEmcRecPoint * GetEmcRecPoint() const ;
57 Int_t GetIndexInList() const {
58 // returns the index of this in the list
61 Int_t GetEmcRecPointIndex() {
62 // return the index of the EMC recpoint at the origine of this
65 AliPHOSPpsdRecPoint * GetPpsdLowRecPoint() const ;
66 Int_t GetPpsdLowRecPointIndex() {
67 // returns the PPSD low recpoint at the origin of this
68 return fPpsdLowRecPoint ;
70 AliPHOSPpsdRecPoint * GetPpsdUpRecPoint() const ;
71 Int_t GetPpsdUpRecPointIndex() {
72 // returns the PPSD up recpoint at the origin of this
73 return fPpsdUpRecPoint ;
75 virtual void Paint(Option_t * option="");
77 void SetIndexInList(Int_t val) {
78 // sets the index value of this in the list
84 Int_t fEmcRecPoint ; // The EMC reconstructed point index in array stored in TreeR/PHOSEmcRP
85 Int_t fIndexInList ; // the index of this TrackSegment in the list stored in TreeR (to be set by analysis)
86 Int_t fPpsdLowRecPoint ; // The PPSD reconstructed point from the lower layer index in array stored in TreeR/PHOSPpsdRP
87 Int_t fPpsdUpRecPoint ; // The PPSD reconstructed point from the upper layer index in array stored in TreeR/PHOSPpsdRP
89 typedef TClonesArray TrackSegmentsList ;
91 ClassDef(AliPHOSTrackSegment,1) // Track segment in PHOS
95 #endif // ALIPHOSTRACKSEGMENT_H