|
ATLAS Offline Software
|
Go to the documentation of this file.
11 #ifndef TRKEXRUNGEKUTTAINTERSECTOR_INTERSECTORWRAPPER_H
12 #define TRKEXRUNGEKUTTAINTERSECTOR_INTERSECTORWRAPPER_H
15 #include "GaudiKernel/ToolHandle.h"
21 class TrackSurfaceIntersection;
30 const std::string&
name,
46 bool)
const override final;
54 const EventContext& ctx,
75 std::
vector<
unsigned int>&,
89 std::vector<DestSurf>&,
93 std::vector<unsigned int>&,
98 std::vector<Trk::HitInfo>*&)
const override final
107 virtual std::unique_ptr<TrackParameters>
propagate(
108 const EventContext& ctx,
114 std::optional<TransportJacobian>&,
124 const EventContext& ctx,
131 bool returnCurv =
false,
136 const EventContext& ctx,
144 bool returnCurv = false,
152 const EventContext& ctx,
189 std::vector<DestSurf>&,
193 std::vector<unsigned int>&,
194 std::vector<const Trk::TrackStateOnSurface*>*&,
195 std::vector<std::pair<std::unique_ptr<Trk::TrackParameters>,
int>>*,
215 ATH_MSG_ERROR(
"Call to non-implemented multiStatePropagate");
251 const BoundaryCheck& boundsCheck,
252 bool curvilinear)
const;
265 #endif // TRKEXRUNGEKUTTAINTERSECTOR_INTERSECTORWRAPPER_H
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
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...
virtual std::optional< TrackSurfaceIntersection > intersectSurface(const EventContext &, const Surface &, const TrackSurfaceIntersection &, const double, const MagneticFieldProperties &, ParticleHypothesis) const override final
Intersection and Intersector interface:
void createParameters(Cache &cache, const Surface &surface, const BoundaryCheck &boundsCheck, bool curvilinear) const
virtual StatusCode initialize() override final
bool const RAWDATA *ch2 const
~IntersectorWrapper(void)
ToolHandle< IIntersector > m_intersector
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual Trk::MultiComponentState multiStatePropagate(const EventContext &, const MultiComponentState &, const Surface &, const MagneticFieldProperties &, const PropDirection, const BoundaryCheck &, const ParticleHypothesis) const override final
unimplemented multiStatePropagate
std::vector< ComponentParameters > MultiComponentState
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...
virtual std::unique_ptr< Trk::TrackParameters > propagateM(const EventContext &, const TrackParameters &, std::vector< DestSurf > &, PropDirection, const MagneticFieldProperties &, ParticleHypothesis, std::vector< unsigned int > &, std::vector< const Trk::TrackStateOnSurface * > *&, std::vector< std::pair< std::unique_ptr< Trk::TrackParameters >, int >> *, double &, bool, bool, const Trk::TrackingVolume *, Trk::ExtrapolationCache *) const override final
unimplemented propagateM
virtual std::unique_ptr< TrackParameters > propagateT(const EventContext &, const TrackParameters &, std::vector< DestSurf > &, PropDirection, const MagneticFieldProperties &, ParticleHypothesis, std::vector< unsigned int > &, PathLimit &, TimeLimit &, bool, const TrackingVolume *, std::vector< Trk::HitInfo > *&) const override final
Propagate parameters and covariance with search of closest surface time included.
std::pair< const Surface *, BoundaryCheck > DestSurf
typedef for input surfaces, boundary check
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
Definition of ATLAS Math & Geometry primitives (Amg)
ParametersBase< TrackParametersDim, Charged > TrackParameters
Eigen::Matrix< double, 3, 1 > Vector3D
virtual void globalPositions(const EventContext &, std::deque< Amg::Vector3D > &, const TrackParameters &, const MagneticFieldProperties &, const CylinderBounds &, double, ParticleHypothesis, const TrackingVolume *) const override final
GlobalPositions list interface: This is used mostly in pattern recognition in the road finder,...
std::unique_ptr< TrackParameters > m_parameters
std::vector< TargetSurface > TargetSurfaceVector
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)
virtual Trk::ExtrapolationCode propagate(const EventContext &, Trk::ExCellCharged &, Trk::TargetSurfaces &, Trk::TargetSurfaceVector &) const override final
Propagation method needed for StepEngine.