64 LogDebug(
"TransverseImpactPointExtrapolator") <<
"negligeable curvature: using a trick to extrapolate:\n" << tsos;
78 return p.propagate(*tsos.
freeState(), *surface);
85 return p.propagate(tsos, *surface);
96 LogDebug(
"TransverseImpactPointExtrapolator") <<
"negligeable curvature: using a trick to extrapolate:\n" << fts;
110 return p.propagate(fts, *surface);
117 return p.propagate(fts, *surface);
123 const double& signedTransverseRadius,
127 <<
"signedTransverseRadius : " << signedTransverseRadius <<
"\n" 134 DirectionType2D
t0(-momentum.
y(), momentum.
x());
137 PositionType2D xc(x0 + signedTransverseRadius *
t0);
139 DirectionType2D vtxDirection(xc.x() -
vertex.x(), xc.y() -
vertex.y());
140 double vtxDistance = vtxDirection.mag();
143 GlobalVector xLocal(vtxDirection.x() / vtxDistance, vtxDirection.y() / vtxDistance, 0.);
144 if (vtxDistance < fabs(signedTransverseRadius)) {
145 LogDebug(
"TransverseImpactPointExtrapolator") <<
"Inverting the x axis.";
150 if (zLocal.dot(momentum) < 0.) {
151 LogDebug(
"TransverseImpactPointExtrapolator") <<
"Inverting the y,z frame.";
157 LogDebug(
"TransverseImpactPointExtrapolator") <<
"plane center: " << origin <<
"\n" 158 <<
"plane rotation axis:\n" 162 <<
"x0: " << x0 <<
"\n" 163 <<
"t0: " <<
t0 <<
"\n" 164 <<
"xc: " << xc <<
"\n" 165 <<
"vtxDirection: " << vtxDirection;
virtual void setPropagationDirection(PropagationDirection dir)
Vector3DBase< typename PreciseFloatType< T, U >::Type, FrameTag > cross(const Vector3DBase< U, FrameTag > &v) const
ReturnType plane(const PositionType &pos, const RotationType &rot) const
GlobalPoint position() const
std::unique_ptr< Propagator > SetPropagationDirection(Propagator const &iprop, PropagationDirection dir)
GlobalPoint globalPosition() const
GlobalVector momentum() const
Basic3DVector unit() const
double transverseCurvature() const
double transverseCurvature() const
GlobalVector globalMomentum() const
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
static int position[264][3]
FreeTrajectoryState const * freeState(bool withErrors=true) const
Global3DVector GlobalVector