ATLAS Offline Software
Loading...
Searching...
No Matches
ActsTrk::ExtrapolationTool Class Reference

#include <ExtrapolationTool.h>

Inheritance diagram for ActsTrk::ExtrapolationTool:
Collaboration diagram for ActsTrk::ExtrapolationTool:

Public Member Functions

virtual StatusCode initialize () override
 ExtrapolationTool (const std::string &type, const std::string &name, const IInterface *parent)
 ~ExtrapolationTool ()
virtual Acts::Result< PropagationOutput > propagationSteps (const EventContext &ctx, const Acts::BoundTrackParameters &startParameters, Acts::Direction navDir=Acts::Direction::Forward(), double pathLimit=std::numeric_limits< double >::max()) const override
virtual Acts::Result< Acts::BoundTrackParameters > propagate (const EventContext &ctx, const Acts::BoundTrackParameters &startParameters, Acts::Direction navDir=Acts::Direction::Forward(), double pathLimit=std::numeric_limits< double >::max()) const override
virtual Acts::Result< PropagationOutput > propagationSteps (const EventContext &ctx, const Acts::BoundTrackParameters &startParameters, const Acts::Surface &target, Acts::Direction navDir=Acts::Direction::Forward(), double pathLimit=std::numeric_limits< double >::max()) const override
virtual Acts::Result< Acts::BoundTrackParameters > propagate (const EventContext &ctx, const Acts::BoundTrackParameters &startParameters, const Acts::Surface &target, Acts::Direction navDir=Acts::Direction::Forward(), double pathLimit=std::numeric_limits< double >::max()) const override
virtual Acts::MagneticFieldContext getMagneticFieldContext (const EventContext &ctx) const override

Private Member Functions

const Acts::Logger & logger () const
template<typename OptionsType>
OptionsType prepareOptions (const Acts::GeometryContext &gctx, const Acts::MagneticFieldContext &mctx, const Acts::BoundTrackParameters &startParameters, Acts::Direction navDir, double pathLimit) const

Private Attributes

std::unique_ptr< const ActsExtrapolationDetail::VariantPropagatorm_varProp
std::unique_ptr< const Acts::Logger > m_logger {nullptr}
SG::ReadCondHandleKey< AtlasFieldCacheCondObjm_fieldCacheCondObjInputKey {this, "AtlasFieldCacheCondObj", "fieldCondObj", "Name of the Magnetic Field conditions object key"}
PublicToolHandle< ActsTrk::ITrackingGeometryToolm_trackingGeometryTool {this, "TrackingGeometryTool", "ActsTrackingGeometryTool"}
Gaudi::Property< std::string > m_fieldMode {this, "FieldMode", "ATLAS", "Either ATLAS or Constant or StraightLine"}
Gaudi::Property< std::vector< double > > m_constantFieldVector {this, "ConstantFieldVector", {0, 0, 0}, "Constant field value to use if FieldMode == Constant"}
Gaudi::Property< double > m_ptLoopers {this, "PtLoopers", 300, "PT loop protection threshold. Will be converted to Acts MeV unit"}
Gaudi::Property< double > m_maxStepSize {this, "MaxStepSize", 10, "Max step size in Acts m unit"}
Gaudi::Property< unsigned > m_maxStep {this, "MaxSteps", 100000, "Max number of steps"}
Gaudi::Property< unsigned > m_maxSurfSkip {this, "MaxSurfaceSkip" ,100, "Maximum number of surfaces to be tried by the navigator"}
Gaudi::Property< double > m_surfTolerance
Gaudi::Property< unsigned > m_pathLimit {this, "PathLimit", 50, "Maximum path length to be considered during propagation in Acts m unit"}
Gaudi::Property< bool > m_interactionMultiScatering {this, "InteractionMultiScatering", false, "Whether to consider multiple scattering in the interactor"}
Gaudi::Property< bool > m_interactionEloss {this, "InteractionEloss", false, "Whether to consider energy loss in the interactor"}
Gaudi::Property< bool > m_interactionRecord {this, "InteractionRecord", false, "Whether to record all material interactions"}

Detailed Description

Definition at line 54 of file ExtrapolationTool.h.

Constructor & Destructor Documentation

◆ ExtrapolationTool()

ActsTrk::ExtrapolationTool::ExtrapolationTool ( const std::string & type,
const std::string & name,
const IInterface * parent )

