+ return (TMath::Sign(1e-9,fC) + fC)*GetLocalConvConst();
+
+}
+
+//_____________________________________________________________________________
+Double_t AliTRDtrack::GetP() const
+{
+ //
+ // Returns the total momentum
+ //
+
+ return TMath::Abs(GetPt())*sqrt(1.+GetTgl()*GetTgl());
+
+}
+
+//_____________________________________________________________________________
+Double_t AliTRDtrack::GetYat(Double_t xk) const
+{
+ //
+ // This function calculates the Y-coordinate of a track at
+ // the plane x = xk.
+ // Needed for matching with the TOF (I.Belikov)
+ //
+
+ Double_t c1 = fC*fX - fE;
+ Double_t r1 = TMath::Sqrt(1.0 - c1*c1);
+ Double_t c2 = fC*xk - fE;
+ Double_t r2 = TMath::Sqrt(1.0- c2*c2);
+ return fY + (xk-fX)*(c1+c2)/(r1+r2);
+
+}
+
+//_____________________________________________________________________________
+void AliTRDtrack::SetSampledEdx(Float_t q, Int_t i)
+{
+ //
+ // The sampled energy loss
+ //
+
+ Double_t s = GetSnp();
+ Double_t t = GetTgl();
+ q *= TMath::Sqrt((1-s*s)/(1+t*t));
+ fdQdl[i] = q;
+
+}
+
+ //_____________________________________________________________________________
+void AliTRDtrack::SetSampledEdx(Float_t q)
+{
+ //
+ // The sampled energy loss
+ //
+
+ Double_t s = GetSnp();
+ Double_t t = GetTgl();
+ q*= TMath::Sqrt((1-s*s)/(1+t*t));
+ fdQdl[fNdedx] = q;
+ fNdedx++;
+
+}
+
+//_____________________________________________________________________________
+void AliTRDtrack::GetXYZ(Float_t r[3]) const
+{
+
+ //---------------------------------------------------------------------
+ // Returns the position of the track in the global coord. system
+ //---------------------------------------------------------------------
+
+ Double_t cs = TMath::Cos(fAlpha);
+ Double_t sn = TMath::Sin(fAlpha);
+ r[0] = fX*cs - fY*sn;
+ r[1] = fX*sn + fY*cs;
+ r[2] = fZ;
+
+}