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 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 std::optional< 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 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 std::optional< 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 Types

using SteppingLogger = Acts::detail::SteppingLogger
using EndOfWorld = Acts::EndOfWorldReached
using ResultType = Acts::Result<PropagationOutput>

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.

Member Typedef Documentation

◆ EndOfWorld

using ActsTrk::ExtrapolationTool::EndOfWorld = Acts::EndOfWorldReached
private

Definition at line 69 of file ExtrapolationTool.h.

◆ ResultType

using ActsTrk::ExtrapolationTool::ResultType = Acts::Result<PropagationOutput>
private

Definition at line 70 of file ExtrapolationTool.h.

◆ SteppingLogger

using ActsTrk::ExtrapolationTool::SteppingLogger = Acts::detail::SteppingLogger
private

Definition at line 68 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 319 of file ExtrapolationTool.cxx.

319 {
320 const AtlasFieldCacheCondObj* fieldCondObj{nullptr};
321 if (!SG::get(fieldCondObj,m_fieldCacheCondObjInputKey, ctx).isSuccess()) {
322 throw std::runtime_error("Failed to retrieve conditions data from "+m_fieldCacheCondObjInputKey.key() + ".");
323 }
324 return Acts::MagneticFieldContext{fieldCondObj};
325}
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 70 of file ExtrapolationTool.cxx.

