ATLAS Offline Software
ExtendTrackToLayerTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGEFMISSINGET_EXTENDTRACKTOLAYERTOOL_H
6 #define TRIGEFMISSINGET_EXTENDTRACKTOLAYERTOOL_H
7 
9 #include "AsgTools/AsgTool.h"
10 #include "AsgTools/ToolHandle.h"
12 #include "CaloGeoHelpers/CaloSampling.h"
13 
21 {
22 public:
24 
25  ExtendTrackToLayerTool(const std::string &name);
26 
27  virtual StatusCode initialize() override;
28 
30  const EventContext& ctx,
31  const xAOD::TrackParticle &track) const override;
32 private:
33  ToolHandle<Trk::IParticleCaloExtensionTool> m_extensionTool{
34  this, "ExtensionTool", "", "The track extension tool"};
35  Gaudi::Property<std::vector<std::string>> m_caloLayerNames{
36  this, "CaloLayerNames", {"EMB2", "EME2"}, "The (ordered) names of layers to which to extend."};
37 
38  // Internals
40  std::vector<CaloSampling::CaloSample> m_caloLayers;
41 }; //> end class ExtendTrackToLayerTool
42 
43 #endif //> !TRIGEFMISSINGET_EXTENDTRACKTOLAYERTOOL_H
IExtendTrackToLayerTool
Definition: IExtendTrackToLayerTool.h:14
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
IExtendTrackToLayerTool.h
ExtendTrackToLayerTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: ExtendTrackToLayerTool.cxx:12
ExtendTrackToLayerTool::ExtendTrackToLayerTool
ExtendTrackToLayerTool(const std::string &name)
Definition: ExtendTrackToLayerTool.cxx:8
IExtendTrackToLayerTool::TrackExtension
Helper struct to hold track extrapolation information.
Definition: IExtendTrackToLayerTool.h:27
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ExtendTrackToLayerTool::extendTrack
virtual TrackExtension extendTrack(const EventContext &ctx, const xAOD::TrackParticle &track) const override
Extend the track to a given layer.
Definition: ExtendTrackToLayerTool.cxx:39
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
IParticleCaloExtensionTool.h
ExtendTrackToLayerTool::m_extensionTool
ToolHandle< Trk::IParticleCaloExtensionTool > m_extensionTool
Definition: ExtendTrackToLayerTool.h:33
ExtendTrackToLayerTool::m_caloLayerNames
Gaudi::Property< std::vector< std::string > > m_caloLayerNames
Definition: ExtendTrackToLayerTool.h:35
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
ToolHandle.h
AsgTool.h
ExtendTrackToLayerTool
Extrapolate tracks using the calo extension tool.
Definition: ExtendTrackToLayerTool.h:21
ExtendTrackToLayerTool::ASG_TOOL_CLASS
ASG_TOOL_CLASS(ExtendTrackToLayerTool, IExtendTrackToLayerTool)
ExtendTrackToLayerTool::m_caloLayers
std::vector< CaloSampling::CaloSample > m_caloLayers
The calo layer enums.
Definition: ExtendTrackToLayerTool.h:40