X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TRD%2FAliTRDtrackV1.h;h=403539ae3a3c75ae5ce75048f94a94e815d66d77;hb=26fc4114d4eb31afcebe4a80bdb6ff3246628c12;hp=23435adc4e61970e99917c9bb7beaf144ffff217;hpb=a310e49be3a3d43c791d5a25cb7dbdf7ab85c0a2;p=u%2Fmrichter%2FAliRoot.git diff --git a/TRD/AliTRDtrackV1.h b/TRD/AliTRDtrackV1.h index 23435adc4e6..403539ae3a3 100644 --- a/TRD/AliTRDtrackV1.h +++ b/TRD/AliTRDtrackV1.h @@ -11,20 +11,20 @@ // // /////////////////////////////////////////////////////////////////////////////// -//#ifndef ALIKALMANTRACK_H +#ifndef ALIKALMANTRACK_H #include "AliKalmanTrack.h" -//#endif +#endif -//#ifndef ALITRDSEEDV1_H +#ifndef ALITRDSEEDV1_H #include "AliTRDseedV1.h" -//#endif +#endif -class AliTRDcluster; class AliESDtrack; +class AliTRDcluster; class AliTRDReconstructor; class AliTRDtrackV1 : public AliKalmanTrack { - friend class AliHLTTRDTrack; + friend class AliHLTTRDTrack; // allow HLT special access public: enum ETRDtrackSize { kNdet = AliTRDgeometry::kNdet @@ -42,6 +42,7 @@ public: kOwner = BIT(14) ,kStopped = BIT(15) ,kKink = BIT(16) + ,kPrimary = BIT(17) }; // propagation/update error codes (up to 4 bits) @@ -71,8 +72,9 @@ public: AliTRDtrackV1(const AliESDtrack &ref); AliTRDtrackV1(const AliTRDtrackV1 &ref); virtual ~AliTRDtrackV1(); - AliTRDtrackV1 &operator=(const AliTRDtrackV1 &ref) { *(new(this) AliTRDtrackV1(ref)); return *this; } - + AliTRDtrackV1 &operator=(const AliTRDtrackV1 &ref); + virtual void Copy(TObject &ref) const; + Bool_t CookPID(); Bool_t CookLabel(Float_t wrong); AliTRDtrackV1* GetBackupTrack() const {return fBackupTrack;} @@ -81,7 +83,7 @@ public: Int_t GetClusterIndex(Int_t id) const; Float_t GetEdep() const {return fDE;} Int_t GetESDid() const {return fESDid;} - inline Float_t GetMomentum(Int_t plane) const; + inline Float_t GetMomentum(Int_t plane=-1) const; inline Int_t GetNCross(); inline Int_t GetNumberOfTracklets() const; Double_t GetPIDsignal() const { return 0.;} @@ -89,7 +91,7 @@ public: UChar_t GetNumberOfTrackletsPID() const; Double_t GetPredictedChi2(const AliTRDseedV1 *tracklet, Double_t *cov) const; Double_t GetPredictedChi2(const AliCluster* /*c*/) const { return 0.0; } - Int_t GetProlongation(Double_t xk, Double_t &y, Double_t &z); + Int_t GetProlongation(Double_t xk, Double_t &y, Double_t &z) const; inline UChar_t GetStatusTRD(Int_t ly=-1) const; Int_t GetSector() const; AliTRDseedV1* GetTracklet(Int_t plane) const {return plane >=0 && plane =0 && plane < kNplane && fTrackletIndex[plane] != -1 ? fTracklet[plane]->GetMomentum() : -1.; +// Return ESD momentum stored in the tracklet reconstructed in layer = "plane". +// By default returns the ESD momentum in first tracklet attached to track + if(plane==-1){ + for(Int_t i(0); iGetMomentum(); + } + } else if( plane >=0 && plane < kNplane){ + if(fTracklet[plane]) return fTracklet[plane]->GetMomentum(); + } + return -1.; } //____________________________________________________