X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TRD%2FAliTRDtrackV1.h;h=56fef19f3fec3697d2f9454e030cf30dcf22717e;hb=260314be3d945b9126c13340c2386fde8f064186;hp=d4fdf9bbc840cae48e80197d602f56e26d9e0ac4;hpb=b453ef55a5ea3c908e8c9eb5acda8fbc92861adf;p=u%2Fmrichter%2FAliRoot.git diff --git a/TRD/AliTRDtrackV1.h b/TRD/AliTRDtrackV1.h index d4fdf9bbc84..56fef19f3fe 100644 --- a/TRD/AliTRDtrackV1.h +++ b/TRD/AliTRDtrackV1.h @@ -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,20 +91,21 @@ 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=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.; } //____________________________________________________