ATLAS Offline Software
Loading...
Searching...
No Matches
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
18namespace Trk {
19
20 class Track;
21 class PrepRawData;
22
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
std::set< const Track * > TrackSet
const std::type_info & getType() const override
virtual IPRDtoTrackMapTool::TrackSet findConnectedTracks(Trk::PRDtoTrackMap &virt_prd_to_track_map, const Track &track) const override
void ensureType(Trk::PRDtoTrackMap &virt_prd_to_track_map) const
virtual std::unique_ptr< Trk::PRDtoTrackMap > createPRDtoTrackMap() const override
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.
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
virtual ~PRDtoTrackMapTool()=default
PRDtoTrackMapTool(const std::string &, const std::string &, const IInterface *)
virtual StatusCode initialize() override
StatusCode addPRDs(Trk::PRDtoTrackMap &virt_prd_to_track_map, const Trk::Track &track) const override
add the PRDs from this track to the store
virtual std::unique_ptr< Trk::PRDtoTrackMap > reduceToStorableMap(std::unique_ptr< Trk::PRDtoTrackMap > &&obj_in) const override
PRDtoTrackMap()=default
Ensure that the ATLAS eigen extensions are properly loaded.