Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
12 #include "GaudiKernel/SystemOfUnits.h"
32 const std::string&
name,
36 declareInterface<Trk::IPropagator>(
this);
55 return StatusCode::SUCCESS;
61 return StatusCode::SUCCESS;
64 std::unique_ptr<NeutralParameters>
69 bool curvilinear)
const
74 std::unique_ptr<TrackParameters>
88 return std::move(cache.m_parameters);
91 std::unique_ptr<TrackParameters>
98 std::optional<TransportJacobian>& ,
107 return std::move(cache.m_parameters);
110 std::unique_ptr<TrackParameters>
125 return std::move(cache.m_parameters);
128 std::unique_ptr<TrackParameters>
135 std::optional<TransportJacobian>& ,
143 return std::move(cache.m_parameters);
146 std::optional<Trk::TrackSurfaceIntersection>
156 auto solution = cache.m_intersection;
166 bool curvilinear)
const
224 ATH_MSG_DEBUG(
" requested oppositeMomentum, but pathlength "
233 <<
" intersection at r,phi,z "
234 << std::setw(10) << std::setprecision(1) << cache.
m_intersection->position().perp()
235 << std::setw(9) << std::setprecision(4) << cache.
m_intersection->position().phi()
236 << std::setw(10) << std::setprecision(1) << cache.
m_intersection->position().z()
virtual std::unique_ptr< TrackParameters > propagateParameters(const EventContext &ctx, const TrackParameters &parm, const Surface &sf, PropDirection dir, const BoundaryCheck &bcheck, const MagneticFieldProperties &mprop, ParticleHypothesis particle=pion, bool returnCurv=false, const TrackingVolume *tVol=nullptr) const override final
Propagation interface without Covariance matrix propagation the pathlength has to be returned for eve...
void createParameters(Cache &cache, const Surface &surface, const BoundaryCheck &boundsCheck, bool curvilinear) const
bool msgLvl(const MSG::Level lvl) const
virtual StatusCode initialize() override final
#define ATH_MSG_VERBOSE(x)
~IntersectorWrapper(void)
ToolHandle< IIntersector > m_intersector
virtual ChargedTrackParametersUniquePtr createUniqueTrackParameters(double l1, double l2, double phi, double theat, double qop, std::optional< AmgSymMatrix(5)> cov=std::nullopt) const =0
Use the Surface as a ParametersBase constructor, from local parameters - charged.
::StatusCode StatusCode
StatusCode definition for legacy code.
std::optional< TrackSurfaceIntersection > m_intersection
virtual std::optional< Trk::TrackSurfaceIntersection > intersect(const EventContext &ctx, const TrackParameters &parm, const Surface &sf, const MagneticFieldProperties &mprop, ParticleHypothesis particle=pion, const TrackingVolume *tVol=nullptr) const override final
Intersection interface: The intersection interface might be used by the material service as well to e...
ToolHandle< IPropagator > m_linePropagator
Ensure that the ATLAS eigen extensions are properly loaded.
virtual StatusCode finalize() override final
void findIntersection(Cache &cache, const TrackParameters ¶meters, const Surface &surface, PropDirection dir=Trk::anyDirection) const
Eigen::Matrix< double, 3, 1 > Vector3D
std::unique_ptr< TrackParameters > m_parameters
#define ATH_MSG_WARNING(x)
virtual std::unique_ptr< NeutralParameters > propagate(const NeutralParameters &, const Surface &, PropDirection, const BoundaryCheck &, bool) const override final
N 0) Neutral parameters method
IntersectorWrapper(const std::string &type, const std::string &name, const IInterface *parent)