ATLAS Offline Software
PRDtoTrackMapTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRK_PRDtoTrackMapTool_H
6 #define TRK_PRDtoTrackMapTool_H
7 
10 #include "GaudiKernel/ServiceHandle.h"
11 
14 
15 #include <set>
16 #include <map>
17 
18 namespace Trk {
19 
20  class Track;
21  class PrepRawData;
22 
24  class PRDtoTrackMapTool final
25  : public extends<AthAlgTool, IPRDtoTrackMapTool> {
26 
27  public:
28  PRDtoTrackMapTool(const std::string&,const std::string&,const IInterface*);
29  virtual ~PRDtoTrackMapTool()=default;
30  virtual StatusCode initialize() override;
31 
32  virtual
33  std::unique_ptr<Trk::PRDtoTrackMap> createPRDtoTrackMap() const override;
34  virtual
35  std::unique_ptr<Trk::PRDtoTrackMap> reduceToStorableMap(std::unique_ptr<Trk::PRDtoTrackMap> &&obj_in) const override;
36 
39  StatusCode addPRDs(Trk::PRDtoTrackMap &virt_prd_to_track_map, const Trk::Track& track ) const override;
40 
48  virtual std::vector< const PrepRawData* > getPrdsOnTrack(Trk::PRDtoTrackMap &virt_prd_to_track_map,
49  const Track& track) const override;
50 
51 
53  const Track& track) const override ;
54 
56  {
57  friend class PRDtoTrackMapTool;
58  public:
59  const std::type_info& getType() const override {return typeid(PRDtoTrackMap); }
60  };
61 
62  private:
63  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
64  protected:
65  void ensureType(Trk::PRDtoTrackMap &virt_prd_to_track_map) const ;
66  };
67 }
68 #endif
PRDtoTrackMap.h
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
Trk::PRDtoTrackMap
Definition: PRDtoTrackMap.h:17
Trk::PRDtoTrackMap::PRDtoTrackMap
PRDtoTrackMap()=default
Trk::PRDtoTrackMapTool::PRDtoTrackMap
Definition: PRDtoTrackMapTool.h:56
Trk::PRDtoTrackMapTool::PRDtoTrackMap::getType
const std::type_info & getType() const override
Definition: PRDtoTrackMapTool.h:59
Trk::PRDtoTrackMapTool::~PRDtoTrackMapTool
virtual ~PRDtoTrackMapTool()=default
Trk::IPRDtoTrackMapTool::TrackSet
std::set< const Track * > TrackSet
Definition: IPRDtoTrackMapTool.h:42
Trk::PRDtoTrackMapTool::ensureType
void ensureType(Trk::PRDtoTrackMap &virt_prd_to_track_map) const
Definition: PRDtoTrackMapTool.cxx:36
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
Trk::PRDtoTrackMapTool::PRDtoTrackMapTool
PRDtoTrackMapTool(const std::string &, const std::string &, const IInterface *)
Definition: PRDtoTrackMapTool.cxx:16
Trk::PRDtoTrackMapTool::initialize
virtual StatusCode initialize() override
Definition: PRDtoTrackMapTool.cxx:23
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::PRDtoTrackMapTool::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: PRDtoTrackMapTool.h:63
Trk::PRDtoTrackMapTool
Concrete Implementation of the IPRD_AssociationTool interface.
Definition: PRDtoTrackMapTool.h:25
IPRDtoTrackMapTool.h
Trk::PRDtoTrackMapTool::reduceToStorableMap
virtual std::unique_ptr< Trk::PRDtoTrackMap > reduceToStorableMap(std::unique_ptr< Trk::PRDtoTrackMap > &&obj_in) const override
Definition: PRDtoTrackMapTool.cxx:32
Trk::PRDtoTrackMapTool::createPRDtoTrackMap
virtual std::unique_ptr< Trk::PRDtoTrackMap > createPRDtoTrackMap() const override
Definition: PRDtoTrackMapTool.cxx:28
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
Trk::PRDtoTrackMapTool::findConnectedTracks
virtual IPRDtoTrackMapTool::TrackSet findConnectedTracks(Trk::PRDtoTrackMap &virt_prd_to_track_map, const Track &track) const override
Definition: PRDtoTrackMapTool.cxx:77
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
Trk::PRDtoTrackMapTool::addPRDs
StatusCode addPRDs(Trk::PRDtoTrackMap &virt_prd_to_track_map, const Trk::Track &track) const override
add the PRDs from this track to the store
Definition: PRDtoTrackMapTool.cxx:47
IMuonIdHelperSvc.h
Trk::PRDtoTrackMapTool::getPrdsOnTrack
virtual std::vector< const PrepRawData * > getPrdsOnTrack(Trk::PRDtoTrackMap &virt_prd_to_track_map, const Track &track) const override
returns a vector of PRDs belonging to the passed track.
Definition: PRDtoTrackMapTool.cxx:109
ServiceHandle< Muon::IMuonIdHelperSvc >