ATLAS Offline Software
|
Constants of motion and other cached values. More...
#include <SolenoidalIntersector.h>
Public Member Functions | |
Constants (const SolenoidParametrization &solpar, const TrackSurfaceIntersection &trackTrackSurfaceIntersection, const double qOverP) | |
virtual std::unique_ptr< IIntersectionCache > | clone () const override |
Public Attributes | |
double | m_sinTheta |
double | m_oneOverSinTheta |
double | m_cotTheta |
double | m_qOverPt |
const SolenoidParametrization & | m_solPar |
Amg::Vector3D | m_lastPosition |
SolenoidParametrization::Parameters | m_solParams |
Constants of motion and other cached values.
There is some data we want to persist across calls to intersectSurface() for a single trajectory. We do this by attaching this structure as a cache block to TrackSurfaceIntersection. Some of these are actually constants of motion for a helical trajectory. We also include here the solenoidal parametrization. This gets updated as we step through the field; including it here avoids a reevaluation at the start of the next call. We also include the position at the end of the stepping phase, m_lastPosition. This is because before after we finish stepping but before we return, we improve the estimate of the intersection by calculating the straight line intersection with the surface. But if we then calcuate a further intersection with the same trajectory, we want to start at the point at the end of the previous stepping, not the position we returned.
Definition at line 50 of file SolenoidalIntersector.h.
Trk::SolenoidalIntersector::Constants::Constants | ( | const SolenoidParametrization & | solpar, |
const TrackSurfaceIntersection & | trackTrackSurfaceIntersection, | ||
const double | qOverP | ||
) |
Definition at line 22 of file SolenoidalIntersector.cxx.
|
inlineoverridevirtual |
Implements Trk::TrackSurfaceIntersection::IIntersectionCache.
Definition at line 54 of file SolenoidalIntersector.h.
double Trk::SolenoidalIntersector::Constants::m_cotTheta |
Definition at line 59 of file SolenoidalIntersector.h.
Amg::Vector3D Trk::SolenoidalIntersector::Constants::m_lastPosition |
Definition at line 62 of file SolenoidalIntersector.h.
double Trk::SolenoidalIntersector::Constants::m_oneOverSinTheta |
Definition at line 58 of file SolenoidalIntersector.h.
double Trk::SolenoidalIntersector::Constants::m_qOverPt |
Definition at line 60 of file SolenoidalIntersector.h.
double Trk::SolenoidalIntersector::Constants::m_sinTheta |
Definition at line 57 of file SolenoidalIntersector.h.
const SolenoidParametrization& Trk::SolenoidalIntersector::Constants::m_solPar |
Definition at line 61 of file SolenoidalIntersector.h.
SolenoidParametrization::Parameters Trk::SolenoidalIntersector::Constants::m_solParams |
Definition at line 63 of file SolenoidalIntersector.h.