11#ifndef ISiDetElementsRoadMaker_H
12#define ISiDetElementsRoadMaker_H
19#include "GaudiKernel/AlgTool.h"
20#include "GaudiKernel/EventContext.h"
71 ( std::deque<Amg::Vector3D>& globalPositions,
72 std::vector<const InDetDD::SiDetectorElement*>& Road,
75 const EventContext& ctx)
const=0;
86 (
const EventContext& ctx,
90 std::vector<const InDetDD::SiDetectorElement*>& Road,
98 virtual MsgStream&
dump(MsgStream& out)
const=0;
99 virtual std::ostream&
dump(std::ostream& out)
const=0;
119 inline MsgStream&
operator <<
128 inline std::ostream&
operator <<
Class to hold geometrical description of a silicon detector element.
Base class for detector elements road builder in Pixels and SCT.
virtual void detElementsRoad(std::deque< Amg::Vector3D > &globalPositions, std::vector< const InDetDD::SiDetectorElement * > &Road, bool testDirection, InDet::SiDetElementRoadMakerData_xk &roadMakerData, const EventContext &ctx) const =0
This signature assumes you already have a list of positions along the trajectory.
virtual MsgStream & dump(MsgStream &out) const =0
virtual void detElementsRoad(const EventContext &ctx, MagField::AtlasFieldCache &fieldCache, const Trk::TrackParameters &Tp, Trk::PropDirection direction, std::vector< const InDetDD::SiDetectorElement * > &Road, InDet::SiDetElementRoadMakerData_xk &roadMakerData) const =0
This is the signature used in most ATLAS clients.
DeclareInterfaceID(ISiDetElementsRoadMaker, 1, 0)
virtual std::ostream & dump(std::ostream &out) const =0
InDet::SiDetElementRoadMakerData_xk holds event dependent data used by SiDetElementRoadMaker_xk.
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h)
MsgStream & operator<<(MsgStream &, const GNNTrackFinderTritonTool &)
PropDirection
PropDirection, enum for direction of the propagation.
ParametersBase< TrackParametersDim, Charged > TrackParameters