X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSTrackSegment.h;h=34c161f1f8c150f3e9fd7ac1fc052291f87ce218;hb=cf9f6481fd65a9c59660c943ed4f44aaad41d3b5;hp=c72e77664ef395eb9ed27113ef947264ffd12e63;hpb=09fc14a05f8da34f099349118ed9c2f8b078f6c4;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSTrackSegment.h b/PHOS/AliPHOSTrackSegment.h index c72e77664ef..34c161f1f8c 100644 --- a/PHOS/AliPHOSTrackSegment.h +++ b/PHOS/AliPHOSTrackSegment.h @@ -1,68 +1,82 @@ -#ifndef ALIPHOSSUBTRACK_H -#define ALIPHOSSUBTRACK_H +#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$ */ -///////////////////////////////////////////////// -// Short description // -// Version SUBATECH // -// Author Dmitri Peressounko RRC KI // -// comment: contains pairs (triplets) of // -// EMC+PPSD(+PPSD) clusters, and // -// evaluates particle type, // -// energy, etc // -///////////////////////////////////////////////// +/* 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" -#include "TVector3.h" +class TClonesArray ; // --- Standard library --- // --- AliRoot header files --- - -#include "AliPHOSEmcRecPoint.h" -#include "AliPHOSPpsdRecPoint.h" +class AliPHOSRecPoint ; +class AliPHOSEmcRecPoint ; +class AliPHOSCpvRecPoint ; +class AliESDtrack ; class AliPHOSTrackSegment : public TObject { public: - AliPHOSTrackSegment() {} ; // ctor - AliPHOSTrackSegment(AliPHOSEmcRecPoint * EmcRecPoint , AliPHOSPpsdRecPoint * PpsdUp, - AliPHOSPpsdRecPoint * PpsdLow ) ; // ctor + 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() ; // dtor + virtual ~AliPHOSTrackSegment() { } - void Copy(TObject & obj) ; - virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); - virtual void Draw(Option_t * option="") ; - virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py); - Float_t GetEnergy(){ return fEmcRecPoint->GetTotalEnergy() ;} // Returns energy in EMC - - Float_t GetDistanceInPHOSPlane(void) ; // Computes in PHOS plane the relative position between EMC and PPSD clusters - virtual Int_t GetPHOSMod(void) {return fEmcRecPoint->GetPHOSMod(); } - TVector3 GetMomentumDirection() ; // Returns the momentum direction - void GetPosition( TVector3 & pos ) ; // Returns positions of hit - AliPHOSEmcRecPoint * GetEmcRecPoint() const { return fEmcRecPoint ; } - AliPHOSPpsdRecPoint * GetPpsdLow() const { return fPpsdLow ; } - AliPHOSPpsdRecPoint * GetPpsdUp() const { return fPpsdUp ; } - virtual void Paint(Option_t * option=""); - void Print() ; - - -private: - - AliPHOSEmcRecPoint * fEmcRecPoint ; - AliPHOSPpsdRecPoint * fPpsdLow ; - AliPHOSPpsdRecPoint * fPpsdUp ; + 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: + 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) // description , version 1 + ClassDef(AliPHOSTrackSegment,1) // Track segment in PHOS }; -#endif // AliPHOSSUBTRACK_H +#endif // ALIPHOSTRACKSEGMENT_H