X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSTrackSegment.h;h=9ecd65edd41dad19e383120a30b07b990e1bc11a;hb=41f671ab609085085e0acaf43374c677c7e75427;hp=1ae2e5594c3742e55994b291e448db8044c50775;hpb=d15a28e7baaf9ecf573af1e229c75b9527e05793;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSTrackSegment.h b/PHOS/AliPHOSTrackSegment.h index 1ae2e5594c3..9ecd65edd41 100644 --- a/PHOS/AliPHOSTrackSegment.h +++ b/PHOS/AliPHOSTrackSegment.h @@ -1,62 +1,84 @@ -#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 */ -///////////////////////////////////////////////// -// Short description // -// Version SUBATECH // -// Author Dmitri Peressounko RRC KI // -// comment: contains pairs (triplets) of // -// EMC+PPSD(+PPSD) clusters, and // -// evaluates particle type, // -// energy, etc // -///////////////////////////////////////////////// +/* $Id$ */ + +/* 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 --- +class AliPHOSRecPoint ; +class AliPHOSEmcRecPoint ; +class AliPHOSCpvRecPoint ; +class AliESDtrack ; -#include "AliPHOSEmcRecPoint.h" -#include "AliPHOSPpsdRecPoint.h" +class AliPHOSTrackSegment : public TObject { +public: + 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() { } -class AliPHOSTrackSegment : public TObject { + void SetCpvDistance(Float_t x,Float_t z){fDcpv[0]=x ; fDcpv[1]=z ; } -public: + void Copy(TObject & obj) const; - AliPHOSTrackSegment() {} ; // ctor - AliPHOSTrackSegment(AliPHOSEmcRecPoint * EmcRecPoint , AliPHOSPpsdRecPoint * PpsdUp, - AliPHOSPpsdRecPoint * PpsdLow ) ; - virtual ~AliPHOSTrackSegment() ; // dtor - - Int_t GetPartType() ; // Returns 0 - gamma, 1 - e+, e- ; 2 - neutral hadron ; 3 - charged hadron - Float_t GetEnergy(){ return fEmcRecPoint->GetTotalEnergy() ;} // Returs energy in EMC - Float_t GetDistanceInPHOSPlane(void) ; // computes in PHOS plane the relative position between EMC and PPSD clusters - Bool_t GetMomentumDirection( TVector3 & dir ) ; // True if determined - void GetPosition( TVector3 & pos ) ; // Returns positions of hits - void Print() ; - void SetDispersionCutOff(Float_t Dcut) {fCutOnDispersion = Dcut ; } - - + 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: + AliPHOSTrackSegment & operator = (const AliPHOSTrackSegment & /*ts*/); + private: - AliPHOSEmcRecPoint * fEmcRecPoint ; - AliPHOSPpsdRecPoint * fPpsdLow ; - AliPHOSPpsdRecPoint * fPpsdUp ; - - Float_t fCutOnDispersion ; - -public: + 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