◆ ~ExtrapolationTool()

ActsTrk::ExtrapolationTool::~ExtrapolationTool ( )
default

Member Function Documentation

◆ getMagneticFieldContext()

Acts::MagneticFieldContext ActsTrk::ExtrapolationTool::getMagneticFieldContext ( const EventContext & ctx) const
overridevirtual

Definition at line 324 of file ExtrapolationTool.cxx.

324 {
325 const AtlasFieldCacheCondObj* fieldCondObj{nullptr};
326 if (!SG::get(fieldCondObj,m_fieldCacheCondObjInputKey, ctx).isSuccess()) {
327 throw std::runtime_error("Failed to retrieve conditions data from "+m_fieldCacheCondObjInputKey.key() + ".");
328 }
329 return Acts::MagneticFieldContext{fieldCondObj};
330}
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCacheCondObjInputKey
const T * get(const ReadCondHandleKey< T > &key, const EventContext &ctx)
Convenience function to retrieve an object given a ReadCondHandleKey.

◆ initialize()

StatusCode ActsTrk::ExtrapolationTool::initialize ( )
overridevirtual

Definition at line 69 of file ExtrapolationTool.cxx.

70{
71
72
73 ATH_MSG_INFO("Initializing ACTS extrapolation");
74
76
78
79 Acts::Navigator::Config navConfig{m_trackingGeometryTool->trackingGeometry()};
80 Acts::Navigator navigator{std::move(navConfig), logger().clone()};
81
83 if (m_fieldMode == "ATLAS") {
84 ATH_MSG_INFO("Using ATLAS magnetic field service");
85
86 auto bField = std::make_shared<ATLASMagneticFieldWrapper>();
87
88 CurvedStepper_t stepper{std::move(bField)};
89 CurvedPropagator_t propagator{std::move(stepper), std::move(navigator),
90 logger().clone()};
91 m_varProp = std::make_unique<VariantPropagator>(propagator);
92 }
93 else if (m_fieldMode == "Constant") {
94 if (m_constantFieldVector.value().size() != 3)
95 {
96 ATH_MSG_ERROR("Incorrect field vector size. Using empty field.");
97 return StatusCode::FAILURE;
98 }
99
100 Acts::Vector3 constantFieldVector = Acts::Vector3(m_constantFieldVector[0],
103
104 ATH_MSG_INFO("Using constant magnetic field: (Bx, By, Bz) = "
105 <<Amg::toString(constantFieldVector));
106
107 auto bField = std::make_shared<Acts::ConstantBField>(constantFieldVector);
108 CurvedStepper_t stepper{std::move(bField)};
109 CurvedPropagator_t propagator{std::move(stepper), std::move(navigator), logger().clone()};
110 m_varProp = std::make_unique<VariantPropagator>(propagator);
111 } else if (m_fieldMode == "StraightLine") {
112 Acts::StraightLineStepper stepper{};
113 StraightPropagator_t propagator{stepper, std::move(navigator), logger().clone()};
114 m_varProp = std::make_unique<VariantPropagator>(propagator);
115 } else {
116 ATH_MSG_FATAL("Invalid mode provided "<<m_fieldMode<<". Allowed : \"ATLAS\", \"Constant\", \"StraightLine\".");
117 return StatusCode::FAILURE;
118 }
119
120 ATH_MSG_INFO("ACTS extrapolation successfully initialized");
121 return StatusCode::SUCCESS;
122}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_ERROR(x)
#define ATH_MSG_FATAL(x)
#define ATH_MSG_INFO(x)
std::unique_ptr< const Acts::Logger > makeActsAthenaLogger(IMessageSvc *svc, const std::string &name, int level, std::optional< std::string > parent_name)
std::unique_ptr< const Acts::Logger > m_logger
Gaudi::Property< std::vector< double > > m_constantFieldVector
const Acts::Logger & logger() const
std::unique_ptr< const ActsExtrapolationDetail::VariantPropagator > m_varProp
Gaudi::Property< std::string > m_fieldMode
PublicToolHandle< ActsTrk::ITrackingGeometryTool > m_trackingGeometryTool
std::string toString(const Translation3D &translation, int precision=4)
GeoPrimitvesToStringConverter.

◆ logger()

const Acts::Logger & ActsTrk::ExtrapolationTool::logger ( ) const
inlineprivate

Definition at line 100 of file ExtrapolationTool.h.

100{ return *m_logger; }

◆ prepareOptions()

template<typename OptionsType>
OptionsType ActsTrk::ExtrapolationTool::prepareOptions ( const Acts::GeometryContext & gctx,
const Acts::MagneticFieldContext & mctx,
const Acts::BoundTrackParameters & startParameters,
Acts::Direction navDir,
double pathLimit ) const
private

Definition at line 333 of file ExtrapolationTool.cxx.

337 {
338 using namespace Acts::UnitLiterals;
339 OptionsType options(gctx, mctx);
340
341 options.pathLimit = pathLimit;
342 options.loopProtection
343 = (Acts::VectorHelpers::perp(startParameters.momentum())
344 < m_ptLoopers * 1_MeV);
345 options.maxSteps = m_maxStep;
346 options.direction = navDir;
347 options.stepping.maxStepSize = m_maxStepSize * 1_m;
348 options.maxTargetSkipping = m_maxSurfSkip;
349 options.surfaceTolerance = m_surfTolerance;
350 options.pathLimit = m_pathLimit * 1_m;
351 auto& mInteractor = options.actorList.template get<Acts::MaterialInteractor>();
352 mInteractor.multipleScattering = m_interactionMultiScatering;
353 mInteractor.energyLoss = m_interactionEloss;
354 mInteractor.recordInteractions = m_interactionRecord;
355 return options;
356}
Gaudi::Property< unsigned > m_maxSurfSkip
Gaudi::Property< unsigned > m_pathLimit
Gaudi::Property< bool > m_interactionRecord
Gaudi::Property< double > m_ptLoopers
Gaudi::Property< bool > m_interactionMultiScatering
Gaudi::Property< double > m_maxStepSize
Gaudi::Property< double > m_surfTolerance
Gaudi::Property< bool > m_interactionEloss
Gaudi::Property< unsigned > m_maxStep
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
Definition hcg.cxx:130

◆ propagate() [1/2]

Acts::Result< Acts::BoundTrackParameters > ActsTrk::ExtrapolationTool::propagate ( const EventContext & ctx,
const Acts::BoundTrackParameters & startParameters,
Acts::Direction navDir = Acts::Direction::Forward(),
double pathLimit = std::numeric_limits<double>::max() ) const
overridevirtual

Definition at line 186 of file ExtrapolationTool.cxx.

190{
191 ATH_MSG_VERBOSE(name() << "::" << __FUNCTION__ << " begin");
192
193 Acts::MagneticFieldContext mctx = getMagneticFieldContext(ctx);
194 const GeometryContext& geo_ctx
195 = m_trackingGeometryTool->getGeometryContext(ctx);
196 auto anygctx = geo_ctx.context();
197
198 auto parameters = boost::apply_visitor([&](const auto& propagator) -> Acts::Result<Acts::BoundTrackParameters> {
199 using Propagator = std::decay_t<decltype(propagator)>;
200
201 // Action list and abort list
202 using ActorList =
203 Acts::ActorList<Acts::MaterialInteractor, EndOfWorld>;
204 using Options = typename Propagator::template Options<ActorList>;
205
206 Options options = prepareOptions<Options>(anygctx, mctx, startParameters, navDir, pathLimit);
207
208
209 auto result = propagator.propagate(startParameters, options);
210 if (!result.ok()) {
211 ATH_MSG_DEBUG("Got error during propagation:" << result.error());
212 return result.error();
213 }
214 if (!result.value().endParameters.has_value()) {
215 ATH_MSG_DEBUG("Propagation did not result in valid end parameters.");
216 return Acts::PropagatorError::Failure;
217 }
218 return result.value().endParameters.value();
219 }, *m_varProp);
220
221 return parameters;
222}
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_DEBUG(x)
OptionsType prepareOptions(const Acts::GeometryContext &gctx, const Acts::MagneticFieldContext &mctx, const Acts::BoundTrackParameters &startParameters, Acts::Direction navDir, double pathLimit) const
virtual Acts::MagneticFieldContext getMagneticFieldContext(const EventContext &ctx) const override

◆ propagate() [2/2]

Acts::Result< Acts::BoundTrackParameters > ActsTrk::ExtrapolationTool::propagate ( const EventContext & ctx,
const Acts::BoundTrackParameters & startParameters,
const Acts::Surface & target,
Acts::Direction navDir = Acts::Direction::Forward(),
double pathLimit = std::numeric_limits<double>::max() ) const
overridevirtual

Definition at line 282 of file ExtrapolationTool.cxx.

287{
288
289 ATH_MSG_VERBOSE(name() << "::" << __FUNCTION__ << " begin");
290
291 Acts::MagneticFieldContext mctx = getMagneticFieldContext(ctx);
292 const GeometryContext& geo_ctx
293 = m_trackingGeometryTool->getGeometryContext(ctx);
294 auto anygctx = geo_ctx.context();
295
296 auto parameters = boost::apply_visitor([&](const auto& propagator) -> Acts::Result<Acts::BoundTrackParameters> {
297 using Propagator = std::decay_t<decltype(propagator)>;
298
299 // Action list and abort list
300 using ActorList =
301 Acts::ActorList<Acts::MaterialInteractor>;
302 using Options = typename Propagator::template Options<ActorList>;
303
304 Options options = prepareOptions<Options>(anygctx, mctx, startParameters, navDir, pathLimit);
305 auto result = target.type() == Acts::Surface::Perigee ?
306 propagator.template propagate<Acts::BoundTrackParameters, Options,
307 Acts::ForcedSurfaceReached, Acts::PathLimitReached>(startParameters, target, options) :
308 propagator.template propagate<Acts::BoundTrackParameters, Options,
309 Acts::SurfaceReached, Acts::PathLimitReached>(startParameters, target, options);
310 if (!result.ok()) {
311 ATH_MSG_DEBUG("Got error during propagation: " << result.error());
312 return result.error();
313 }
314 if (!result.value().endParameters.has_value()) {
315 ATH_MSG_DEBUG("Propagation did not result in valid end parameters.");
316 return Acts::PropagatorError::Failure;
317 }
318 return result.value().endParameters.value();
319 }, *m_varProp);
320
321 return parameters;
322}
if(febId1==febId2)
virtual Acts::Result< Acts::BoundTrackParameters > propagate(const EventContext &ctx, const Acts::BoundTrackParameters &startParameters, Acts::Direction navDir=Acts::Direction::Forward(), double pathLimit=std::numeric_limits< double >::max()) const override
dict template
Definition taskman.py:314

◆ propagationSteps() [1/2]

Acts::Result< ExtrapolationTool::PropagationOutput > ActsTrk::ExtrapolationTool::propagationSteps ( const EventContext & ctx,
const Acts::BoundTrackParameters & startParameters,
Acts::Direction navDir = Acts::Direction::Forward(),
double pathLimit = std::numeric_limits<double>::max() ) const
overridevirtual

Definition at line 126 of file ExtrapolationTool.cxx.

130{
131
132 ATH_MSG_VERBOSE(name() << "::" << __FUNCTION__ << " begin");
133
134 Acts::MagneticFieldContext mctx = getMagneticFieldContext(ctx);
135 const GeometryContext& geo_ctx
136 = m_trackingGeometryTool->getGeometryContext(ctx);
137 auto anygctx = geo_ctx.context();
138
139 PropagationOutput output;
140
141 auto res = boost::apply_visitor([&](const auto& propagator) -> Acts::Result<ExtrapolationTool::PropagationOutput> {
142 using Propagator = std::decay_t<decltype(propagator)>;
143
144 // Action list and abort list
145 using ActorList =
146 Acts::ActorList<SteppingLogger, Acts::MaterialInteractor, EndOfWorld>;
147 using Options = typename Propagator::template Options<ActorList>;
148
149 Options options = prepareOptions<Options>(anygctx, mctx, startParameters, navDir, pathLimit);
150
151 auto result = propagator.propagate(startParameters, options);
152 if (!result.ok()) {
153 return result.error();
154 }
155 auto& propRes = *result;
156
157 auto steppingResults = propRes.template get<SteppingLogger::result_type>();
158 auto materialResult = propRes.template get<Acts::MaterialInteractor::result_type>();
159 output.first = std::move(steppingResults.steps);
160 output.second = std::move(materialResult);
161 // try to force return value optimization, not sure this is necessary
162 return std::move(output);
163 }, *m_varProp);
164
165 if (!res.ok()) {
166 ATH_MSG_DEBUG("Got error during propagation: "
167 << res.error() << " " << res.error().message()
168 << ". Returning empty step vector.");
169 return res.error();
170 }
171 output = std::move(*res);
172
173 ATH_MSG_VERBOSE("Collected " << output.first.size() << " steps");
174 if(output.first.size() == 0) {
175 ATH_MSG_WARNING("ZERO steps returned by stepper, that is not typically a good sign");
176 }
177
178 ATH_MSG_VERBOSE(name() << "::" << __FUNCTION__ << " end");
179
180 return output;
181}
#define ATH_MSG_WARNING(x)
std::pair< std::vector< unsigned int >, bool > res
output
Definition merge.py:16

◆ propagationSteps() [2/2]

Acts::Result< ExtrapolationTool::PropagationOutput > ActsTrk::ExtrapolationTool::propagationSteps ( const EventContext & ctx,
const Acts::BoundTrackParameters & startParameters,
const Acts::Surface & target,
Acts::Direction navDir = Acts::Direction::Forward(),
double pathLimit = std::numeric_limits<double>::max() ) const
overridevirtual

Definition at line 225 of file ExtrapolationTool.cxx.

230{
231 ATH_MSG_VERBOSE(name() << "::" << __FUNCTION__ << " begin");
232
233 PropagationOutput output;
234
235 Acts::MagneticFieldContext mctx = getMagneticFieldContext(ctx);
236 const GeometryContext& geo_ctx
237 = m_trackingGeometryTool->getGeometryContext(ctx);
238 auto anygctx = geo_ctx.context();
239
240 auto res = boost::apply_visitor([&](const auto& propagator) -> Acts::Result<ExtrapolationTool::PropagationOutput> {
241 using Propagator = std::decay_t<decltype(propagator)>;
242
243 // Action list and abort list
244 using ActorList =
245 Acts::ActorList<SteppingLogger, Acts::MaterialInteractor>;
246 using Options = typename Propagator::template Options<ActorList>;
247
248 Options options = prepareOptions<Options>(anygctx, mctx, startParameters, navDir, pathLimit);
249 auto result = target.type() == Acts::Surface::Perigee ?
250 propagator.template propagate<Acts::BoundTrackParameters, Options,
251 Acts::ForcedSurfaceReached, Acts::PathLimitReached>(startParameters, target, options) :
252 propagator.template propagate<Acts::BoundTrackParameters, Options,
253 Acts::SurfaceReached, Acts::PathLimitReached>(startParameters, target, options);
254
255
256 if (!result.ok()) {
257 return result.error();
258 }
259 auto& propRes = *result;
260
261 auto steppingResults = propRes.template get<SteppingLogger::result_type>();
262 auto materialResult = propRes.template get<Acts::MaterialInteractor::result_type>();
263 output.first = std::move(steppingResults.steps);
264 output.second = std::move(materialResult);
265 return std::move(output);
266 }, *m_varProp);
267
268 if (!res.ok()) {
269 ATH_MSG_DEBUG("Got error during propagation:" << res.error()
270 << ". Returning empty step vector.");
271 return res.error();
272 }
273 output = std::move(*res);
274
275 ATH_MSG_VERBOSE("Collected " << output.first.size() << " steps");
276 ATH_MSG_VERBOSE(name() << "::" << __FUNCTION__ << " end");
277
278 return output;
279}

Member Data Documentation

◆ m_constantFieldVector

Gaudi::Property<std::vector<double> > ActsTrk::ExtrapolationTool::m_constantFieldVector {this, "ConstantFieldVector", {0, 0, 0}, "Constant field value to use if FieldMode == Constant"}
private

Definition at line 110 of file ExtrapolationTool.h.

110{this, "ConstantFieldVector", {0, 0, 0}, "Constant field value to use if FieldMode == Constant"};

◆ m_fieldCacheCondObjInputKey

SG::ReadCondHandleKey<AtlasFieldCacheCondObj> ActsTrk::ExtrapolationTool::m_fieldCacheCondObjInputKey {this, "AtlasFieldCacheCondObj", "fieldCondObj", "Name of the Magnetic Field conditions object key"}
private

Definition at line 105 of file ExtrapolationTool.h.

105{this, "AtlasFieldCacheCondObj", "fieldCondObj", "Name of the Magnetic Field conditions object key"};

◆ m_fieldMode

Gaudi::Property<std::string> ActsTrk::ExtrapolationTool::m_fieldMode {this, "FieldMode", "ATLAS", "Either ATLAS or Constant or StraightLine"}
private

Definition at line 109 of file ExtrapolationTool.h.

109{this, "FieldMode", "ATLAS", "Either ATLAS or Constant or StraightLine"};

◆ m_interactionEloss

Gaudi::Property<bool> ActsTrk::ExtrapolationTool::m_interactionEloss {this, "InteractionEloss", false, "Whether to consider energy loss in the interactor"}
private

Definition at line 121 of file ExtrapolationTool.h.

121{this, "InteractionEloss", false, "Whether to consider energy loss in the interactor"};

◆ m_interactionMultiScatering

Gaudi::Property<bool> ActsTrk::ExtrapolationTool::m_interactionMultiScatering {this, "InteractionMultiScatering", false, "Whether to consider multiple scattering in the interactor"}
private

Definition at line 120 of file ExtrapolationTool.h.

120{this, "InteractionMultiScatering", false, "Whether to consider multiple scattering in the interactor"};

◆ m_interactionRecord

Gaudi::Property<bool> ActsTrk::ExtrapolationTool::m_interactionRecord {this, "InteractionRecord", false, "Whether to record all material interactions"}
private

Definition at line 122 of file ExtrapolationTool.h.

122{this, "InteractionRecord", false, "Whether to record all material interactions"};

◆ m_logger

std::unique_ptr<const Acts::Logger> ActsTrk::ExtrapolationTool::m_logger {nullptr}
private

Definition at line 103 of file ExtrapolationTool.h.

103{nullptr};

◆ m_maxStep

Gaudi::Property<unsigned> ActsTrk::ExtrapolationTool::m_maxStep {this, "MaxSteps", 100000, "Max number of steps"}
private

Definition at line 114 of file ExtrapolationTool.h.

114{this, "MaxSteps", 100000, "Max number of steps"};

◆ m_maxStepSize

Gaudi::Property<double> ActsTrk::ExtrapolationTool::m_maxStepSize {this, "MaxStepSize", 10, "Max step size in Acts m unit"}
private

Definition at line 113 of file ExtrapolationTool.h.

113{this, "MaxStepSize", 10, "Max step size in Acts m unit"};

◆ m_maxSurfSkip

Gaudi::Property<unsigned> ActsTrk::ExtrapolationTool::m_maxSurfSkip {this, "MaxSurfaceSkip" ,100, "Maximum number of surfaces to be tried by the navigator"}
private

Definition at line 115 of file ExtrapolationTool.h.

115{this, "MaxSurfaceSkip" ,100, "Maximum number of surfaces to be tried by the navigator"};

◆ m_pathLimit

Gaudi::Property<unsigned> ActsTrk::ExtrapolationTool::m_pathLimit {this, "PathLimit", 50, "Maximum path length to be considered during propagation in Acts m unit"}
private

Definition at line 118 of file ExtrapolationTool.h.

118{this, "PathLimit", 50, "Maximum path length to be considered during propagation in Acts m unit"};

◆ m_ptLoopers

Gaudi::Property<double> ActsTrk::ExtrapolationTool::m_ptLoopers {this, "PtLoopers", 300, "PT loop protection threshold. Will be converted to Acts MeV unit"}
private

Definition at line 112 of file ExtrapolationTool.h.

112{this, "PtLoopers", 300, "PT loop protection threshold. Will be converted to Acts MeV unit"};

◆ m_surfTolerance

Gaudi::Property<double> ActsTrk::ExtrapolationTool::m_surfTolerance
private
Initial value:
{this, "OnSurfaceTolerance", Acts::s_onSurfaceTolerance,
"Tolerance to consider track parameters on surface"}

Definition at line 116 of file ExtrapolationTool.h.

116 {this, "OnSurfaceTolerance", Acts::s_onSurfaceTolerance,
117 "Tolerance to consider track parameters on surface"};

◆ m_trackingGeometryTool

PublicToolHandle<ActsTrk::ITrackingGeometryTool> ActsTrk::ExtrapolationTool::m_trackingGeometryTool {this, "TrackingGeometryTool", "ActsTrackingGeometryTool"}
private

Definition at line 107 of file ExtrapolationTool.h.

107{this, "TrackingGeometryTool", "ActsTrackingGeometryTool"};

◆ m_varProp

std::unique_ptr<const ActsExtrapolationDetail::VariantPropagator> ActsTrk::ExtrapolationTool::m_varProp
private

Definition at line 102 of file ExtrapolationTool.h.


The documentation for this class was generated from the following files: