]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
move from Bz to BxByBz in track propagation
authorabercuci <abercuci@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 22 Sep 2009 11:10:03 +0000 (11:10 +0000)
committerabercuci <abercuci@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 22 Sep 2009 11:10:03 +0000 (11:10 +0000)
TRD/AliTRDtrackV1.cxx

index bec2bd77e35a80d4011874b1502548e69e95f314..c42e5a9e747f60036742d1bac27868c920f5c6aa 100644 (file)
@@ -543,37 +543,29 @@ Bool_t AliTRDtrackV1::PropagateTo(Double_t xk, Double_t xx0, Double_t xrho)
   // "xrho" - thickness*density    [g/cm^2] 
   // 
 
-  if (xk == GetX()) {
-    return kTRUE;
-  }
-
-  Double_t oldX = GetX();
-  Double_t oldY = GetY();
-  Double_t oldZ = GetZ();
-
-  Double_t bz   = GetBz();
-
-  if (!AliExternalTrackParam::PropagateTo(xk,bz)) {
-    return kFALSE;
-  }
-
-  Double_t x = GetX();
-  Double_t y = GetY();
-  Double_t z = GetZ();
-
-  if (oldX < xk) {
+  if (xk == GetX()) return kTRUE;
+
+  Double_t xyz0[3], // track position BEFORE propagation 
+           xyz1[3], // track position AFTER propagation 
+           b[3];    // magnetic field 
+  GetXYZ(xyz0);
+  AliTracker::GetBxByBz(xyz0, b);
+  if(!AliExternalTrackParam::PropagateToBxByBz(xk,b)) return kFALSE;
+  GetXYZ(xyz1);
+  if(xyz0[0] < xk) {
     xrho = -xrho;
     if (IsStartedTimeIntegral()) {
-      Double_t l2  = TMath::Sqrt((x-oldX)*(x-oldX
-                               + (y-oldY)*(y-oldY
-                               + (z-oldZ)*(z-oldZ));
-      Double_t crv = AliExternalTrackParam::GetC(bz);
+      Double_t l2  = TMath::Sqrt((xyz1[0]-xyz0[0])*(xyz1[0]-xyz0[0]
+                               + (xyz1[1]-xyz0[1])*(xyz1[1]-xyz0[1]
+                               + (xyz1[2]-xyz0[2])*(xyz1[2]-xyz0[2]));
+      Double_t crv = AliExternalTrackParam::GetC(b[3]);
       if (TMath::Abs(l2*crv) > 0.0001) {
         // Make correction for curvature if neccesary
-        l2 = 0.5 * TMath::Sqrt((x-oldX)*(x-oldX
-                             + (y-oldY)*(y-oldY));
+        l2 = 0.5 * TMath::Sqrt((xyz1[0]-xyz0[0])*(xyz1[0]-xyz0[0]
+                             + (xyz1[1]-xyz0[1])*(xyz1[1]-xyz0[1]));
         l2 = 2.0 * TMath::ASin(l2 * crv) / crv;
-        l2 = TMath::Sqrt(l2*l2 + (z-oldZ)*(z-oldZ));
+        l2 = TMath::Sqrt(l2*l2 + (xyz1[2]-xyz0[2])*(xyz1[2]-xyz0[2]));
       }
       AddTimeStep(l2);
     }