71{
72
73
74 ATH_MSG_INFO("Initializing ACTS extrapolation");
75
77
79
80 Acts::Navigator::Config navConfig{m_trackingGeometryTool->trackingGeometry()};
81 Acts::Navigator navigator{std::move(navConfig), logger().clone()};
82
84 if (m_fieldMode == "ATLAS") {
85 ATH_MSG_INFO("Using ATLAS magnetic field service");
86
87 auto bField = std::make_shared<ATLASMagneticFieldWrapper>();
88
89 CurvedStepper_t stepper{std::move(bField)};
90 CurvedPropagator_t propagator{std::move(stepper), std::move(navigator),
91 logger().clone()};
92 m_varProp = std::make_unique<VariantPropagator>(propagator);
93 }
94 else if (m_fieldMode == "Constant") {
95 if (m_constantFieldVector.value().size() != 3)
96 {
97 ATH_MSG_ERROR("Incorrect field vector size. Using empty field.");
98 return StatusCode::FAILURE;
99 }
100
101 Acts::Vector3 constantFieldVector = Acts::Vector3(m_constantFieldVector[0],
104
105 ATH_MSG_INFO("Using constant magnetic field: (Bx, By, Bz) = "
106 <<Amg::toString(constantFieldVector));
107
108 auto bField = std::make_shared<Acts::ConstantBField>(constantFieldVector);
109 CurvedStepper_t stepper{std::move(bField)};
110 CurvedPropagator_t propagator{std::move(stepper), std::move(navigator), logger().clone()};
111 m_varProp = std::make_unique<VariantPropagator>(propagator);
112 } else if (m_fieldMode == "StraightLine") {
113 Acts::StraightLineStepper stepper{};
114 StraightPropagator_t propagator{stepper, std::move(navigator), logger().clone()};
115 m_varProp = std::make_unique<VariantPropagator>(propagator);
116 } else {
117 ATH_MSG_FATAL("Invalid mode provided "<<m_fieldMode<<". Allowed : \"ATLAS\", \"Constant\", \"StraightLine\".");
118 return StatusCode::FAILURE;
119 }
120
121 ATH_MSG_INFO("ACTS extrapolation successfully initialized");
122 return StatusCode::SUCCESS;
123}
#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 108 of file ExtrapolationTool.h.

108{ 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 328 of file ExtrapolationTool.cxx.

332 {
333 using namespace Acts::UnitLiterals;
334 OptionsType options(gctx, mctx);
335
336 options.pathLimit = pathLimit;
337 options.loopProtection
338 = (Acts::VectorHelpers::perp(startParameters.momentum())
339 < m_ptLoopers * 1_MeV);
340 options.maxSteps = m_maxStep;
341 options.direction = navDir;
342 options.stepping.maxStepSize = m_maxStepSize * 1_m;
343 options.maxTargetSkipping = m_maxSurfSkip;
344 options.surfaceTolerance = m_surfTolerance;
345 options.pathLimit = m_pathLimit * 1_m;
346 auto& mInteractor = options.actorList.template get<Acts::MaterialInteractor>();
347 mInteractor.multipleScattering = m_interactionMultiScatering;
348 mInteractor.energyLoss = m_interactionEloss;
349 mInteractor.recordInteractions = m_interactionRecord;
350 return options;
351}
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]

std::optional< 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 187 of file ExtrapolationTool.cxx.

191{
192 ATH_MSG_VERBOSE(name() << "::" << __FUNCTION__ << " begin");
193
194 Acts::MagneticFieldContext mctx = getMagneticFieldContext(ctx);
195 const GeometryContext& geo_ctx
196 = m_trackingGeometryTool->getGeometryContext(ctx);
197 auto anygctx = geo_ctx.context();
198
199 auto parameters = boost::apply_visitor([&](const auto& propagator) -> std::optional<const Acts::BoundTrackParameters> {
200 using Propagator = std::decay_t<decltype(propagator)>;
201
202 // Action list and abort list
203 using ActorList =
204 Acts::ActorList<Acts::MaterialInteractor, EndOfWorld>;
205 using Options = typename Propagator::template Options<ActorList>;
206
207 Options options = prepareOptions<Options>(anygctx, mctx, startParameters, navDir, pathLimit);
208
209
210 auto result = propagator.propagate(startParameters, options);
211 if (!result.ok()) {
212 ATH_MSG_ERROR("Got error during propagation:" << result.error()
213 << ". Returning empty parameters.");
214 return std::nullopt;
215 }
216 return result.value().endParameters;
217 }, *m_varProp);
218
219 return parameters;
220}
#define ATH_MSG_VERBOSE(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]

std::optional< 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 280 of file ExtrapolationTool.cxx.

285{
286
287 ATH_MSG_VERBOSE(name() << "::" << __FUNCTION__ << " begin");
288
289 Acts::MagneticFieldContext mctx = getMagneticFieldContext(ctx);
290 const GeometryContext& geo_ctx
291 = m_trackingGeometryTool->getGeometryContext(ctx);
292 auto anygctx = geo_ctx.context();
293
294 auto parameters = boost::apply_visitor([&](const auto& propagator) -> std::optional<const Acts::BoundTrackParameters> {
295 using Propagator = std::decay_t<decltype(propagator)>;
296
297 // Action list and abort list
298 using ActorList =
299 Acts::ActorList<Acts::MaterialInteractor>;
300 using Options = typename Propagator::template Options<ActorList>;
301
302 Options options = prepareOptions<Options>(anygctx, mctx, startParameters, navDir, pathLimit);
303 auto result = target.type() == Acts::Surface::Perigee ?
304 propagator.template propagate<Acts::BoundTrackParameters, Options,
305 Acts::ForcedSurfaceReached, Acts::PathLimitReached>(startParameters, target, options) :
306 propagator.template propagate<Acts::BoundTrackParameters, Options,
307 Acts::SurfaceReached, Acts::PathLimitReached>(startParameters, target, options);
308 if (!result.ok()) {
309 ATH_MSG_ERROR("Got error during propagation: " << result.error()
310 << ". Returning empty parameters.");
311 return std::nullopt;
312 }
313 return result.value().endParameters;
314 }, *m_varProp);
315
316 return parameters;
317}
virtual std::optional< 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]

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 127 of file ExtrapolationTool.cxx.

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

◆ propagationSteps() [2/2]

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 223 of file ExtrapolationTool.cxx.

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

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 118 of file ExtrapolationTool.h.

118{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 113 of file ExtrapolationTool.h.

113{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 117 of file ExtrapolationTool.h.

117{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 129 of file ExtrapolationTool.h.

129{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 128 of file ExtrapolationTool.h.

128{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 130 of file ExtrapolationTool.h.

130{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 111 of file ExtrapolationTool.h.

111{nullptr};

◆ m_maxStep

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

Definition at line 122 of file ExtrapolationTool.h.

122{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 121 of file ExtrapolationTool.h.

121{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 123 of file ExtrapolationTool.h.

123{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 126 of file ExtrapolationTool.h.

126{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 120 of file ExtrapolationTool.h.

120{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 124 of file ExtrapolationTool.h.

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

◆ m_trackingGeometryTool

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

Definition at line 115 of file ExtrapolationTool.h.

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

◆ m_varProp

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

Definition at line 110 of file ExtrapolationTool.h.


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