New data member (cerenkov angle) in Cerenkov data structure.
[u/mrichter/AliRoot.git] / PHOS / AliPHOSTrackSegment.h
CommitLineData
d15a28e7 1#ifndef ALIPHOSSUBTRACK_H
2#define ALIPHOSSUBTRACK_H
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
83974468 28typedef TClonesArray TrackSegmentsList ;
29
d15a28e7 30class AliPHOSTrackSegment : public TObject {
31
32public:
33
b2a60966 34 AliPHOSTrackSegment() {} // ctor
d15a28e7 35 AliPHOSTrackSegment(AliPHOSEmcRecPoint * EmcRecPoint , AliPHOSPpsdRecPoint * PpsdUp,
6ad0bfa0 36 AliPHOSPpsdRecPoint * PpsdLow ) ; // ctor
37 AliPHOSTrackSegment(const AliPHOSTrackSegment & ts) ; // ctor
b2a60966 38 virtual ~AliPHOSTrackSegment() {} // dtor
d15a28e7 39
6ad0bfa0 40 void Copy(TObject & obj) ;
9f616d61 41 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
42 virtual void Draw(Option_t * option="") ;
43 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
83974468 44 Float_t GetEnergy() ; // Returns energy in EMC
9f616d61 45
6ad0bfa0 46 Float_t GetDistanceInPHOSPlane(void) ; // Computes in PHOS plane the relative position between EMC and PPSD clusters
83974468 47 virtual Int_t GetPHOSMod(void) ;
6ad0bfa0 48 TVector3 GetMomentumDirection() ; // Returns the momentum direction
83974468 49 void GetPosition( TVector3 & pos ) ; // Returns positions of hit
b2a60966 50 Int_t * GetPrimariesEmc(Int_t & number) ;
51 Int_t * GetPrimariesPpsdLow(Int_t & number) ;
52 Int_t * GetPrimariesPpsdUp(Int_t & number) ;
83974468 53 AliPHOSEmcRecPoint * GetEmcRecPoint() const ;
d94c8ef6 54 Int_t GetEmcRecPointIndex() {return fEmcRecPoint; }
83974468 55 Int_t GetIndexInList() const { return fIndexInList ; }
d94c8ef6 56 AliPHOSPpsdRecPoint * GetPpsdLowRecPoint() const ;
57 Int_t GetPpsdLowRecPointIndex() {return fPpsdLowRecPoint ; }
58 AliPHOSPpsdRecPoint * GetPpsdUpRecPoint() const ;
59 Int_t GetPpsdUpRecPointIndex() {return fPpsdUpRecPoint ; }
83974468 60 virtual void Paint(Option_t * option="");
61 void Print() ;
62 void SetIndexInList(Int_t val) { fIndexInList = val ; }
63
d15a28e7 64
65private:
66
83974468 67 Int_t fEmcRecPoint ; // The EMC reconstructed point index in array stored in TreeR/PHOSEmcRP
68 Int_t fIndexInList ; // the index of this TrackSegment in the list stored in TreeR (to be set by analysis)
69 Int_t fPpsdLowRecPoint ; // The PPSD reconstructed point from the lower layer index in array stored in TreeR/PHOSPpsdRP
70 Int_t fPpsdUpRecPoint ; // The PPSD reconstructed point from the upper layer index in array stored in TreeR/PHOSPpsdRP
d15a28e7 71
b2a60966 72 ClassDef(AliPHOSTrackSegment,1) // Track segment in PHOS
d15a28e7 73
74};
75
76#endif // AliPHOSSUBTRACK_H