new design: derived from TTask
[u/mrichter/AliRoot.git] / PHOS / AliPHOSTrackSegment.h
CommitLineData
6c370def 1#ifndef ALIPHOSTRACKSEGMENT_H
2#define ALIPHOSTRACKSEGMENT_H
d15a28e7 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6ad0bfa0 6/* $Id$ */
7
b2a60966 8//_________________________________________________________________________
9// Track segment in PHOS
10// Can be : 1 EmcRecPoint
11// 1 EmcRecPoint + 1 PPSD
12// 1 EmcRecPoint + 1 PPSD + 1 PPSD
13//
14//*-- Author: Dmitri Peressounko (RRC KI & SUBATECH)
d15a28e7 15
16// --- ROOT system ---
17
18#include "TObject.h"
19#include "TVector3.h"
20
21// --- Standard library ---
22
23// --- AliRoot header files ---
24
25#include "AliPHOSEmcRecPoint.h"
26#include "AliPHOSPpsdRecPoint.h"
27
d15a28e7 28class AliPHOSTrackSegment : public TObject {
29
30public:
31
88714635 32 AliPHOSTrackSegment() {
33 // default ctor
34 }
35 AliPHOSTrackSegment(AliPHOSEmcRecPoint * EmcRecPoint ,
36 AliPHOSPpsdRecPoint * PpsdUp,
6ad0bfa0 37 AliPHOSPpsdRecPoint * PpsdLow ) ; // ctor
38 AliPHOSTrackSegment(const AliPHOSTrackSegment & ts) ; // ctor
88714635 39 virtual ~AliPHOSTrackSegment() {
40 // dtor
41 }
d15a28e7 42
6ad0bfa0 43 void Copy(TObject & obj) ;
9f616d61 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);
83974468 47 Float_t GetEnergy() ; // Returns energy in EMC
9f616d61 48
6ad0bfa0 49 Float_t GetDistanceInPHOSPlane(void) ; // Computes in PHOS plane the relative position between EMC and PPSD clusters
83974468 50 virtual Int_t GetPHOSMod(void) ;
6ad0bfa0 51 TVector3 GetMomentumDirection() ; // Returns the momentum direction
83974468 52 void GetPosition( TVector3 & pos ) ; // Returns positions of hit
b2a60966 53 Int_t * GetPrimariesEmc(Int_t & number) ;
54 Int_t * GetPrimariesPpsdLow(Int_t & number) ;
55 Int_t * GetPrimariesPpsdUp(Int_t & number) ;
83974468 56 AliPHOSEmcRecPoint * GetEmcRecPoint() const ;
88714635 57 Int_t GetIndexInList() const {
58 // returns the index of this in the list
59 return fIndexInList ;
60 }
61 Int_t GetEmcRecPointIndex() {
62 // return the index of the EMC recpoint at the origine of this
63 return fEmcRecPoint ;
64 }
d94c8ef6 65 AliPHOSPpsdRecPoint * GetPpsdLowRecPoint() const ;
88714635 66 Int_t GetPpsdLowRecPointIndex() {
67 // returns the PPSD low recpoint at the origin of this
68 return fPpsdLowRecPoint ;
69 }
d94c8ef6 70 AliPHOSPpsdRecPoint * GetPpsdUpRecPoint() const ;
88714635 71 Int_t GetPpsdUpRecPointIndex() {
72 // returns the PPSD up recpoint at the origin of this
73 return fPpsdUpRecPoint ;
74 }
83974468 75 virtual void Paint(Option_t * option="");
0a6d52e3 76 virtual void Print(const char *) ;
88714635 77 void SetIndexInList(Int_t val) {
78 // sets the index value of this in the list
79 fIndexInList = val ;
80 }
28c3a259 81 void SetPpsdUpRecPoint(AliPHOSPpsdRecPoint * PpsdUpRecPoint ); //sets PPSD up Rec Point
c0d5b57d 82
83 typedef TClonesArray TrackSegmentsList ;
83974468 84
88714635 85 private:
d15a28e7 86
83974468 87 Int_t fEmcRecPoint ; // The EMC reconstructed point index in array stored in TreeR/PHOSEmcRP
88 Int_t fIndexInList ; // the index of this TrackSegment in the list stored in TreeR (to be set by analysis)
89 Int_t fPpsdLowRecPoint ; // The PPSD reconstructed point from the lower layer index in array stored in TreeR/PHOSPpsdRP
90 Int_t fPpsdUpRecPoint ; // The PPSD reconstructed point from the upper layer index in array stored in TreeR/PHOSPpsdRP
c0d5b57d 91
b2a60966 92 ClassDef(AliPHOSTrackSegment,1) // Track segment in PHOS
d15a28e7 93
94};
95
6c370def 96#endif // ALIPHOSTRACKSEGMENT_H