|
ATLAS Offline Software
|
Go to the documentation of this file.
16 #ifndef TRT_DetElementsRoadMaker_xk_H
17 #define TRT_DetElementsRoadMaker_xk_H
22 #include "GaudiKernel/ServiceHandle.h"
23 #include "GaudiKernel/AlgTool.h"
24 #include "GaudiKernel/ToolHandle.h"
25 #include "GaudiKernel/MsgStream.h"
93 virtual MsgStream&
dump(MsgStream&
out)
const override;
94 virtual std::ostream&
dump(std::ostream&
out)
const override;
100 "TRT_DetElementsRoadData_xk",
"Key of TRT_DetElementsRoadData_xk"};
103 "Name of the Magnetic Field conditions object key"};
105 PublicToolHandle<Trk::IPropagator>
m_proptool{
this,
"PropagatorTool",
106 "Trk::RungeKuttaPropagator/InDetPropagator"};
109 "Width of the roadInnerDetector/InDetRecTools/"};
110 DoubleProperty
m_step{
this,
"MaxStep", 20.,
"Max step allowed"};
112 StringProperty
m_fieldmode{
this,
"MagneticFieldMode",
"MapSolenoid",
113 "Mode of magnetic field"};
121 std::deque<Amg::Vector3D>&,
122 std::vector<const InDetDD::TRT_BaseElement*>&,
124 const EventContext& ctx)
const;
126 std::deque<Amg::Vector3D>&,
127 std::vector<const InDetDD::TRT_BaseElement*>&,
129 const EventContext& ctx)
const;
137 static MsgStream&
dumpEvent (MsgStream &
out,
int size_road) ;
145 return roadData->getLayers();
154 return roadData->getBounds();
163 double rmintrt = roadData->getTRTMinR();
171 #endif // TRT_DetElementsRoadMaker_xk_H
MsgStream & dumpConditions(MsgStream &out) const
PublicToolHandle< Trk::IPropagator > m_proptool
virtual StatusCode finalize() override
double getTRTMinR(const EventContext &ctx) const
std::vector< std::vector< InDet::TRT_DetElementsLayer_xk > > TRT_DetElementsLayerVectors_xk
void detElementsRoadCTB(std::deque< Amg::Vector3D > &, std::vector< const InDetDD::TRT_BaseElement * > &, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used, const EventContext &ctx) const
virtual MsgStream & dump(MsgStream &out) const override
Trk::MagneticFieldMode m_fieldModeEnum
SG::ReadCondHandleKey< TRT_DetElementsRoadData_xk > m_roadDataKey
::StatusCode StatusCode
StatusCode definition for legacy code.
@ FullField
Field is set to be realistic, but within a given Volume.
void detElementsRoadATL(std::deque< Amg::Vector3D > &, std::vector< const InDetDD::TRT_BaseElement * > &, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used, const EventContext &ctx) const
StringProperty m_fieldmode
static double stepToDetElement(const InDetDD::TRT_BaseElement *&, Amg::Vector3D &, Amg::Vector3D &)
virtual ~TRT_DetElementsRoadMaker_xk()
Eigen::Matrix< double, 3, 1 > Vector3D
virtual StatusCode initialize() override
Trk::CylinderBounds getBound(MagField::AtlasFieldCache &fieldCache, const Trk::TrackParameters &, const EventContext &ctx) const
static MsgStream & dumpEvent(MsgStream &out, int size_road)
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h)
const TRT_DetElementsLayerVectors_xk * getLayers(const EventContext &ctx) const
Maintain a set of objects, one per slot.
std::array< std::vector< std::vector< Used_t > >, 3 > TRT_DetElemUsedMap
const Trk::CylinderBounds get_bounds(const EventContext &ctx) const
TRT_DetElementsRoadMaker_xk(const std::string &, const std::string &, const IInterface *)
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCacheCondObjInputKey
virtual std::vector< const InDetDD::TRT_BaseElement * > detElementsRoad(const EventContext &ctx, MagField::AtlasFieldCache &fieldCache, const Trk::TrackParameters &Tp, Trk::PropDirection D, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const override