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

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

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

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

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

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

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

128{
129
130 ATH_MSG_VERBOSE(name() << "::" << __FUNCTION__ << " begin");
131
132 Acts::MagneticFieldContext mctx = getMagneticFieldContext(ctx);
133 const GeometryContext& geo_ctx
134 = m_trackingGeometryTool->getGeometryContext(ctx);
135 auto anygctx = geo_ctx.context();
136
137 PropagationOutput output;
138
139 auto res = boost::apply_visitor([&](const auto& propagator) -> Acts::Result<ExtrapolationTool::PropagationOutput> {
140 using Propagator = std::decay_t<decltype(propagator)>;
141
142 // Action list and abort list
143 using ActorList =
144 Acts::ActorList<SteppingLogger, Acts::MaterialInteractor, EndOfWorld>;
145 using Options = typename Propagator::template Options<ActorList>;
146
147 Options options = prepareOptions<Options>(anygctx, mctx, startParameters, navDir, pathLimit);
148
149 auto result = propagator.propagate(startParameters, options);
150 if (!result.ok()) {
151 return result.error();
152 }
153 auto& propRes = *result;
154
155 auto steppingResults = propRes.template get<SteppingLogger::result_type>();
156 auto materialResult = propRes.template get<Acts::MaterialInteractor::result_type>();
157 output.first = std::move(steppingResults.steps);
158 output.second = std::move(materialResult);
159 // try to force return value optimization, not sure this is necessary
160 return std::move(output);
161 }, *m_varProp);
162
163 if (!res.ok()) {
164 ATH_MSG_DEBUG("Got error during propagation: "
165 << res.error() << " " << res.error().message()
166 << ". Returning empty step vector.");
167 return res.error();
168 }
169 output = std::move(*res);
170
171 ATH_MSG_VERBOSE("Collected " << output.first.size() << " steps");
172 if(output.first.size() == 0) {
173 ATH_MSG_WARNING("ZERO steps returned by stepper, that is not typically a good sign");
174 }
175
176 ATH_MSG_VERBOSE(name() << "::" << __FUNCTION__ << " end");
177
178 return output;
179}
#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 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) -> Acts::Result<ExtrapolationTool::PropagationOutput> {
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<Options, Acts::ForcedSurfaceReached, Acts::PathLimitReached>(startParameters, target, options) :
249 propagator.template propagate<Options, Acts::SurfaceReached, Acts::PathLimitReached>(startParameters, target, options);
250
251
252 if (!result.ok()) {
253 return result.error();
254 }
255 auto& propRes = *result;
256
257 auto steppingResults = propRes.template get<SteppingLogger::result_type>();
258 auto materialResult = propRes.template get<Acts::MaterialInteractor::result_type>();
259 output.first = std::move(steppingResults.steps);
260 output.second = std::move(materialResult);
261 return std::move(output);
262 }, *m_varProp);
263
264 if (!res.ok()) {
265 ATH_MSG_DEBUG("Got error during propagation:" << res.error()
266 << ". Returning empty step vector.");
267 return res.error();
268 }
269 output = std::move(*res);
270
271 ATH_MSG_VERBOSE("Collected " << output.first.size() << " steps");
272 ATH_MSG_VERBOSE(name() << "::" << __FUNCTION__ << " end");
273
274 return output;
275}

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: