64 LogDebug(
"TransverseImpactPointExtrapolator") <<
"negligeable curvature: using a trick to extrapolate:\n" << tsos;
96 LogDebug(
"TransverseImpactPointExtrapolator") <<
"negligeable curvature: using a trick to extrapolate:\n" << fts;
123 const double& signedTransverseRadius,
125 LogDebug(
"TransverseImpactPointExtrapolator") << position <<
"\n"
127 <<
"signedTransverseRadius : " << signedTransverseRadius <<
"\n"
133 PositionType2D x0(position.
x(), position.
y());
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;
Vector3DBase< typename PreciseFloatType< T, U >::Type, FrameTag > cross(const Vector3DBase< U, FrameTag > &v) const
virtual void setPropagationDirection(PropagationDirection dir)
ReturnType plane(const PositionType &pos, const RotationType &rot) const
GlobalPoint globalPosition() const
std::unique_ptr< Propagator > SetPropagationDirection(Propagator const &iprop, PropagationDirection dir)
FreeTrajectoryState const * freeState(bool withErrors=true) const
GlobalVector momentum() const
GlobalPoint position() const
TEveGeoShape * clone(const TEveElement *element, TEveElement *parent)
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
double transverseCurvature() const
GlobalVector globalMomentum() const
static int position[264][3]
Global3DVector GlobalVector
Basic3DVector unit() const
double transverseCurvature() const