ATLAS Offline Software
MuonTrackToSegmentTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUON_MUONTRACKTOSEGMENTTOOL_H
6 #define MUON_MUONTRACKTOSEGMENTTOOL_H
7 
8 #include <vector>
9 
11 #include "GaudiKernel/ServiceHandle.h"
12 #include "GaudiKernel/ToolHandle.h"
20 
21 namespace Trk {
22  class Track;
23  class MeasurementBase;
24 } // namespace Trk
25 
26 namespace Muon {
27  class MuonSegment;
28 }
29 
30 namespace Muon {
31 
41  public:
42  using MeasVec = std::vector<const Trk::MeasurementBase*>;
43 
45  MuonTrackToSegmentTool(const std::string&, const std::string&, const IInterface*);
46 
49 
52 
54  MuonSegment* convert(const EventContext& ctx, const Trk::Track& track) const;
55 
56  private:
58  std::vector<Identifier> calculateHoles(const EventContext& ctx, const Identifier& chid, const Trk::TrackParameters& pars,
59  const MeasVec& measurements) const;
60 
61 
62  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
64  this, "edmHelper", "Muon::MuonEDMHelperSvc/MuonEDMHelperSvc",
65  "Handle to the service providing the IMuonEDMHelperSvc interface"}; //<! multipurpose helper tool
66 
67  PublicToolHandle<MuonEDMPrinterTool> m_printer{this, "EDMPrinter", "Muon::MuonEDMPrinterTool/MuonEDMPrinterTool",
68  "helper to nicely print out tracks"};
69  ToolHandle<Trk::IPropagator> m_propagator{this, "Propagator", "Trk::RungeKuttaPropagator/AtlasRungeKuttaPropagator"};
70 
71  SG::ReadCondHandleKey<Muon::MuonIntersectGeoData> m_chamberGeoKey{this, "ChamberGeoKey", "MuonStationIntersects", "Pointer to hole search service"};
72 
73  };
74 
75 } // namespace Muon
76 
77 #endif
make_hlt_rep.pars
pars
Definition: make_hlt_rep.py:90
Muon::MuonTrackToSegmentTool::m_propagator
ToolHandle< Trk::IPropagator > m_propagator
Definition: MuonTrackToSegmentTool.h:69
TrackParameters.h
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
MuonEDMPrinterTool.h
Muon::MuonTrackToSegmentTool::MuonTrackToSegmentTool
MuonTrackToSegmentTool(const std::string &, const std::string &, const IInterface *)
default AlgTool constructor
Definition: MuonTrackToSegmentTool.cxx:23
IPropagator.h
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
xAOD::MuonSegment
MuonSegment_v1 MuonSegment
Reference the current persistent version:
Definition: Event/xAOD/xAODMuon/xAODMuon/MuonSegment.h:13
MuonIntersectGeoData.h
Muon::MuonTrackToSegmentTool::convert
MuonSegment * convert(const EventContext &ctx, const Trk::Track &track) const
convert track to segment
Definition: MuonTrackToSegmentTool.cxx:36
Muon::MuonTrackToSegmentTool
Definition: MuonTrackToSegmentTool.h:40
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
Muon::MuonTrackToSegmentTool::m_chamberGeoKey
SG::ReadCondHandleKey< Muon::MuonIntersectGeoData > m_chamberGeoKey
Definition: MuonTrackToSegmentTool.h:71
Muon::MuonTrackToSegmentTool::m_printer
PublicToolHandle< MuonEDMPrinterTool > m_printer
Definition: MuonTrackToSegmentTool.h:67
Trk::ParametersBase
Definition: ParametersBase.h:55
Muon::MuonTrackToSegmentTool::~MuonTrackToSegmentTool
~MuonTrackToSegmentTool()=default
destructor
Muon::MuonTrackToSegmentTool::m_edmHelperSvc
ServiceHandle< IMuonEDMHelperSvc > m_edmHelperSvc
Definition: MuonTrackToSegmentTool.h:63
IMuonEDMHelperSvc.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Muon::MuonTrackToSegmentTool::MeasVec
std::vector< const Trk::MeasurementBase * > MeasVec
Definition: MuonTrackToSegmentTool.h:42
Muon::IMuonTrackToSegmentTool
The IMuonSegmentMaker is a pure virtual interface for tools to find tracks starting from MuonSegmentC...
Definition: IMuonTrackToSegmentTool.h:23
SG::ReadCondHandleKey< Muon::MuonIntersectGeoData >
Muon::MuonTrackToSegmentTool::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MuonTrackToSegmentTool.h:62
IMuonTrackToSegmentTool.h
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
Muon::MuonTrackToSegmentTool::initialize
StatusCode initialize()
initialize method, method taken from bass-class AlgTool
Definition: MuonTrackToSegmentTool.cxx:27
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
Muon::MuonSegment
Definition: MuonSpectrometer/MuonReconstruction/MuonRecEvent/MuonSegment/MuonSegment/MuonSegment.h:45
AthAlgTool
Definition: AthAlgTool.h:26
IMuonIdHelperSvc.h
Muon::MuonTrackToSegmentTool::calculateHoles
std::vector< Identifier > calculateHoles(const EventContext &ctx, const Identifier &chid, const Trk::TrackParameters &pars, const MeasVec &measurements) const
calculate holes
Definition: MuonTrackToSegmentTool.cxx:210
ServiceHandle< Muon::IMuonIdHelperSvc >