if (xk == GetX()) {
return kTRUE;
}
- Double_t bz = GetBz();
- if (!AliExternalTrackParam::PropagateTo(xk,bz)) {
+ Double_t b[3]; GetBxByBz(b);
+ if (!AliExternalTrackParam::PropagateToBxByBz(xk,b)) {
return kFALSE;
}
if (!AliExternalTrackParam::CorrectForMeanMaterial(xx0,xrho,GetMass())) {
Double_t p[3]={c->GetX(), c->GetY(), c->GetZ()};
Double_t covyz[3]={c->GetSigmaY2(), c->GetSigmaYZ(), c->GetSigmaZ2()};
Double_t covxyz[3]={c->GetSigmaX2(), c->GetSigmaXY(), c->GetSigmaXZ()};
- Double_t bz=GetBz();
-
+ Double_t bz=-GetBz();
+
if(!AliExternalTrackParam::PropagateTo(p, covyz, covxyz, bz)) return kFALSE;
if(IsStartedTimeIntegral())
{
Double_t d = TMath::Sqrt((GetX()-oldX)*(GetX()-oldX) + (GetY()-oldY)*(GetY()-oldY) + (GetZ()-oldZ)*(GetZ()-oldZ));
if (GetX()<oldX) d=-d;
AddTimeStep(d);
- }
+ }
return kTRUE;
}//PropagateTo()
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
GetXYZ(x);
Double_t bField[3];
TGeoGlobalMagField::Instance()->Field(x,bField);
- Double_t bz = bField[2];
+ Double_t bz = -bField[2];
if (OneOverPt() < kAlmost0 || TMath::Abs(bz) < kAlmost0Field ){ //straight-line tracks
Double_t unit[3]; GetDirection(unit);
x[0]+=unit[0]*len;