#include "TEveTrackPropagator.h"
#include "TEveTrack.h"
#include "TEveTrans.h"
#include "TMath.h"
#include <cassert>
ClassImp(TEveMagField);
ClassImp(TEveMagFieldConst);
ClassImp(TEveMagFieldDuo);
namespace
{
const Double_t kPtMinSqr = 1e-20;
const Double_t kAMin = 1e-10;
const Double_t kStepEps = 1e-3;
}
TEveTrackPropagator::Helix_t::Helix_t() :
fCharge(0),
fMaxAng(45), fMaxStep(20.f), fDelta(0.1),
fPhi(0), fValid(kFALSE),
fLam(-1), fR(-1), fPhiStep(-1), fSin(-1), fCos(-1),
fRKStep(20.0),
fPtMag(-1), fPlMag(-1), fLStep(-1)
{
}
void TEveTrackPropagator::Helix_t::UpdateCommon(const TEveVectorD& p, const TEveVectorD& b)
{
fB = b;
fE1 = b;
fE1.Normalize();
fPlMag = p.Dot(fE1);
fPl = fE1*fPlMag;
fPt = p - fPl;
fPtMag = fPt.Mag();
fE2 = fPt;
fE2.Normalize();
}
void TEveTrackPropagator::Helix_t::UpdateHelix(const TEveVectorD& p, const TEveVectorD& b,
Bool_t full_update, Bool_t enforce_max_step)
{
UpdateCommon(p, b);
TMath::Cross(fE1.Arr(), fE2.Arr(), fE3.Arr());
if (fCharge < 0) fE3.NegateXYZ();
if (full_update)
{
using namespace TMath;
Double_t a = fgkB2C * b.Mag() * Abs(fCharge);
if (a > kAMin && fPtMag*fPtMag > kPtMinSqr)
{
fValid = kTRUE;
fR = Abs(fPtMag / a);
fLam = fPlMag / fPtMag;
fPhiStep = fMaxAng * DegToRad();
if (fR > fDelta)
{
Double_t ang = 2.0 * ACos(1.0f - fDelta/fR);
if (ang < fPhiStep)
fPhiStep = ang;
}
Double_t curr_step = fR * fPhiStep * Sqrt(1.0f + fLam*fLam);
if (curr_step > fMaxStep || enforce_max_step)
fPhiStep *= fMaxStep / curr_step;
fLStep = fR * fPhiStep * fLam;
fSin = Sin(fPhiStep);
fCos = Cos(fPhiStep);
}
else
{
fValid = kFALSE;
}
}
}
void TEveTrackPropagator::Helix_t::UpdateRK(const TEveVectorD& p, const TEveVectorD& b)
{
UpdateCommon(p, b);
if (fCharge)
{
fValid = kTRUE;
fB = b;
fPlMag = p.Dot(fB);
}
else
{
fValid = kFALSE;
}
}
void TEveTrackPropagator::Helix_t::Step(const TEveVector4D& v, const TEveVectorD& p,
TEveVector4D& vOut, TEveVectorD& pOut)
{
vOut = v;
if (fValid)
{
TEveVectorD d = fE2*(fR*fSin) + fE3*(fR*(1-fCos)) + fE1*fLStep;
vOut += d;
vOut.fT += TMath::Abs(fLStep);
pOut = fPl + fE2*(fPtMag*fCos) + fE3*(fPtMag*fSin);
fPhi += fPhiStep;
}
else
{
vOut += p * (fMaxStep / p.Mag());
vOut.fT += fMaxStep;
pOut = p;
}
}
ClassImp(TEveTrackPropagator);
Double_t TEveTrackPropagator::fgDefMagField = 0.5;
const Double_t TEveTrackPropagator::fgkB2C = 0.299792458e-2;
TEveTrackPropagator TEveTrackPropagator::fgDefault;
Double_t TEveTrackPropagator::fgEditorMaxR = 2000;
Double_t TEveTrackPropagator::fgEditorMaxZ = 4000;
TEveTrackPropagator::TEveTrackPropagator(const char* n, const char* t,
TEveMagField *field, Bool_t own_field) :
TEveElementList(n, t),
TEveRefBackPtr(),
fStepper(kHelix),
fMagFieldObj(field),
fOwnMagFiledObj(own_field),
fMaxR (350), fMaxZ (450),
fNMax (4096), fMaxOrbs (0.5),
fEditPathMarks (kTRUE),
fFitDaughters (kTRUE), fFitReferences (kTRUE),
fFitDecay (kTRUE),
fFitCluster2Ds (kTRUE), fFitLineSegments (kTRUE),
fRnrDaughters (kFALSE), fRnrReferences (kFALSE),
fRnrDecay (kFALSE), fRnrCluster2Ds (kFALSE),
fRnrFV (kFALSE),
fPMAtt(), fFVAtt(),
fProjTrackBreaking(kPTB_Break), fRnrPTBMarkers(kFALSE), fPTBAtt(),
fV()
{
fPMAtt.SetMarkerColor(kYellow);
fPMAtt.SetMarkerStyle(2);
fPMAtt.SetMarkerSize(2);
fFVAtt.SetMarkerColor(kRed);
fFVAtt.SetMarkerStyle(4);
fFVAtt.SetMarkerSize(1.5);
fPTBAtt.SetMarkerColor(kBlue);
fPTBAtt.SetMarkerStyle(4);
fPTBAtt.SetMarkerSize(0.8);
if (fMagFieldObj == 0) {
fMagFieldObj = new TEveMagFieldConst(0., 0., fgDefMagField);
fOwnMagFiledObj = kTRUE;
}
}
TEveTrackPropagator::~TEveTrackPropagator()
{
if (fOwnMagFiledObj)
{
delete fMagFieldObj;
}
}
void TEveTrackPropagator::OnZeroRefCount()
{
CheckReferenceCount("TEveTrackPropagator::OnZeroRefCount ");
}
void TEveTrackPropagator::CheckReferenceCount(const TEveException& eh)
{
if (fRefCount <= 0)
{
TEveElementList::CheckReferenceCount(eh);
}
}
void TEveTrackPropagator::ElementChanged(Bool_t update_scenes, Bool_t redraw)
{
TEveTrack* track;
RefMap_i i = fBackRefs.begin();
while (i != fBackRefs.end())
{
track = dynamic_cast<TEveTrack*>(i->first);
track->StampObjProps();
++i;
}
TEveElementList::ElementChanged(update_scenes, redraw);
}
void TEveTrackPropagator::InitTrack(const TEveVectorD &v, Int_t charge)
{
fV = v;
fPoints.push_back(fV);
fH.fPhi = 0;
fH.fCharge = charge;
}
void TEveTrackPropagator::InitTrack(const TEveVectorF& v, Int_t charge)
{
TEveVectorD vd(v);
InitTrack(vd, charge);
}
void TEveTrackPropagator::ResetTrack()
{
fPoints.clear();
fH.fPhi = 0;
}
Int_t TEveTrackPropagator::GetCurrentPoint() const
{
return fPoints.size() - 1;
}
Double_t TEveTrackPropagator::GetTrackLength(Int_t start_point, Int_t end_point) const
{
if (end_point < 0) end_point = fPoints.size() - 1;
Double_t sum = 0;
for (Int_t i = start_point; i < end_point; ++i)
{
sum += (fPoints[i+1] - fPoints[i]).Mag();
}
return sum;
}
Bool_t TEveTrackPropagator::GoToVertex(TEveVectorD& v, TEveVectorD& p)
{
Update(fV, p, kTRUE);
if ((v-fV).Mag() < kStepEps)
{
fPoints.push_back(v);
return kTRUE;
}
return fH.fValid ? LoopToVertex(v, p) : LineToVertex(v);
}
Bool_t TEveTrackPropagator::GoToLineSegment(const TEveVectorD& s, const TEveVectorD& r, TEveVectorD& p)
{
Update(fV, p, kTRUE);
if (!fH.fValid)
{
TEveVectorD v;
ClosestPointBetweenLines(s, r, fV, p, v);
LineToVertex(v);
return kTRUE;
}
else
{
return LoopToLineSegment(s, r, p);
}
}
Bool_t TEveTrackPropagator::GoToVertex(TEveVectorF& v, TEveVectorF& p)
{
TEveVectorD vd(v), pd(p);
Bool_t result = GoToVertex(vd, pd);
v = vd; p = pd;
return result;
}
Bool_t TEveTrackPropagator::GoToLineSegment(const TEveVectorF& s, const TEveVectorF& r, TEveVectorF& p)
{
TEveVectorD sd(s), rd(r), pd(p);
Bool_t result = GoToLineSegment(sd, rd, pd);
p = pd;
return result;
}
void TEveTrackPropagator::GoToBounds(TEveVectorD& p)
{
Update(fV, p, kTRUE);
fH.fValid ? LoopToBounds(p): LineToBounds(p);
}
void TEveTrackPropagator::GoToBounds(TEveVectorF& p)
{
TEveVectorD pd(p);
GoToBounds(pd);
p = pd;
}
void TEveTrackPropagator::Update(const TEveVector4D& v, const TEveVectorD& p,
Bool_t full_update, Bool_t enforce_max_step)
{
if (fStepper == kHelix)
{
fH.UpdateHelix(p, fMagFieldObj->GetFieldD(v), !fMagFieldObj->IsConst() || full_update, enforce_max_step);
}
else
{
fH.UpdateRK(p, fMagFieldObj->GetFieldD(v));
if (full_update)
{
using namespace TMath;
Float_t a = fgkB2C * fMagFieldObj->GetMaxFieldMagD() * Abs(fH.fCharge);
if (a > kAMin)
{
fH.fR = p.Mag() / a;
fH.fPhiStep = fH.fMaxAng * DegToRad();
if (fH.fR > fH.fDelta )
{
Double_t ang = 2.0 * ACos(1.0f - fH.fDelta/fH.fR);
if (ang < fH.fPhiStep)
fH.fPhiStep = ang;
}
fH.fRKStep = fH.fR * fH.fPhiStep * Sqrt(1 + fH.fLam*fH.fLam);
if (fH.fRKStep > fH.fMaxStep || enforce_max_step)
{
fH.fPhiStep *= fH.fMaxStep / fH.fRKStep;
fH.fRKStep = fH.fMaxStep;
}
}
else
{
fH.fRKStep = fH.fMaxStep;
}
}
}
}
void TEveTrackPropagator::Step(const TEveVector4D &v, const TEveVectorD &p, TEveVector4D &vOut, TEveVectorD &pOut)
{
if (fStepper == kHelix)
{
fH.Step(v, p, vOut, pOut);
}
else
{
Double_t vecRKIn[7];
vecRKIn[0] = v.fX;
vecRKIn[1] = v.fY;
vecRKIn[2] = v.fZ;
Double_t pm = p.Mag();
Double_t nm = 1.0 / pm;
vecRKIn[3] = p.fX*nm;
vecRKIn[4] = p.fY*nm;
vecRKIn[5] = p.fZ*nm;
vecRKIn[6] = p.Mag();
Double_t vecRKOut[7];
StepRungeKutta(fH.fRKStep, vecRKIn, vecRKOut);
vOut.fX = vecRKOut[0];
vOut.fY = vecRKOut[1];
vOut.fZ = vecRKOut[2];
vOut.fT = v.fT + fH.fRKStep;
pm = vecRKOut[6];
pOut.fX = vecRKOut[3]*pm;
pOut.fY = vecRKOut[4]*pm;
pOut.fZ = vecRKOut[5]*pm;
}
}
void TEveTrackPropagator::LoopToBounds(TEveVectorD& p)
{
const Double_t maxRsq = fMaxR*fMaxR;
TEveVector4D currV(fV);
TEveVector4D forwV(fV);
TEveVectorD forwP (p);
Int_t np = fPoints.size();
Double_t maxPhi = fMaxOrbs*TMath::TwoPi();
while (fH.fPhi < maxPhi && np<fNMax)
{
Step(currV, p, forwV, forwP);
if (forwV.Perp2() > maxRsq)
{
Float_t t = (fMaxR - currV.R()) / (forwV.R() - currV.R());
if (t < 0 || t > 1)
{
Warning("HelixToBounds", "In MaxR crossing expected t>=0 && t<=1: t=%f, r1=%f, r2=%f, MaxR=%f.",
t, currV.R(), forwV.R(), fMaxR);
return;
}
TEveVectorD d(forwV);
d -= currV;
d *= t;
d += currV;
fPoints.push_back(d);
return;
}
else if (TMath::Abs(forwV.fZ) > fMaxZ)
{
Double_t t = (fMaxZ - TMath::Abs(currV.fZ)) / TMath::Abs((forwV.fZ - currV.fZ));
if (t < 0 || t > 1)
{
Warning("HelixToBounds", "In MaxZ crossing expected t>=0 && t<=1: t=%f, z1=%f, z2=%f, MaxZ=%f.",
t, currV.fZ, forwV.fZ, fMaxZ);
return;
}
TEveVectorD d(forwV -currV);
d *= t;
d += currV;
fPoints.push_back(d);
return;
}
currV = forwV;
p = forwP;
Update(currV, p);
fPoints.push_back(currV);
++np;
}
}
Bool_t TEveTrackPropagator::LoopToVertex(TEveVectorD& v, TEveVectorD& p)
{
const Double_t maxRsq = fMaxR * fMaxR;
TEveVector4D currV(fV);
TEveVector4D forwV(fV);
TEveVectorD forwP(p);
Int_t first_point = fPoints.size();
Int_t np = first_point;
Double_t prod0=0, prod1;
do
{
Step(currV, p, forwV, forwP);
Update(forwV, forwP);
if (PointOverVertex(v, forwV, &prod1))
{
break;
}
if (IsOutsideBounds(forwV, maxRsq, fMaxZ))
{
fV = currV;
return kFALSE;
}
fPoints.push_back(forwV);
currV = forwV;
p = forwP;
prod0 = prod1;
++np;
} while (np < fNMax);
if (np > first_point)
{
if ((v - currV).Mag() > kStepEps)
{
Double_t step_frac = prod0 / (prod0 - prod1);
if (step_frac > 0)
{
Float_t orig_max_step = fH.fMaxStep;
fH.fMaxStep = step_frac * (forwV - currV).Mag();
Update(currV, p, kTRUE, kTRUE);
Step(currV, p, forwV, forwP);
p = forwP;
currV = forwV;
fPoints.push_back(currV);
++np;
fH.fMaxStep = orig_max_step;
}
TEveVectorD off(v - currV);
off *= 1.0f / currV.fT;
DistributeOffset(off, first_point, np, p);
fV = v;
return kTRUE;
}
}
fPoints.push_back(v);
fV = v;
return kTRUE;
}
Bool_t TEveTrackPropagator::LoopToLineSegment(const TEveVectorD& s, const TEveVectorD& r, TEveVectorD& p)
{
const Double_t maxRsq = fMaxR * fMaxR;
const Double_t rMagInv = 1./r.Mag();
TEveVector4D currV(fV);
TEveVector4D forwV(fV);
TEveVectorD forwP(p);
Int_t first_point = fPoints.size();
Int_t np = first_point;
TEveVectorD forwC;
TEveVectorD currC;
do
{
Step(currV, p, forwV, forwP);
Update(forwV, forwP);
ClosestPointFromVertexToLineSegment(forwV, s, r, rMagInv, forwC);
TEveVectorD b = r; b.Normalize();
Double_t x = forwP.Dot(b);
TEveVectorD pTPM = forwP - x*b;
if (pTPM.Dot(forwC - forwV) < 0)
{
break;
}
if (IsOutsideBounds(forwV, maxRsq, fMaxZ))
{
fV = currV;
return kFALSE;
}
fPoints.push_back(forwV);
currV = forwV;
p = forwP;
currC = forwC;
++np;
} while (np < fNMax);
TEveVectorD v;
ClosestPointBetweenLines(s, r, currV, forwV - currV, v);
if (np > first_point)
{
if ((v - currV).Mag() > kStepEps)
{
TEveVector last_step = forwV - currV;
TEveVector delta = v - currV;
Double_t step_frac = last_step.Dot(delta) / last_step.Mag2();
if (step_frac > 0)
{
Float_t orig_max_step = fH.fMaxStep;
fH.fMaxStep = step_frac * (forwV - currV).Mag();
Update(currV, p, kTRUE, kTRUE);
Step(currV, p, forwV, forwP);
p = forwP;
currV = forwV;
fPoints.push_back(currV);
++np;
fH.fMaxStep = orig_max_step;
}
TEveVectorD off(v - currV);
off *= 1.0f / currV.fT;
DistributeOffset(off, first_point, np, p);
fV = v;
return kTRUE;
}
}
fPoints.push_back(v);
fV = v;
return kTRUE;
}
void TEveTrackPropagator::DistributeOffset(const TEveVectorD& off, Int_t first_point, Int_t np, TEveVectorD& p)
{
TEveVectorD lpd0(fPoints[np-1]);
lpd0 -= fPoints[np-2];
lpd0.Normalize();
for (Int_t i = first_point; i < np; ++i)
{
fPoints[i] += off * fPoints[i].fT;
}
TEveVectorD lpd1(fPoints[np-1]);
lpd1 -= fPoints[np-2];
lpd1.Normalize();
TEveTrans tt;
tt.SetupFromToVec(lpd0, lpd1);
tt.RotateIP(p);
}
Bool_t TEveTrackPropagator::LineToVertex(TEveVectorD& v)
{
TEveVector4D currV = v;
currV.fX = v.fX;
currV.fY = v.fY;
currV.fZ = v.fZ;
fPoints.push_back(currV);
fV = v;
return kTRUE;
}
void TEveTrackPropagator::LineToBounds(TEveVectorD& p)
{
Double_t tZ = 0, tR = 0, tB = 0;
if (p.fZ > 0)
tZ = (fMaxZ - fV.fZ) / p.fZ;
else if (p.fZ < 0)
tZ = - (fMaxZ + fV.fZ) / p.fZ;
Double_t a = p.fX*p.fX + p.fY*p.fY;
Double_t b = 2.0 * (fV.fX*p.fX + fV.fY*p.fY);
Double_t c = fV.fX*fV.fX + fV.fY*fV.fY - fMaxR*fMaxR;
Double_t d = b*b - 4.0*a*c;
if (d >= 0) {
Double_t sqrtD = TMath::Sqrt(d);
tR = (-b - sqrtD) / (2.0 * a);
if (tR < 0) {
tR = (-b + sqrtD) / (2.0 * a);
}
tB = tR < tZ ? tR : tZ;
} else {
tB = tZ;
}
TEveVectorD nv(fV.fX + p.fX*tB, fV.fY + p.fY*tB, fV.fZ + p.fZ*tB);
LineToVertex(nv);
}
Bool_t TEveTrackPropagator::HelixIntersectPlane(const TEveVectorD& p,
const TEveVectorD& point,
const TEveVectorD& normal,
TEveVectorD& itsect)
{
TEveVectorD pos(fV);
TEveVectorD mom(p);
if (fMagFieldObj->IsConst())
fH.UpdateHelix(mom, fMagFieldObj->GetFieldD(pos), kFALSE, kFALSE);
TEveVectorD n(normal);
TEveVectorD delta = pos - point;
Double_t d = delta.Dot(n);
if (d > 0) {
n.NegateXYZ();
d = -d;
}
TEveVector4D forwV;
TEveVectorD forwP;
TEveVector4D pos4(pos);
while (kTRUE)
{
Update(pos4, mom);
Step(pos4, mom, forwV , forwP);
Double_t new_d = (forwV - point).Dot(n);
if (new_d < d)
{
Warning("HelixIntersectPlane", "going away from the plane.");
return kFALSE;
}
if (new_d > 0)
{
delta = forwV - pos;
itsect = pos + delta * (d / (d - new_d));
return kTRUE;
}
pos4 = forwV;
mom = forwP;
}
}
Bool_t TEveTrackPropagator::LineIntersectPlane(const TEveVectorD& p,
const TEveVectorD& point,
const TEveVectorD& normal,
TEveVectorD& itsect)
{
TEveVectorD pos(fV.fX, fV.fY, fV.fZ);
TEveVectorD delta = point - pos;
Double_t pn = p.Dot(normal);
if (pn == 0)
{
return kFALSE;
}
Double_t t = delta.Dot(normal) / pn;
if (t < 0) {
return kFALSE;
} else {
itsect = pos + p*t;
return kTRUE;
}
}
Bool_t TEveTrackPropagator::IntersectPlane(const TEveVectorD& p,
const TEveVectorD& point,
const TEveVectorD& normal,
TEveVectorD& itsect)
{
if (fH.fCharge && fMagFieldObj && p.Perp2() > kPtMinSqr)
return HelixIntersectPlane(p, point, normal, itsect);
else
return LineIntersectPlane(p, point, normal, itsect);
}
void TEveTrackPropagator::ClosestPointFromVertexToLineSegment(const TEveVectorD& v,
const TEveVectorD& s,
const TEveVectorD& r,
Double_t rMagInv,
TEveVectorD& c)
{
TEveVectorD dir = v - s;
TEveVectorD b1 = r * rMagInv;
Double_t dot = dir.Dot(b1);
TEveVectorD dirI = dot * b1;
Double_t facX = dot * rMagInv;
if (facX <= 0)
c = s;
else if (facX >= 1)
c = s + r;
else
c = s + dirI;
}
Bool_t TEveTrackPropagator::ClosestPointBetweenLines(const TEveVectorD& p0,
const TEveVectorD& u,
const TEveVectorD& q0,
const TEveVectorD& v,
TEveVectorD& out)
{
TEveVectorD w0 = p0 -q0;
Double_t a = u.Mag2();
Double_t b = u.Dot(v);
Double_t c = v.Mag2();
Double_t d = u.Dot(w0);
Double_t e = v.Dot(w0);
Double_t x = (b*e - c*d)/(a*c -b*b);
Bool_t force = (x < 0 || x > 1);
out = p0 + TMath::Range(0., 1., x) * u;
return force;
}
void TEveTrackPropagator::FillPointSet(TEvePointSet* ps) const
{
Int_t size = TMath::Min(fNMax, (Int_t)fPoints.size());
ps->Reset(size);
for (Int_t i = 0; i < size; ++i)
{
const TEveVector4D& v = fPoints[i];
ps->SetNextPoint(v.fX, v.fY, v.fZ);
}
}
void TEveTrackPropagator::RebuildTracks()
{
TEveTrack* track;
RefMap_i i = fBackRefs.begin();
while (i != fBackRefs.end())
{
track = dynamic_cast<TEveTrack*>(i->first);
track->MakeTrack();
track->StampObjProps();
++i;
}
}
void TEveTrackPropagator::SetMagField(Double_t bX, Double_t bY, Double_t bZ)
{
SetMagFieldObj(new TEveMagFieldConst(bX, bY, bZ));
}
void TEveTrackPropagator::SetMagFieldObj(TEveMagField* field, Bool_t own_field)
{
if (fMagFieldObj && fOwnMagFiledObj) delete fMagFieldObj;
fMagFieldObj = field;
fOwnMagFiledObj = own_field;
RebuildTracks();
}
void TEveTrackPropagator::PrintMagField(Double_t x, Double_t y, Double_t z) const
{
if (fMagFieldObj) fMagFieldObj->PrintField(x, y, z);
}
void TEveTrackPropagator::SetMaxR(Double_t x)
{
fMaxR = x;
RebuildTracks();
}
void TEveTrackPropagator::SetMaxZ(Double_t x)
{
fMaxZ = x;
RebuildTracks();
}
void TEveTrackPropagator::SetMaxOrbs(Double_t x)
{
fMaxOrbs = x;
RebuildTracks();
}
void TEveTrackPropagator::SetMinAng(Double_t x)
{
Warning("SetMinAng", "This method was mis-named, use SetMaxAng() instead!");
SetMaxAng(x);
}
Double_t TEveTrackPropagator::GetMinAng() const
{
Warning("GetMinAng", "This method was mis-named, use GetMaxAng() instead!");
return GetMaxAng();
}
void TEveTrackPropagator::SetMaxAng(Double_t x)
{
fH.fMaxAng = x;
RebuildTracks();
}
void TEveTrackPropagator::SetMaxStep(Double_t x)
{
fH.fMaxStep = x;
RebuildTracks();
}
void TEveTrackPropagator::SetDelta(Double_t x)
{
fH.fDelta = x;
RebuildTracks();
}
void TEveTrackPropagator::SetFitDaughters(Bool_t x)
{
fFitDaughters = x;
RebuildTracks();
}
void TEveTrackPropagator::SetFitReferences(Bool_t x)
{
fFitReferences = x;
RebuildTracks();
}
void TEveTrackPropagator::SetFitDecay(Bool_t x)
{
fFitDecay = x;
RebuildTracks();
}
void TEveTrackPropagator::SetFitLineSegments(Bool_t x)
{
fFitLineSegments = x;
RebuildTracks();
}
void TEveTrackPropagator::SetFitCluster2Ds(Bool_t x)
{
fFitCluster2Ds = x;
RebuildTracks();
}
void TEveTrackPropagator::SetRnrDecay(Bool_t rnr)
{
fRnrDecay = rnr;
RebuildTracks();
}
void TEveTrackPropagator::SetRnrCluster2Ds(Bool_t rnr)
{
fRnrCluster2Ds = rnr;
RebuildTracks();
}
void TEveTrackPropagator::SetRnrDaughters(Bool_t rnr)
{
fRnrDaughters = rnr;
RebuildTracks();
}
void TEveTrackPropagator::SetRnrReferences(Bool_t rnr)
{
fRnrReferences = rnr;
RebuildTracks();
}
void TEveTrackPropagator::SetRnrFV(Bool_t x)
{
fRnrFV = x;
RebuildTracks();
}
void TEveTrackPropagator::SetProjTrackBreaking(UChar_t x)
{
fProjTrackBreaking = x;
RebuildTracks();
}
void TEveTrackPropagator::SetRnrPTBMarkers(Bool_t x)
{
fRnrPTBMarkers = x;
RebuildTracks();
}
void TEveTrackPropagator::StepRungeKutta(Double_t step,
Double_t* vect, Double_t* vout)
{
Double_t h2, h4, f[4];
Double_t a, b, c, ph,ph2;
Double_t secxs[4],secys[4],seczs[4],hxp[3];
Double_t g1, g2, g3, g4, g5, g6, ang2, dxt, dyt, dzt;
Double_t est, at, bt, ct, cba;
Double_t f1, f2, f3, f4, rho, tet, hnorm, hp, rho1, sint, cost;
Double_t x;
Double_t y;
Double_t z;
Double_t xt;
Double_t yt;
Double_t zt;
const Int_t maxit = 500;
const Int_t maxcut = 11;
const Double_t hmin = 1e-4;
const Double_t kdlt = 1e-3;
const Double_t kdlt32 = kdlt/32.;
const Double_t kthird = 1./3.;
const Double_t khalf = 0.5;
const Double_t kec = 2.9979251e-3;
const Double_t kpisqua = 9.86960440109;
const Int_t kix = 0;
const Int_t kiy = 1;
const Int_t kiz = 2;
const Int_t kipx = 3;
const Int_t kipy = 4;
const Int_t kipz = 5;
Int_t iter = 0;
Int_t ncut = 0;
for(Int_t j = 0; j < 7; j++)
vout[j] = vect[j];
Double_t pinv = kec * fH.fCharge / vect[6];
Double_t tl = 0.;
Double_t h = step;
Double_t rest;
do {
rest = step - tl;
if (TMath::Abs(h) > TMath::Abs(rest))
h = rest;
f[0] = -fH.fB.fX;
f[1] = -fH.fB.fY;
f[2] = -fH.fB.fZ;
x = vout[0];
y = vout[1];
z = vout[2];
a = vout[3];
b = vout[4];
c = vout[5];
h2 = khalf * h;
h4 = khalf * h2;
ph = pinv * h;
ph2 = khalf * ph;
secxs[0] = (b * f[2] - c * f[1]) * ph2;
secys[0] = (c * f[0] - a * f[2]) * ph2;
seczs[0] = (a * f[1] - b * f[0]) * ph2;
ang2 = (secxs[0]*secxs[0] + secys[0]*secys[0] + seczs[0]*seczs[0]);
if (ang2 > kpisqua) break;
dxt = h2 * a + h4 * secxs[0];
dyt = h2 * b + h4 * secys[0];
dzt = h2 * c + h4 * seczs[0];
xt = x + dxt;
yt = y + dyt;
zt = z + dzt;
est = TMath::Abs(dxt) + TMath::Abs(dyt) + TMath::Abs(dzt);
if (est > h) {
if (ncut++ > maxcut) break;
h *= khalf;
continue;
}
fH.fB = fMagFieldObj->GetFieldD(xt, yt, zt);
f[0] = -fH.fB.fX;
f[1] = -fH.fB.fY;
f[2] = -fH.fB.fZ;
at = a + secxs[0];
bt = b + secys[0];
ct = c + seczs[0];
secxs[1] = (bt * f[2] - ct * f[1]) * ph2;
secys[1] = (ct * f[0] - at * f[2]) * ph2;
seczs[1] = (at * f[1] - bt * f[0]) * ph2;
at = a + secxs[1];
bt = b + secys[1];
ct = c + seczs[1];
secxs[2] = (bt * f[2] - ct * f[1]) * ph2;
secys[2] = (ct * f[0] - at * f[2]) * ph2;
seczs[2] = (at * f[1] - bt * f[0]) * ph2;
dxt = h * (a + secxs[2]);
dyt = h * (b + secys[2]);
dzt = h * (c + seczs[2]);
xt = x + dxt;
yt = y + dyt;
zt = z + dzt;
at = a + 2.*secxs[2];
bt = b + 2.*secys[2];
ct = c + 2.*seczs[2];
est = TMath::Abs(dxt)+TMath::Abs(dyt)+TMath::Abs(dzt);
if (est > 2.*TMath::Abs(h)) {
if (ncut++ > maxcut) break;
h *= khalf;
continue;
}
fH.fB = fMagFieldObj->GetFieldD(xt, yt, zt);
f[0] = -fH.fB.fX;
f[1] = -fH.fB.fY;
f[2] = -fH.fB.fZ;
z = z + (c + (seczs[0] + seczs[1] + seczs[2]) * kthird) * h;
y = y + (b + (secys[0] + secys[1] + secys[2]) * kthird) * h;
x = x + (a + (secxs[0] + secxs[1] + secxs[2]) * kthird) * h;
secxs[3] = (bt*f[2] - ct*f[1])* ph2;
secys[3] = (ct*f[0] - at*f[2])* ph2;
seczs[3] = (at*f[1] - bt*f[0])* ph2;
a = a+(secxs[0]+secxs[3]+2. * (secxs[1]+secxs[2])) * kthird;
b = b+(secys[0]+secys[3]+2. * (secys[1]+secys[2])) * kthird;
c = c+(seczs[0]+seczs[3]+2. * (seczs[1]+seczs[2])) * kthird;
est = TMath::Abs(secxs[0]+secxs[3] - (secxs[1]+secxs[2]))
+ TMath::Abs(secys[0]+secys[3] - (secys[1]+secys[2]))
+ TMath::Abs(seczs[0]+seczs[3] - (seczs[1]+seczs[2]));
if (est > kdlt && TMath::Abs(h) > hmin) {
if (ncut++ > maxcut) break;
h *= khalf;
continue;
}
ncut = 0;
if (iter++ > maxit) break;
tl += h;
if (est < kdlt32)
h *= 2.;
cba = 1./ TMath::Sqrt(a*a + b*b + c*c);
vout[0] = x;
vout[1] = y;
vout[2] = z;
vout[3] = cba*a;
vout[4] = cba*b;
vout[5] = cba*c;
rest = step - tl;
if (step < 0.) rest = -rest;
if (rest < 1.e-5*TMath::Abs(step))
{
Float_t dot = (vout[3]*vect[3] + vout[4]*vect[4] + vout[5]*vect[5]);
fH.fPhi += TMath::ACos(dot);
return;
}
} while(1);
f1 = f[0];
f2 = f[1];
f3 = f[2];
f4 = TMath::Sqrt(f1*f1+f2*f2+f3*f3);
rho = -f4*pinv;
tet = rho * step;
hnorm = 1./f4;
f1 = f1*hnorm;
f2 = f2*hnorm;
f3 = f3*hnorm;
hxp[0] = f2*vect[kipz] - f3*vect[kipy];
hxp[1] = f3*vect[kipx] - f1*vect[kipz];
hxp[2] = f1*vect[kipy] - f2*vect[kipx];
hp = f1*vect[kipx] + f2*vect[kipy] + f3*vect[kipz];
rho1 = 1./rho;
sint = TMath::Sin(tet);
cost = 2.*TMath::Sin(khalf*tet)*TMath::Sin(khalf*tet);
g1 = sint*rho1;
g2 = cost*rho1;
g3 = (tet-sint) * hp*rho1;
g4 = -cost;
g5 = sint;
g6 = cost * hp;
vout[kix] = vect[kix] + g1*vect[kipx] + g2*hxp[0] + g3*f1;
vout[kiy] = vect[kiy] + g1*vect[kipy] + g2*hxp[1] + g3*f2;
vout[kiz] = vect[kiz] + g1*vect[kipz] + g2*hxp[2] + g3*f3;
vout[kipx] = vect[kipx] + g4*vect[kipx] + g5*hxp[0] + g6*f1;
vout[kipy] = vect[kipy] + g4*vect[kipy] + g5*hxp[1] + g6*f2;
vout[kipz] = vect[kipz] + g4*vect[kipz] + g5*hxp[2] + g6*f3;
fH.fPhi += tet;
}
TEveTrackPropagator.cxx:1 TEveTrackPropagator.cxx:2 TEveTrackPropagator.cxx:3 TEveTrackPropagator.cxx:4 TEveTrackPropagator.cxx:5 TEveTrackPropagator.cxx:6 TEveTrackPropagator.cxx:7 TEveTrackPropagator.cxx:8 TEveTrackPropagator.cxx:9 TEveTrackPropagator.cxx:10 TEveTrackPropagator.cxx:11 TEveTrackPropagator.cxx:12 TEveTrackPropagator.cxx:13 TEveTrackPropagator.cxx:14 TEveTrackPropagator.cxx:15 TEveTrackPropagator.cxx:16 TEveTrackPropagator.cxx:17 TEveTrackPropagator.cxx:18 TEveTrackPropagator.cxx:19 TEveTrackPropagator.cxx:20 TEveTrackPropagator.cxx:21 TEveTrackPropagator.cxx:22 TEveTrackPropagator.cxx:23 TEveTrackPropagator.cxx:24 TEveTrackPropagator.cxx:25 TEveTrackPropagator.cxx:26 TEveTrackPropagator.cxx:27 TEveTrackPropagator.cxx:28 TEveTrackPropagator.cxx:29 TEveTrackPropagator.cxx:30 TEveTrackPropagator.cxx:31 TEveTrackPropagator.cxx:32 TEveTrackPropagator.cxx:33 TEveTrackPropagator.cxx:34 TEveTrackPropagator.cxx:35 TEveTrackPropagator.cxx:36 TEveTrackPropagator.cxx:37 TEveTrackPropagator.cxx:38 TEveTrackPropagator.cxx:39 TEveTrackPropagator.cxx:40 TEveTrackPropagator.cxx:41 TEveTrackPropagator.cxx:42 TEveTrackPropagator.cxx:43 TEveTrackPropagator.cxx:44 TEveTrackPropagator.cxx:45 TEveTrackPropagator.cxx:46 TEveTrackPropagator.cxx:47 TEveTrackPropagator.cxx:48 TEveTrackPropagator.cxx:49 TEveTrackPropagator.cxx:50 TEveTrackPropagator.cxx:51 TEveTrackPropagator.cxx:52 TEveTrackPropagator.cxx:53 TEveTrackPropagator.cxx:54 TEveTrackPropagator.cxx:55 TEveTrackPropagator.cxx:56 TEveTrackPropagator.cxx:57 TEveTrackPropagator.cxx:58 TEveTrackPropagator.cxx:59 TEveTrackPropagator.cxx:60 TEveTrackPropagator.cxx:61 TEveTrackPropagator.cxx:62 TEveTrackPropagator.cxx:63 TEveTrackPropagator.cxx:64 TEveTrackPropagator.cxx:65 TEveTrackPropagator.cxx:66 TEveTrackPropagator.cxx:67 TEveTrackPropagator.cxx:68 TEveTrackPropagator.cxx:69 TEveTrackPropagator.cxx:70 TEveTrackPropagator.cxx:71 TEveTrackPropagator.cxx:72 TEveTrackPropagator.cxx:73 TEveTrackPropagator.cxx:74 TEveTrackPropagator.cxx:75 TEveTrackPropagator.cxx:76 TEveTrackPropagator.cxx:77 TEveTrackPropagator.cxx:78 TEveTrackPropagator.cxx:79 TEveTrackPropagator.cxx:80 TEveTrackPropagator.cxx:81 TEveTrackPropagator.cxx:82 TEveTrackPropagator.cxx:83 TEveTrackPropagator.cxx:84 TEveTrackPropagator.cxx:85 TEveTrackPropagator.cxx:86 TEveTrackPropagator.cxx:87 TEveTrackPropagator.cxx:88 TEveTrackPropagator.cxx:89 TEveTrackPropagator.cxx:90 TEveTrackPropagator.cxx:91 TEveTrackPropagator.cxx:92 TEveTrackPropagator.cxx:93 TEveTrackPropagator.cxx:94 TEveTrackPropagator.cxx:95 TEveTrackPropagator.cxx:96 TEveTrackPropagator.cxx:97 TEveTrackPropagator.cxx:98 TEveTrackPropagator.cxx:99 TEveTrackPropagator.cxx:100 TEveTrackPropagator.cxx:101 TEveTrackPropagator.cxx:102 TEveTrackPropagator.cxx:103 TEveTrackPropagator.cxx:104 TEveTrackPropagator.cxx:105 TEveTrackPropagator.cxx:106 TEveTrackPropagator.cxx:107 TEveTrackPropagator.cxx:108 TEveTrackPropagator.cxx:109 TEveTrackPropagator.cxx:110 TEveTrackPropagator.cxx:111 TEveTrackPropagator.cxx:112 TEveTrackPropagator.cxx:113 TEveTrackPropagator.cxx:114 TEveTrackPropagator.cxx:115 TEveTrackPropagator.cxx:116 TEveTrackPropagator.cxx:117 TEveTrackPropagator.cxx:118 TEveTrackPropagator.cxx:119 TEveTrackPropagator.cxx:120 TEveTrackPropagator.cxx:121 TEveTrackPropagator.cxx:122 TEveTrackPropagator.cxx:123 TEveTrackPropagator.cxx:124 TEveTrackPropagator.cxx:125 TEveTrackPropagator.cxx:126 TEveTrackPropagator.cxx:127 TEveTrackPropagator.cxx:128 TEveTrackPropagator.cxx:129 TEveTrackPropagator.cxx:130 TEveTrackPropagator.cxx:131 TEveTrackPropagator.cxx:132 TEveTrackPropagator.cxx:133 TEveTrackPropagator.cxx:134 TEveTrackPropagator.cxx:135 TEveTrackPropagator.cxx:136 TEveTrackPropagator.cxx:137 TEveTrackPropagator.cxx:138 TEveTrackPropagator.cxx:139 TEveTrackPropagator.cxx:140 TEveTrackPropagator.cxx:141 TEveTrackPropagator.cxx:142 TEveTrackPropagator.cxx:143 TEveTrackPropagator.cxx:144 TEveTrackPropagator.cxx:145 TEveTrackPropagator.cxx:146 TEveTrackPropagator.cxx:147 TEveTrackPropagator.cxx:148 TEveTrackPropagator.cxx:149 TEveTrackPropagator.cxx:150 TEveTrackPropagator.cxx:151 TEveTrackPropagator.cxx:152 TEveTrackPropagator.cxx:153 TEveTrackPropagator.cxx:154 TEveTrackPropagator.cxx:155 TEveTrackPropagator.cxx:156 TEveTrackPropagator.cxx:157 TEveTrackPropagator.cxx:158 TEveTrackPropagator.cxx:159 TEveTrackPropagator.cxx:160 TEveTrackPropagator.cxx:161 TEveTrackPropagator.cxx:162 TEveTrackPropagator.cxx:163 TEveTrackPropagator.cxx:164 TEveTrackPropagator.cxx:165 TEveTrackPropagator.cxx:166 TEveTrackPropagator.cxx:167 TEveTrackPropagator.cxx:168 TEveTrackPropagator.cxx:169 TEveTrackPropagator.cxx:170 TEveTrackPropagator.cxx:171 TEveTrackPropagator.cxx:172 TEveTrackPropagator.cxx:173 TEveTrackPropagator.cxx:174 TEveTrackPropagator.cxx:175 TEveTrackPropagator.cxx:176 TEveTrackPropagator.cxx:177 TEveTrackPropagator.cxx:178 TEveTrackPropagator.cxx:179 TEveTrackPropagator.cxx:180 TEveTrackPropagator.cxx:181 TEveTrackPropagator.cxx:182 TEveTrackPropagator.cxx:183 TEveTrackPropagator.cxx:184 TEveTrackPropagator.cxx:185 TEveTrackPropagator.cxx:186 TEveTrackPropagator.cxx:187 TEveTrackPropagator.cxx:188 TEveTrackPropagator.cxx:189 TEveTrackPropagator.cxx:190 TEveTrackPropagator.cxx:191 TEveTrackPropagator.cxx:192 TEveTrackPropagator.cxx:193 TEveTrackPropagator.cxx:194 TEveTrackPropagator.cxx:195 TEveTrackPropagator.cxx:196 TEveTrackPropagator.cxx:197 TEveTrackPropagator.cxx:198 TEveTrackPropagator.cxx:199 TEveTrackPropagator.cxx:200 TEveTrackPropagator.cxx:201 TEveTrackPropagator.cxx:202 TEveTrackPropagator.cxx:203 TEveTrackPropagator.cxx:204 TEveTrackPropagator.cxx:205 TEveTrackPropagator.cxx:206 TEveTrackPropagator.cxx:207 TEveTrackPropagator.cxx:208 TEveTrackPropagator.cxx:209 TEveTrackPropagator.cxx:210 TEveTrackPropagator.cxx:211 TEveTrackPropagator.cxx:212 TEveTrackPropagator.cxx:213 TEveTrackPropagator.cxx:214 TEveTrackPropagator.cxx:215 TEveTrackPropagator.cxx:216 TEveTrackPropagator.cxx:217 TEveTrackPropagator.cxx:218 TEveTrackPropagator.cxx:219 TEveTrackPropagator.cxx:220 TEveTrackPropagator.cxx:221 TEveTrackPropagator.cxx:222 TEveTrackPropagator.cxx:223 TEveTrackPropagator.cxx:224 TEveTrackPropagator.cxx:225 TEveTrackPropagator.cxx:226 TEveTrackPropagator.cxx:227 TEveTrackPropagator.cxx:228 TEveTrackPropagator.cxx:229 TEveTrackPropagator.cxx:230 TEveTrackPropagator.cxx:231 TEveTrackPropagator.cxx:232 TEveTrackPropagator.cxx:233 TEveTrackPropagator.cxx:234 TEveTrackPropagator.cxx:235 TEveTrackPropagator.cxx:236 TEveTrackPropagator.cxx:237 TEveTrackPropagator.cxx:238 TEveTrackPropagator.cxx:239 TEveTrackPropagator.cxx:240 TEveTrackPropagator.cxx:241 TEveTrackPropagator.cxx:242 TEveTrackPropagator.cxx:243 TEveTrackPropagator.cxx:244 TEveTrackPropagator.cxx:245 TEveTrackPropagator.cxx:246 TEveTrackPropagator.cxx:247 TEveTrackPropagator.cxx:248 TEveTrackPropagator.cxx:249 TEveTrackPropagator.cxx:250 TEveTrackPropagator.cxx:251 TEveTrackPropagator.cxx:252 TEveTrackPropagator.cxx:253 TEveTrackPropagator.cxx:254 TEveTrackPropagator.cxx:255 TEveTrackPropagator.cxx:256 TEveTrackPropagator.cxx:257 TEveTrackPropagator.cxx:258 TEveTrackPropagator.cxx:259 TEveTrackPropagator.cxx:260 TEveTrackPropagator.cxx:261 TEveTrackPropagator.cxx:262 TEveTrackPropagator.cxx:263 TEveTrackPropagator.cxx:264 TEveTrackPropagator.cxx:265 TEveTrackPropagator.cxx:266 TEveTrackPropagator.cxx:267 TEveTrackPropagator.cxx:268 TEveTrackPropagator.cxx:269 TEveTrackPropagator.cxx:270 TEveTrackPropagator.cxx:271 TEveTrackPropagator.cxx:272 TEveTrackPropagator.cxx:273 TEveTrackPropagator.cxx:274 TEveTrackPropagator.cxx:275 TEveTrackPropagator.cxx:276 TEveTrackPropagator.cxx:277 TEveTrackPropagator.cxx:278 TEveTrackPropagator.cxx:279 TEveTrackPropagator.cxx:280 TEveTrackPropagator.cxx:281 TEveTrackPropagator.cxx:282 TEveTrackPropagator.cxx:283 TEveTrackPropagator.cxx:284 TEveTrackPropagator.cxx:285 TEveTrackPropagator.cxx:286 TEveTrackPropagator.cxx:287 TEveTrackPropagator.cxx:288 TEveTrackPropagator.cxx:289 TEveTrackPropagator.cxx:290 TEveTrackPropagator.cxx:291 TEveTrackPropagator.cxx:292 TEveTrackPropagator.cxx:293 TEveTrackPropagator.cxx:294 TEveTrackPropagator.cxx:295 TEveTrackPropagator.cxx:296 TEveTrackPropagator.cxx:297 TEveTrackPropagator.cxx:298 TEveTrackPropagator.cxx:299 TEveTrackPropagator.cxx:300 TEveTrackPropagator.cxx:301 TEveTrackPropagator.cxx:302 TEveTrackPropagator.cxx:303 TEveTrackPropagator.cxx:304 TEveTrackPropagator.cxx:305 TEveTrackPropagator.cxx:306 TEveTrackPropagator.cxx:307 TEveTrackPropagator.cxx:308 TEveTrackPropagator.cxx:309 TEveTrackPropagator.cxx:310 TEveTrackPropagator.cxx:311 TEveTrackPropagator.cxx:312 TEveTrackPropagator.cxx:313 TEveTrackPropagator.cxx:314 TEveTrackPropagator.cxx:315 TEveTrackPropagator.cxx:316 TEveTrackPropagator.cxx:317 TEveTrackPropagator.cxx:318 TEveTrackPropagator.cxx:319 TEveTrackPropagator.cxx:320 TEveTrackPropagator.cxx:321 TEveTrackPropagator.cxx:322 TEveTrackPropagator.cxx:323 TEveTrackPropagator.cxx:324 TEveTrackPropagator.cxx:325 TEveTrackPropagator.cxx:326 TEveTrackPropagator.cxx:327 TEveTrackPropagator.cxx:328 TEveTrackPropagator.cxx:329 TEveTrackPropagator.cxx:330 TEveTrackPropagator.cxx:331 TEveTrackPropagator.cxx:332 TEveTrackPropagator.cxx:333 TEveTrackPropagator.cxx:334 TEveTrackPropagator.cxx:335 TEveTrackPropagator.cxx:336 TEveTrackPropagator.cxx:337 TEveTrackPropagator.cxx:338 TEveTrackPropagator.cxx:339 TEveTrackPropagator.cxx:340 TEveTrackPropagator.cxx:341 TEveTrackPropagator.cxx:342 TEveTrackPropagator.cxx:343 TEveTrackPropagator.cxx:344 TEveTrackPropagator.cxx:345 TEveTrackPropagator.cxx:346 TEveTrackPropagator.cxx:347 TEveTrackPropagator.cxx:348 TEveTrackPropagator.cxx:349 TEveTrackPropagator.cxx:350 TEveTrackPropagator.cxx:351 TEveTrackPropagator.cxx:352 TEveTrackPropagator.cxx:353 TEveTrackPropagator.cxx:354 TEveTrackPropagator.cxx:355 TEveTrackPropagator.cxx:356 TEveTrackPropagator.cxx:357 TEveTrackPropagator.cxx:358 TEveTrackPropagator.cxx:359 TEveTrackPropagator.cxx:360 TEveTrackPropagator.cxx:361 TEveTrackPropagator.cxx:362 TEveTrackPropagator.cxx:363 TEveTrackPropagator.cxx:364 TEveTrackPropagator.cxx:365 TEveTrackPropagator.cxx:366 TEveTrackPropagator.cxx:367 TEveTrackPropagator.cxx:368 TEveTrackPropagator.cxx:369 TEveTrackPropagator.cxx:370 TEveTrackPropagator.cxx:371 TEveTrackPropagator.cxx:372 TEveTrackPropagator.cxx:373 TEveTrackPropagator.cxx:374 TEveTrackPropagator.cxx:375 TEveTrackPropagator.cxx:376 TEveTrackPropagator.cxx:377 TEveTrackPropagator.cxx:378 TEveTrackPropagator.cxx:379 TEveTrackPropagator.cxx:380 TEveTrackPropagator.cxx:381 TEveTrackPropagator.cxx:382 TEveTrackPropagator.cxx:383 TEveTrackPropagator.cxx:384 TEveTrackPropagator.cxx:385 TEveTrackPropagator.cxx:386 TEveTrackPropagator.cxx:387 TEveTrackPropagator.cxx:388 TEveTrackPropagator.cxx:389 TEveTrackPropagator.cxx:390 TEveTrackPropagator.cxx:391 TEveTrackPropagator.cxx:392 TEveTrackPropagator.cxx:393 TEveTrackPropagator.cxx:394 TEveTrackPropagator.cxx:395 TEveTrackPropagator.cxx:396 TEveTrackPropagator.cxx:397 TEveTrackPropagator.cxx:398 TEveTrackPropagator.cxx:399 TEveTrackPropagator.cxx:400 TEveTrackPropagator.cxx:401 TEveTrackPropagator.cxx:402 TEveTrackPropagator.cxx:403 TEveTrackPropagator.cxx:404 TEveTrackPropagator.cxx:405 TEveTrackPropagator.cxx:406 TEveTrackPropagator.cxx:407 TEveTrackPropagator.cxx:408 TEveTrackPropagator.cxx:409 TEveTrackPropagator.cxx:410 TEveTrackPropagator.cxx:411 TEveTrackPropagator.cxx:412 TEveTrackPropagator.cxx:413 TEveTrackPropagator.cxx:414 TEveTrackPropagator.cxx:415 TEveTrackPropagator.cxx:416 TEveTrackPropagator.cxx:417 TEveTrackPropagator.cxx:418 TEveTrackPropagator.cxx:419 TEveTrackPropagator.cxx:420 TEveTrackPropagator.cxx:421 TEveTrackPropagator.cxx:422 TEveTrackPropagator.cxx:423 TEveTrackPropagator.cxx:424 TEveTrackPropagator.cxx:425 TEveTrackPropagator.cxx:426 TEveTrackPropagator.cxx:427 TEveTrackPropagator.cxx:428 TEveTrackPropagator.cxx:429 TEveTrackPropagator.cxx:430 TEveTrackPropagator.cxx:431 TEveTrackPropagator.cxx:432 TEveTrackPropagator.cxx:433 TEveTrackPropagator.cxx:434 TEveTrackPropagator.cxx:435 TEveTrackPropagator.cxx:436 TEveTrackPropagator.cxx:437 TEveTrackPropagator.cxx:438 TEveTrackPropagator.cxx:439 TEveTrackPropagator.cxx:440 TEveTrackPropagator.cxx:441 TEveTrackPropagator.cxx:442 TEveTrackPropagator.cxx:443 TEveTrackPropagator.cxx:444 TEveTrackPropagator.cxx:445 TEveTrackPropagator.cxx:446 TEveTrackPropagator.cxx:447 TEveTrackPropagator.cxx:448 TEveTrackPropagator.cxx:449 TEveTrackPropagator.cxx:450 TEveTrackPropagator.cxx:451 TEveTrackPropagator.cxx:452 TEveTrackPropagator.cxx:453 TEveTrackPropagator.cxx:454 TEveTrackPropagator.cxx:455 TEveTrackPropagator.cxx:456 TEveTrackPropagator.cxx:457 TEveTrackPropagator.cxx:458 TEveTrackPropagator.cxx:459 TEveTrackPropagator.cxx:460 TEveTrackPropagator.cxx:461 TEveTrackPropagator.cxx:462 TEveTrackPropagator.cxx:463 TEveTrackPropagator.cxx:464 TEveTrackPropagator.cxx:465 TEveTrackPropagator.cxx:466 TEveTrackPropagator.cxx:467 TEveTrackPropagator.cxx:468 TEveTrackPropagator.cxx:469 TEveTrackPropagator.cxx:470 TEveTrackPropagator.cxx:471 TEveTrackPropagator.cxx:472 TEveTrackPropagator.cxx:473 TEveTrackPropagator.cxx:474 TEveTrackPropagator.cxx:475 TEveTrackPropagator.cxx:476 TEveTrackPropagator.cxx:477 TEveTrackPropagator.cxx:478 TEveTrackPropagator.cxx:479 TEveTrackPropagator.cxx:480 TEveTrackPropagator.cxx:481 TEveTrackPropagator.cxx:482 TEveTrackPropagator.cxx:483 TEveTrackPropagator.cxx:484 TEveTrackPropagator.cxx:485 TEveTrackPropagator.cxx:486 TEveTrackPropagator.cxx:487 TEveTrackPropagator.cxx:488 TEveTrackPropagator.cxx:489 TEveTrackPropagator.cxx:490 TEveTrackPropagator.cxx:491 TEveTrackPropagator.cxx:492 TEveTrackPropagator.cxx:493 TEveTrackPropagator.cxx:494 TEveTrackPropagator.cxx:495 TEveTrackPropagator.cxx:496 TEveTrackPropagator.cxx:497 TEveTrackPropagator.cxx:498 TEveTrackPropagator.cxx:499 TEveTrackPropagator.cxx:500 TEveTrackPropagator.cxx:501 TEveTrackPropagator.cxx:502 TEveTrackPropagator.cxx:503 TEveTrackPropagator.cxx:504 TEveTrackPropagator.cxx:505 TEveTrackPropagator.cxx:506 TEveTrackPropagator.cxx:507 TEveTrackPropagator.cxx:508 TEveTrackPropagator.cxx:509 TEveTrackPropagator.cxx:510 TEveTrackPropagator.cxx:511 TEveTrackPropagator.cxx:512 TEveTrackPropagator.cxx:513 TEveTrackPropagator.cxx:514 TEveTrackPropagator.cxx:515 TEveTrackPropagator.cxx:516 TEveTrackPropagator.cxx:517 TEveTrackPropagator.cxx:518 TEveTrackPropagator.cxx:519 TEveTrackPropagator.cxx:520 TEveTrackPropagator.cxx:521 TEveTrackPropagator.cxx:522 TEveTrackPropagator.cxx:523 TEveTrackPropagator.cxx:524 TEveTrackPropagator.cxx:525 TEveTrackPropagator.cxx:526 TEveTrackPropagator.cxx:527 TEveTrackPropagator.cxx:528 TEveTrackPropagator.cxx:529 TEveTrackPropagator.cxx:530 TEveTrackPropagator.cxx:531 TEveTrackPropagator.cxx:532 TEveTrackPropagator.cxx:533 TEveTrackPropagator.cxx:534 TEveTrackPropagator.cxx:535 TEveTrackPropagator.cxx:536 TEveTrackPropagator.cxx:537 TEveTrackPropagator.cxx:538 TEveTrackPropagator.cxx:539 TEveTrackPropagator.cxx:540 TEveTrackPropagator.cxx:541 TEveTrackPropagator.cxx:542 TEveTrackPropagator.cxx:543 TEveTrackPropagator.cxx:544 TEveTrackPropagator.cxx:545 TEveTrackPropagator.cxx:546 TEveTrackPropagator.cxx:547 TEveTrackPropagator.cxx:548 TEveTrackPropagator.cxx:549 TEveTrackPropagator.cxx:550 TEveTrackPropagator.cxx:551 TEveTrackPropagator.cxx:552 TEveTrackPropagator.cxx:553 TEveTrackPropagator.cxx:554 TEveTrackPropagator.cxx:555 TEveTrackPropagator.cxx:556 TEveTrackPropagator.cxx:557 TEveTrackPropagator.cxx:558 TEveTrackPropagator.cxx:559 TEveTrackPropagator.cxx:560 TEveTrackPropagator.cxx:561 TEveTrackPropagator.cxx:562 TEveTrackPropagator.cxx:563 TEveTrackPropagator.cxx:564 TEveTrackPropagator.cxx:565 TEveTrackPropagator.cxx:566 TEveTrackPropagator.cxx:567 TEveTrackPropagator.cxx:568 TEveTrackPropagator.cxx:569 TEveTrackPropagator.cxx:570 TEveTrackPropagator.cxx:571 TEveTrackPropagator.cxx:572 TEveTrackPropagator.cxx:573 TEveTrackPropagator.cxx:574 TEveTrackPropagator.cxx:575 TEveTrackPropagator.cxx:576 TEveTrackPropagator.cxx:577 TEveTrackPropagator.cxx:578 TEveTrackPropagator.cxx:579 TEveTrackPropagator.cxx:580 TEveTrackPropagator.cxx:581 TEveTrackPropagator.cxx:582 TEveTrackPropagator.cxx:583 TEveTrackPropagator.cxx:584 TEveTrackPropagator.cxx:585 TEveTrackPropagator.cxx:586 TEveTrackPropagator.cxx:587 TEveTrackPropagator.cxx:588 TEveTrackPropagator.cxx:589 TEveTrackPropagator.cxx:590 TEveTrackPropagator.cxx:591 TEveTrackPropagator.cxx:592 TEveTrackPropagator.cxx:593 TEveTrackPropagator.cxx:594 TEveTrackPropagator.cxx:595 TEveTrackPropagator.cxx:596 TEveTrackPropagator.cxx:597 TEveTrackPropagator.cxx:598 TEveTrackPropagator.cxx:599 TEveTrackPropagator.cxx:600 TEveTrackPropagator.cxx:601 TEveTrackPropagator.cxx:602 TEveTrackPropagator.cxx:603 TEveTrackPropagator.cxx:604 TEveTrackPropagator.cxx:605 TEveTrackPropagator.cxx:606 TEveTrackPropagator.cxx:607 TEveTrackPropagator.cxx:608 TEveTrackPropagator.cxx:609 TEveTrackPropagator.cxx:610 TEveTrackPropagator.cxx:611 TEveTrackPropagator.cxx:612 TEveTrackPropagator.cxx:613 TEveTrackPropagator.cxx:614 TEveTrackPropagator.cxx:615 TEveTrackPropagator.cxx:616 TEveTrackPropagator.cxx:617 TEveTrackPropagator.cxx:618 TEveTrackPropagator.cxx:619 TEveTrackPropagator.cxx:620 TEveTrackPropagator.cxx:621 TEveTrackPropagator.cxx:622 TEveTrackPropagator.cxx:623 TEveTrackPropagator.cxx:624 TEveTrackPropagator.cxx:625 TEveTrackPropagator.cxx:626 TEveTrackPropagator.cxx:627 TEveTrackPropagator.cxx:628 TEveTrackPropagator.cxx:629 TEveTrackPropagator.cxx:630 TEveTrackPropagator.cxx:631 TEveTrackPropagator.cxx:632 TEveTrackPropagator.cxx:633 TEveTrackPropagator.cxx:634 TEveTrackPropagator.cxx:635 TEveTrackPropagator.cxx:636 TEveTrackPropagator.cxx:637 TEveTrackPropagator.cxx:638 TEveTrackPropagator.cxx:639 TEveTrackPropagator.cxx:640 TEveTrackPropagator.cxx:641 TEveTrackPropagator.cxx:642 TEveTrackPropagator.cxx:643 TEveTrackPropagator.cxx:644 TEveTrackPropagator.cxx:645 TEveTrackPropagator.cxx:646 TEveTrackPropagator.cxx:647 TEveTrackPropagator.cxx:648 TEveTrackPropagator.cxx:649 TEveTrackPropagator.cxx:650 TEveTrackPropagator.cxx:651 TEveTrackPropagator.cxx:652 TEveTrackPropagator.cxx:653 TEveTrackPropagator.cxx:654 TEveTrackPropagator.cxx:655 TEveTrackPropagator.cxx:656 TEveTrackPropagator.cxx:657 TEveTrackPropagator.cxx:658 TEveTrackPropagator.cxx:659 TEveTrackPropagator.cxx:660 TEveTrackPropagator.cxx:661 TEveTrackPropagator.cxx:662 TEveTrackPropagator.cxx:663 TEveTrackPropagator.cxx:664 TEveTrackPropagator.cxx:665 TEveTrackPropagator.cxx:666 TEveTrackPropagator.cxx:667 TEveTrackPropagator.cxx:668 TEveTrackPropagator.cxx:669 TEveTrackPropagator.cxx:670 TEveTrackPropagator.cxx:671 TEveTrackPropagator.cxx:672 TEveTrackPropagator.cxx:673 TEveTrackPropagator.cxx:674 TEveTrackPropagator.cxx:675 TEveTrackPropagator.cxx:676 TEveTrackPropagator.cxx:677 TEveTrackPropagator.cxx:678 TEveTrackPropagator.cxx:679 TEveTrackPropagator.cxx:680 TEveTrackPropagator.cxx:681 TEveTrackPropagator.cxx:682 TEveTrackPropagator.cxx:683 TEveTrackPropagator.cxx:684 TEveTrackPropagator.cxx:685 TEveTrackPropagator.cxx:686 TEveTrackPropagator.cxx:687 TEveTrackPropagator.cxx:688 TEveTrackPropagator.cxx:689 TEveTrackPropagator.cxx:690 TEveTrackPropagator.cxx:691 TEveTrackPropagator.cxx:692 TEveTrackPropagator.cxx:693 TEveTrackPropagator.cxx:694 TEveTrackPropagator.cxx:695 TEveTrackPropagator.cxx:696 TEveTrackPropagator.cxx:697 TEveTrackPropagator.cxx:698 TEveTrackPropagator.cxx:699 TEveTrackPropagator.cxx:700 TEveTrackPropagator.cxx:701 TEveTrackPropagator.cxx:702 TEveTrackPropagator.cxx:703 TEveTrackPropagator.cxx:704 TEveTrackPropagator.cxx:705 TEveTrackPropagator.cxx:706 TEveTrackPropagator.cxx:707 TEveTrackPropagator.cxx:708 TEveTrackPropagator.cxx:709 TEveTrackPropagator.cxx:710 TEveTrackPropagator.cxx:711 TEveTrackPropagator.cxx:712 TEveTrackPropagator.cxx:713 TEveTrackPropagator.cxx:714 TEveTrackPropagator.cxx:715 TEveTrackPropagator.cxx:716 TEveTrackPropagator.cxx:717 TEveTrackPropagator.cxx:718 TEveTrackPropagator.cxx:719 TEveTrackPropagator.cxx:720 TEveTrackPropagator.cxx:721 TEveTrackPropagator.cxx:722 TEveTrackPropagator.cxx:723 TEveTrackPropagator.cxx:724 TEveTrackPropagator.cxx:725 TEveTrackPropagator.cxx:726 TEveTrackPropagator.cxx:727 TEveTrackPropagator.cxx:728 TEveTrackPropagator.cxx:729 TEveTrackPropagator.cxx:730 TEveTrackPropagator.cxx:731 TEveTrackPropagator.cxx:732 TEveTrackPropagator.cxx:733 TEveTrackPropagator.cxx:734 TEveTrackPropagator.cxx:735 TEveTrackPropagator.cxx:736 TEveTrackPropagator.cxx:737 TEveTrackPropagator.cxx:738 TEveTrackPropagator.cxx:739 TEveTrackPropagator.cxx:740 TEveTrackPropagator.cxx:741 TEveTrackPropagator.cxx:742 TEveTrackPropagator.cxx:743 TEveTrackPropagator.cxx:744 TEveTrackPropagator.cxx:745 TEveTrackPropagator.cxx:746 TEveTrackPropagator.cxx:747 TEveTrackPropagator.cxx:748 TEveTrackPropagator.cxx:749 TEveTrackPropagator.cxx:750 TEveTrackPropagator.cxx:751 TEveTrackPropagator.cxx:752 TEveTrackPropagator.cxx:753 TEveTrackPropagator.cxx:754 TEveTrackPropagator.cxx:755 TEveTrackPropagator.cxx:756 TEveTrackPropagator.cxx:757 TEveTrackPropagator.cxx:758 TEveTrackPropagator.cxx:759 TEveTrackPropagator.cxx:760 TEveTrackPropagator.cxx:761 TEveTrackPropagator.cxx:762 TEveTrackPropagator.cxx:763 TEveTrackPropagator.cxx:764 TEveTrackPropagator.cxx:765 TEveTrackPropagator.cxx:766 TEveTrackPropagator.cxx:767 TEveTrackPropagator.cxx:768 TEveTrackPropagator.cxx:769 TEveTrackPropagator.cxx:770 TEveTrackPropagator.cxx:771 TEveTrackPropagator.cxx:772 TEveTrackPropagator.cxx:773 TEveTrackPropagator.cxx:774 TEveTrackPropagator.cxx:775 TEveTrackPropagator.cxx:776 TEveTrackPropagator.cxx:777 TEveTrackPropagator.cxx:778 TEveTrackPropagator.cxx:779 TEveTrackPropagator.cxx:780 TEveTrackPropagator.cxx:781 TEveTrackPropagator.cxx:782 TEveTrackPropagator.cxx:783 TEveTrackPropagator.cxx:784 TEveTrackPropagator.cxx:785 TEveTrackPropagator.cxx:786 TEveTrackPropagator.cxx:787 TEveTrackPropagator.cxx:788 TEveTrackPropagator.cxx:789 TEveTrackPropagator.cxx:790 TEveTrackPropagator.cxx:791 TEveTrackPropagator.cxx:792 TEveTrackPropagator.cxx:793 TEveTrackPropagator.cxx:794 TEveTrackPropagator.cxx:795 TEveTrackPropagator.cxx:796 TEveTrackPropagator.cxx:797 TEveTrackPropagator.cxx:798 TEveTrackPropagator.cxx:799 TEveTrackPropagator.cxx:800 TEveTrackPropagator.cxx:801 TEveTrackPropagator.cxx:802 TEveTrackPropagator.cxx:803 TEveTrackPropagator.cxx:804 TEveTrackPropagator.cxx:805 TEveTrackPropagator.cxx:806 TEveTrackPropagator.cxx:807 TEveTrackPropagator.cxx:808 TEveTrackPropagator.cxx:809 TEveTrackPropagator.cxx:810 TEveTrackPropagator.cxx:811 TEveTrackPropagator.cxx:812 TEveTrackPropagator.cxx:813 TEveTrackPropagator.cxx:814 TEveTrackPropagator.cxx:815 TEveTrackPropagator.cxx:816 TEveTrackPropagator.cxx:817 TEveTrackPropagator.cxx:818 TEveTrackPropagator.cxx:819 TEveTrackPropagator.cxx:820 TEveTrackPropagator.cxx:821 TEveTrackPropagator.cxx:822 TEveTrackPropagator.cxx:823 TEveTrackPropagator.cxx:824 TEveTrackPropagator.cxx:825 TEveTrackPropagator.cxx:826 TEveTrackPropagator.cxx:827 TEveTrackPropagator.cxx:828 TEveTrackPropagator.cxx:829 TEveTrackPropagator.cxx:830 TEveTrackPropagator.cxx:831 TEveTrackPropagator.cxx:832 TEveTrackPropagator.cxx:833 TEveTrackPropagator.cxx:834 TEveTrackPropagator.cxx:835 TEveTrackPropagator.cxx:836 TEveTrackPropagator.cxx:837 TEveTrackPropagator.cxx:838 TEveTrackPropagator.cxx:839 TEveTrackPropagator.cxx:840 TEveTrackPropagator.cxx:841 TEveTrackPropagator.cxx:842 TEveTrackPropagator.cxx:843 TEveTrackPropagator.cxx:844 TEveTrackPropagator.cxx:845 TEveTrackPropagator.cxx:846 TEveTrackPropagator.cxx:847 TEveTrackPropagator.cxx:848 TEveTrackPropagator.cxx:849 TEveTrackPropagator.cxx:850 TEveTrackPropagator.cxx:851 TEveTrackPropagator.cxx:852 TEveTrackPropagator.cxx:853 TEveTrackPropagator.cxx:854 TEveTrackPropagator.cxx:855 TEveTrackPropagator.cxx:856 TEveTrackPropagator.cxx:857 TEveTrackPropagator.cxx:858 TEveTrackPropagator.cxx:859 TEveTrackPropagator.cxx:860 TEveTrackPropagator.cxx:861 TEveTrackPropagator.cxx:862 TEveTrackPropagator.cxx:863 TEveTrackPropagator.cxx:864 TEveTrackPropagator.cxx:865 TEveTrackPropagator.cxx:866 TEveTrackPropagator.cxx:867 TEveTrackPropagator.cxx:868 TEveTrackPropagator.cxx:869 TEveTrackPropagator.cxx:870 TEveTrackPropagator.cxx:871 TEveTrackPropagator.cxx:872 TEveTrackPropagator.cxx:873 TEveTrackPropagator.cxx:874 TEveTrackPropagator.cxx:875 TEveTrackPropagator.cxx:876 TEveTrackPropagator.cxx:877 TEveTrackPropagator.cxx:878 TEveTrackPropagator.cxx:879 TEveTrackPropagator.cxx:880 TEveTrackPropagator.cxx:881 TEveTrackPropagator.cxx:882 TEveTrackPropagator.cxx:883 TEveTrackPropagator.cxx:884 TEveTrackPropagator.cxx:885 TEveTrackPropagator.cxx:886 TEveTrackPropagator.cxx:887 TEveTrackPropagator.cxx:888 TEveTrackPropagator.cxx:889 TEveTrackPropagator.cxx:890 TEveTrackPropagator.cxx:891 TEveTrackPropagator.cxx:892 TEveTrackPropagator.cxx:893 TEveTrackPropagator.cxx:894 TEveTrackPropagator.cxx:895 TEveTrackPropagator.cxx:896 TEveTrackPropagator.cxx:897 TEveTrackPropagator.cxx:898 TEveTrackPropagator.cxx:899 TEveTrackPropagator.cxx:900 TEveTrackPropagator.cxx:901 TEveTrackPropagator.cxx:902 TEveTrackPropagator.cxx:903 TEveTrackPropagator.cxx:904 TEveTrackPropagator.cxx:905 TEveTrackPropagator.cxx:906 TEveTrackPropagator.cxx:907 TEveTrackPropagator.cxx:908 TEveTrackPropagator.cxx:909 TEveTrackPropagator.cxx:910 TEveTrackPropagator.cxx:911 TEveTrackPropagator.cxx:912 TEveTrackPropagator.cxx:913 TEveTrackPropagator.cxx:914 TEveTrackPropagator.cxx:915 TEveTrackPropagator.cxx:916 TEveTrackPropagator.cxx:917 TEveTrackPropagator.cxx:918 TEveTrackPropagator.cxx:919 TEveTrackPropagator.cxx:920 TEveTrackPropagator.cxx:921 TEveTrackPropagator.cxx:922 TEveTrackPropagator.cxx:923 TEveTrackPropagator.cxx:924 TEveTrackPropagator.cxx:925 TEveTrackPropagator.cxx:926 TEveTrackPropagator.cxx:927 TEveTrackPropagator.cxx:928 TEveTrackPropagator.cxx:929 TEveTrackPropagator.cxx:930 TEveTrackPropagator.cxx:931 TEveTrackPropagator.cxx:932 TEveTrackPropagator.cxx:933 TEveTrackPropagator.cxx:934 TEveTrackPropagator.cxx:935 TEveTrackPropagator.cxx:936 TEveTrackPropagator.cxx:937 TEveTrackPropagator.cxx:938 TEveTrackPropagator.cxx:939 TEveTrackPropagator.cxx:940 TEveTrackPropagator.cxx:941 TEveTrackPropagator.cxx:942 TEveTrackPropagator.cxx:943 TEveTrackPropagator.cxx:944 TEveTrackPropagator.cxx:945 TEveTrackPropagator.cxx:946 TEveTrackPropagator.cxx:947 TEveTrackPropagator.cxx:948 TEveTrackPropagator.cxx:949 TEveTrackPropagator.cxx:950 TEveTrackPropagator.cxx:951 TEveTrackPropagator.cxx:952 TEveTrackPropagator.cxx:953 TEveTrackPropagator.cxx:954 TEveTrackPropagator.cxx:955 TEveTrackPropagator.cxx:956 TEveTrackPropagator.cxx:957 TEveTrackPropagator.cxx:958 TEveTrackPropagator.cxx:959 TEveTrackPropagator.cxx:960 TEveTrackPropagator.cxx:961 TEveTrackPropagator.cxx:962 TEveTrackPropagator.cxx:963 TEveTrackPropagator.cxx:964 TEveTrackPropagator.cxx:965 TEveTrackPropagator.cxx:966 TEveTrackPropagator.cxx:967 TEveTrackPropagator.cxx:968 TEveTrackPropagator.cxx:969 TEveTrackPropagator.cxx:970 TEveTrackPropagator.cxx:971 TEveTrackPropagator.cxx:972 TEveTrackPropagator.cxx:973 TEveTrackPropagator.cxx:974 TEveTrackPropagator.cxx:975 TEveTrackPropagator.cxx:976 TEveTrackPropagator.cxx:977 TEveTrackPropagator.cxx:978 TEveTrackPropagator.cxx:979 TEveTrackPropagator.cxx:980 TEveTrackPropagator.cxx:981 TEveTrackPropagator.cxx:982 TEveTrackPropagator.cxx:983 TEveTrackPropagator.cxx:984 TEveTrackPropagator.cxx:985 TEveTrackPropagator.cxx:986 TEveTrackPropagator.cxx:987 TEveTrackPropagator.cxx:988 TEveTrackPropagator.cxx:989 TEveTrackPropagator.cxx:990 TEveTrackPropagator.cxx:991 TEveTrackPropagator.cxx:992 TEveTrackPropagator.cxx:993 TEveTrackPropagator.cxx:994 TEveTrackPropagator.cxx:995 TEveTrackPropagator.cxx:996 TEveTrackPropagator.cxx:997 TEveTrackPropagator.cxx:998 TEveTrackPropagator.cxx:999 TEveTrackPropagator.cxx:1000 TEveTrackPropagator.cxx:1001 TEveTrackPropagator.cxx:1002 TEveTrackPropagator.cxx:1003 TEveTrackPropagator.cxx:1004 TEveTrackPropagator.cxx:1005 TEveTrackPropagator.cxx:1006 TEveTrackPropagator.cxx:1007 TEveTrackPropagator.cxx:1008 TEveTrackPropagator.cxx:1009 TEveTrackPropagator.cxx:1010 TEveTrackPropagator.cxx:1011 TEveTrackPropagator.cxx:1012 TEveTrackPropagator.cxx:1013 TEveTrackPropagator.cxx:1014 TEveTrackPropagator.cxx:1015 TEveTrackPropagator.cxx:1016 TEveTrackPropagator.cxx:1017 TEveTrackPropagator.cxx:1018 TEveTrackPropagator.cxx:1019 TEveTrackPropagator.cxx:1020 TEveTrackPropagator.cxx:1021 TEveTrackPropagator.cxx:1022 TEveTrackPropagator.cxx:1023 TEveTrackPropagator.cxx:1024 TEveTrackPropagator.cxx:1025 TEveTrackPropagator.cxx:1026 TEveTrackPropagator.cxx:1027 TEveTrackPropagator.cxx:1028 TEveTrackPropagator.cxx:1029 TEveTrackPropagator.cxx:1030 TEveTrackPropagator.cxx:1031 TEveTrackPropagator.cxx:1032 TEveTrackPropagator.cxx:1033 TEveTrackPropagator.cxx:1034 TEveTrackPropagator.cxx:1035 TEveTrackPropagator.cxx:1036 TEveTrackPropagator.cxx:1037 TEveTrackPropagator.cxx:1038 TEveTrackPropagator.cxx:1039 TEveTrackPropagator.cxx:1040 TEveTrackPropagator.cxx:1041 TEveTrackPropagator.cxx:1042 TEveTrackPropagator.cxx:1043 TEveTrackPropagator.cxx:1044 TEveTrackPropagator.cxx:1045 TEveTrackPropagator.cxx:1046 TEveTrackPropagator.cxx:1047 TEveTrackPropagator.cxx:1048 TEveTrackPropagator.cxx:1049 TEveTrackPropagator.cxx:1050 TEveTrackPropagator.cxx:1051 TEveTrackPropagator.cxx:1052 TEveTrackPropagator.cxx:1053 TEveTrackPropagator.cxx:1054 TEveTrackPropagator.cxx:1055 TEveTrackPropagator.cxx:1056 TEveTrackPropagator.cxx:1057 TEveTrackPropagator.cxx:1058 TEveTrackPropagator.cxx:1059 TEveTrackPropagator.cxx:1060 TEveTrackPropagator.cxx:1061 TEveTrackPropagator.cxx:1062 TEveTrackPropagator.cxx:1063 TEveTrackPropagator.cxx:1064 TEveTrackPropagator.cxx:1065 TEveTrackPropagator.cxx:1066 TEveTrackPropagator.cxx:1067 TEveTrackPropagator.cxx:1068 TEveTrackPropagator.cxx:1069 TEveTrackPropagator.cxx:1070 TEveTrackPropagator.cxx:1071 TEveTrackPropagator.cxx:1072 TEveTrackPropagator.cxx:1073 TEveTrackPropagator.cxx:1074 TEveTrackPropagator.cxx:1075 TEveTrackPropagator.cxx:1076 TEveTrackPropagator.cxx:1077 TEveTrackPropagator.cxx:1078 TEveTrackPropagator.cxx:1079 TEveTrackPropagator.cxx:1080 TEveTrackPropagator.cxx:1081 TEveTrackPropagator.cxx:1082 TEveTrackPropagator.cxx:1083 TEveTrackPropagator.cxx:1084 TEveTrackPropagator.cxx:1085 TEveTrackPropagator.cxx:1086 TEveTrackPropagator.cxx:1087 TEveTrackPropagator.cxx:1088 TEveTrackPropagator.cxx:1089 TEveTrackPropagator.cxx:1090 TEveTrackPropagator.cxx:1091 TEveTrackPropagator.cxx:1092 TEveTrackPropagator.cxx:1093 TEveTrackPropagator.cxx:1094 TEveTrackPropagator.cxx:1095 TEveTrackPropagator.cxx:1096 TEveTrackPropagator.cxx:1097 TEveTrackPropagator.cxx:1098 TEveTrackPropagator.cxx:1099 TEveTrackPropagator.cxx:1100 TEveTrackPropagator.cxx:1101 TEveTrackPropagator.cxx:1102 TEveTrackPropagator.cxx:1103 TEveTrackPropagator.cxx:1104 TEveTrackPropagator.cxx:1105 TEveTrackPropagator.cxx:1106 TEveTrackPropagator.cxx:1107 TEveTrackPropagator.cxx:1108 TEveTrackPropagator.cxx:1109 TEveTrackPropagator.cxx:1110 TEveTrackPropagator.cxx:1111 TEveTrackPropagator.cxx:1112 TEveTrackPropagator.cxx:1113 TEveTrackPropagator.cxx:1114 TEveTrackPropagator.cxx:1115 TEveTrackPropagator.cxx:1116 TEveTrackPropagator.cxx:1117 TEveTrackPropagator.cxx:1118 TEveTrackPropagator.cxx:1119 TEveTrackPropagator.cxx:1120 TEveTrackPropagator.cxx:1121 TEveTrackPropagator.cxx:1122 TEveTrackPropagator.cxx:1123 TEveTrackPropagator.cxx:1124 TEveTrackPropagator.cxx:1125 TEveTrackPropagator.cxx:1126 TEveTrackPropagator.cxx:1127 TEveTrackPropagator.cxx:1128 TEveTrackPropagator.cxx:1129 TEveTrackPropagator.cxx:1130 TEveTrackPropagator.cxx:1131 TEveTrackPropagator.cxx:1132 TEveTrackPropagator.cxx:1133 TEveTrackPropagator.cxx:1134 TEveTrackPropagator.cxx:1135 TEveTrackPropagator.cxx:1136 TEveTrackPropagator.cxx:1137 TEveTrackPropagator.cxx:1138 TEveTrackPropagator.cxx:1139 TEveTrackPropagator.cxx:1140 TEveTrackPropagator.cxx:1141 TEveTrackPropagator.cxx:1142 TEveTrackPropagator.cxx:1143 TEveTrackPropagator.cxx:1144 TEveTrackPropagator.cxx:1145 TEveTrackPropagator.cxx:1146 TEveTrackPropagator.cxx:1147 TEveTrackPropagator.cxx:1148 TEveTrackPropagator.cxx:1149 TEveTrackPropagator.cxx:1150 TEveTrackPropagator.cxx:1151 TEveTrackPropagator.cxx:1152 TEveTrackPropagator.cxx:1153 TEveTrackPropagator.cxx:1154 TEveTrackPropagator.cxx:1155 TEveTrackPropagator.cxx:1156 TEveTrackPropagator.cxx:1157 TEveTrackPropagator.cxx:1158 TEveTrackPropagator.cxx:1159 TEveTrackPropagator.cxx:1160 TEveTrackPropagator.cxx:1161 TEveTrackPropagator.cxx:1162 TEveTrackPropagator.cxx:1163 TEveTrackPropagator.cxx:1164 TEveTrackPropagator.cxx:1165 TEveTrackPropagator.cxx:1166 TEveTrackPropagator.cxx:1167 TEveTrackPropagator.cxx:1168 TEveTrackPropagator.cxx:1169 TEveTrackPropagator.cxx:1170 TEveTrackPropagator.cxx:1171 TEveTrackPropagator.cxx:1172 TEveTrackPropagator.cxx:1173 TEveTrackPropagator.cxx:1174 TEveTrackPropagator.cxx:1175 TEveTrackPropagator.cxx:1176 TEveTrackPropagator.cxx:1177 TEveTrackPropagator.cxx:1178 TEveTrackPropagator.cxx:1179 TEveTrackPropagator.cxx:1180 TEveTrackPropagator.cxx:1181 TEveTrackPropagator.cxx:1182 TEveTrackPropagator.cxx:1183 TEveTrackPropagator.cxx:1184 TEveTrackPropagator.cxx:1185 TEveTrackPropagator.cxx:1186 TEveTrackPropagator.cxx:1187 TEveTrackPropagator.cxx:1188 TEveTrackPropagator.cxx:1189 TEveTrackPropagator.cxx:1190 TEveTrackPropagator.cxx:1191 TEveTrackPropagator.cxx:1192 TEveTrackPropagator.cxx:1193 TEveTrackPropagator.cxx:1194 TEveTrackPropagator.cxx:1195 TEveTrackPropagator.cxx:1196 TEveTrackPropagator.cxx:1197 TEveTrackPropagator.cxx:1198 TEveTrackPropagator.cxx:1199 TEveTrackPropagator.cxx:1200 TEveTrackPropagator.cxx:1201 TEveTrackPropagator.cxx:1202 TEveTrackPropagator.cxx:1203 TEveTrackPropagator.cxx:1204 TEveTrackPropagator.cxx:1205 TEveTrackPropagator.cxx:1206 TEveTrackPropagator.cxx:1207 TEveTrackPropagator.cxx:1208 TEveTrackPropagator.cxx:1209 TEveTrackPropagator.cxx:1210 TEveTrackPropagator.cxx:1211 TEveTrackPropagator.cxx:1212 TEveTrackPropagator.cxx:1213 TEveTrackPropagator.cxx:1214 TEveTrackPropagator.cxx:1215 TEveTrackPropagator.cxx:1216 TEveTrackPropagator.cxx:1217 TEveTrackPropagator.cxx:1218 TEveTrackPropagator.cxx:1219 TEveTrackPropagator.cxx:1220 TEveTrackPropagator.cxx:1221 TEveTrackPropagator.cxx:1222 TEveTrackPropagator.cxx:1223 TEveTrackPropagator.cxx:1224 TEveTrackPropagator.cxx:1225 TEveTrackPropagator.cxx:1226 TEveTrackPropagator.cxx:1227 TEveTrackPropagator.cxx:1228 TEveTrackPropagator.cxx:1229 TEveTrackPropagator.cxx:1230 TEveTrackPropagator.cxx:1231 TEveTrackPropagator.cxx:1232 TEveTrackPropagator.cxx:1233 TEveTrackPropagator.cxx:1234 TEveTrackPropagator.cxx:1235 TEveTrackPropagator.cxx:1236 TEveTrackPropagator.cxx:1237 TEveTrackPropagator.cxx:1238 TEveTrackPropagator.cxx:1239 TEveTrackPropagator.cxx:1240 TEveTrackPropagator.cxx:1241 TEveTrackPropagator.cxx:1242 TEveTrackPropagator.cxx:1243 TEveTrackPropagator.cxx:1244 TEveTrackPropagator.cxx:1245 TEveTrackPropagator.cxx:1246 TEveTrackPropagator.cxx:1247 TEveTrackPropagator.cxx:1248 TEveTrackPropagator.cxx:1249 TEveTrackPropagator.cxx:1250 TEveTrackPropagator.cxx:1251 TEveTrackPropagator.cxx:1252 TEveTrackPropagator.cxx:1253 TEveTrackPropagator.cxx:1254 TEveTrackPropagator.cxx:1255 TEveTrackPropagator.cxx:1256 TEveTrackPropagator.cxx:1257 TEveTrackPropagator.cxx:1258 TEveTrackPropagator.cxx:1259 TEveTrackPropagator.cxx:1260 TEveTrackPropagator.cxx:1261 TEveTrackPropagator.cxx:1262 TEveTrackPropagator.cxx:1263 TEveTrackPropagator.cxx:1264 TEveTrackPropagator.cxx:1265 TEveTrackPropagator.cxx:1266 TEveTrackPropagator.cxx:1267 TEveTrackPropagator.cxx:1268 TEveTrackPropagator.cxx:1269 TEveTrackPropagator.cxx:1270 TEveTrackPropagator.cxx:1271 TEveTrackPropagator.cxx:1272 TEveTrackPropagator.cxx:1273 TEveTrackPropagator.cxx:1274 TEveTrackPropagator.cxx:1275 TEveTrackPropagator.cxx:1276 TEveTrackPropagator.cxx:1277 TEveTrackPropagator.cxx:1278 TEveTrackPropagator.cxx:1279 TEveTrackPropagator.cxx:1280 TEveTrackPropagator.cxx:1281 TEveTrackPropagator.cxx:1282 TEveTrackPropagator.cxx:1283 TEveTrackPropagator.cxx:1284 TEveTrackPropagator.cxx:1285 TEveTrackPropagator.cxx:1286 TEveTrackPropagator.cxx:1287 TEveTrackPropagator.cxx:1288 TEveTrackPropagator.cxx:1289 TEveTrackPropagator.cxx:1290 TEveTrackPropagator.cxx:1291 TEveTrackPropagator.cxx:1292 TEveTrackPropagator.cxx:1293 TEveTrackPropagator.cxx:1294 TEveTrackPropagator.cxx:1295 TEveTrackPropagator.cxx:1296 TEveTrackPropagator.cxx:1297 TEveTrackPropagator.cxx:1298 TEveTrackPropagator.cxx:1299 TEveTrackPropagator.cxx:1300 TEveTrackPropagator.cxx:1301 TEveTrackPropagator.cxx:1302 TEveTrackPropagator.cxx:1303 TEveTrackPropagator.cxx:1304 TEveTrackPropagator.cxx:1305 TEveTrackPropagator.cxx:1306 TEveTrackPropagator.cxx:1307 TEveTrackPropagator.cxx:1308 TEveTrackPropagator.cxx:1309 TEveTrackPropagator.cxx:1310 TEveTrackPropagator.cxx:1311 TEveTrackPropagator.cxx:1312 TEveTrackPropagator.cxx:1313 TEveTrackPropagator.cxx:1314 TEveTrackPropagator.cxx:1315 TEveTrackPropagator.cxx:1316 TEveTrackPropagator.cxx:1317 TEveTrackPropagator.cxx:1318 TEveTrackPropagator.cxx:1319 TEveTrackPropagator.cxx:1320 TEveTrackPropagator.cxx:1321 TEveTrackPropagator.cxx:1322 TEveTrackPropagator.cxx:1323 TEveTrackPropagator.cxx:1324 TEveTrackPropagator.cxx:1325 TEveTrackPropagator.cxx:1326 TEveTrackPropagator.cxx:1327 TEveTrackPropagator.cxx:1328 TEveTrackPropagator.cxx:1329 TEveTrackPropagator.cxx:1330 TEveTrackPropagator.cxx:1331 TEveTrackPropagator.cxx:1332 TEveTrackPropagator.cxx:1333 TEveTrackPropagator.cxx:1334 TEveTrackPropagator.cxx:1335 TEveTrackPropagator.cxx:1336 TEveTrackPropagator.cxx:1337 TEveTrackPropagator.cxx:1338 TEveTrackPropagator.cxx:1339 TEveTrackPropagator.cxx:1340 TEveTrackPropagator.cxx:1341 TEveTrackPropagator.cxx:1342 TEveTrackPropagator.cxx:1343 TEveTrackPropagator.cxx:1344 TEveTrackPropagator.cxx:1345 TEveTrackPropagator.cxx:1346 TEveTrackPropagator.cxx:1347 TEveTrackPropagator.cxx:1348 TEveTrackPropagator.cxx:1349 TEveTrackPropagator.cxx:1350 TEveTrackPropagator.cxx:1351 TEveTrackPropagator.cxx:1352 TEveTrackPropagator.cxx:1353 TEveTrackPropagator.cxx:1354 TEveTrackPropagator.cxx:1355 TEveTrackPropagator.cxx:1356 TEveTrackPropagator.cxx:1357 TEveTrackPropagator.cxx:1358 TEveTrackPropagator.cxx:1359 TEveTrackPropagator.cxx:1360 TEveTrackPropagator.cxx:1361 TEveTrackPropagator.cxx:1362 TEveTrackPropagator.cxx:1363 TEveTrackPropagator.cxx:1364 TEveTrackPropagator.cxx:1365 TEveTrackPropagator.cxx:1366 TEveTrackPropagator.cxx:1367 TEveTrackPropagator.cxx:1368 TEveTrackPropagator.cxx:1369 TEveTrackPropagator.cxx:1370 TEveTrackPropagator.cxx:1371 TEveTrackPropagator.cxx:1372 TEveTrackPropagator.cxx:1373 TEveTrackPropagator.cxx:1374 TEveTrackPropagator.cxx:1375 TEveTrackPropagator.cxx:1376 TEveTrackPropagator.cxx:1377 TEveTrackPropagator.cxx:1378 TEveTrackPropagator.cxx:1379 TEveTrackPropagator.cxx:1380 TEveTrackPropagator.cxx:1381 TEveTrackPropagator.cxx:1382 TEveTrackPropagator.cxx:1383 TEveTrackPropagator.cxx:1384 TEveTrackPropagator.cxx:1385 TEveTrackPropagator.cxx:1386 TEveTrackPropagator.cxx:1387 TEveTrackPropagator.cxx:1388 TEveTrackPropagator.cxx:1389 TEveTrackPropagator.cxx:1390 TEveTrackPropagator.cxx:1391 TEveTrackPropagator.cxx:1392 TEveTrackPropagator.cxx:1393 TEveTrackPropagator.cxx:1394 TEveTrackPropagator.cxx:1395 TEveTrackPropagator.cxx:1396 TEveTrackPropagator.cxx:1397 TEveTrackPropagator.cxx:1398 TEveTrackPropagator.cxx:1399 TEveTrackPropagator.cxx:1400 TEveTrackPropagator.cxx:1401 TEveTrackPropagator.cxx:1402 TEveTrackPropagator.cxx:1403 TEveTrackPropagator.cxx:1404 TEveTrackPropagator.cxx:1405 TEveTrackPropagator.cxx:1406 TEveTrackPropagator.cxx:1407 TEveTrackPropagator.cxx:1408 TEveTrackPropagator.cxx:1409 TEveTrackPropagator.cxx:1410 TEveTrackPropagator.cxx:1411 TEveTrackPropagator.cxx:1412 TEveTrackPropagator.cxx:1413 TEveTrackPropagator.cxx:1414 TEveTrackPropagator.cxx:1415 TEveTrackPropagator.cxx:1416 TEveTrackPropagator.cxx:1417 TEveTrackPropagator.cxx:1418 TEveTrackPropagator.cxx:1419 TEveTrackPropagator.cxx:1420 TEveTrackPropagator.cxx:1421 TEveTrackPropagator.cxx:1422 TEveTrackPropagator.cxx:1423 TEveTrackPropagator.cxx:1424 TEveTrackPropagator.cxx:1425 TEveTrackPropagator.cxx:1426 TEveTrackPropagator.cxx:1427 TEveTrackPropagator.cxx:1428 TEveTrackPropagator.cxx:1429 TEveTrackPropagator.cxx:1430 TEveTrackPropagator.cxx:1431 TEveTrackPropagator.cxx:1432 TEveTrackPropagator.cxx:1433 TEveTrackPropagator.cxx:1434 TEveTrackPropagator.cxx:1435 TEveTrackPropagator.cxx:1436 TEveTrackPropagator.cxx:1437 TEveTrackPropagator.cxx:1438 TEveTrackPropagator.cxx:1439 TEveTrackPropagator.cxx:1440 TEveTrackPropagator.cxx:1441 TEveTrackPropagator.cxx:1442 TEveTrackPropagator.cxx:1443 TEveTrackPropagator.cxx:1444 TEveTrackPropagator.cxx:1445 TEveTrackPropagator.cxx:1446 TEveTrackPropagator.cxx:1447 TEveTrackPropagator.cxx:1448 TEveTrackPropagator.cxx:1449 TEveTrackPropagator.cxx:1450 TEveTrackPropagator.cxx:1451 TEveTrackPropagator.cxx:1452 TEveTrackPropagator.cxx:1453 TEveTrackPropagator.cxx:1454 TEveTrackPropagator.cxx:1455 TEveTrackPropagator.cxx:1456 TEveTrackPropagator.cxx:1457 TEveTrackPropagator.cxx:1458 TEveTrackPropagator.cxx:1459 TEveTrackPropagator.cxx:1460 TEveTrackPropagator.cxx:1461 TEveTrackPropagator.cxx:1462 TEveTrackPropagator.cxx:1463 TEveTrackPropagator.cxx:1464 TEveTrackPropagator.cxx:1465 TEveTrackPropagator.cxx:1466 TEveTrackPropagator.cxx:1467 TEveTrackPropagator.cxx:1468 TEveTrackPropagator.cxx:1469 TEveTrackPropagator.cxx:1470 TEveTrackPropagator.cxx:1471 TEveTrackPropagator.cxx:1472 TEveTrackPropagator.cxx:1473 TEveTrackPropagator.cxx:1474 TEveTrackPropagator.cxx:1475 TEveTrackPropagator.cxx:1476 TEveTrackPropagator.cxx:1477 TEveTrackPropagator.cxx:1478 TEveTrackPropagator.cxx:1479 TEveTrackPropagator.cxx:1480 TEveTrackPropagator.cxx:1481 TEveTrackPropagator.cxx:1482 TEveTrackPropagator.cxx:1483 TEveTrackPropagator.cxx:1484 TEveTrackPropagator.cxx:1485 TEveTrackPropagator.cxx:1486 TEveTrackPropagator.cxx:1487 TEveTrackPropagator.cxx:1488 TEveTrackPropagator.cxx:1489 TEveTrackPropagator.cxx:1490