ATLAS Offline Software
Loading...
Searching...
No Matches
IPRDtoTrackMapTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef _Trk_IPRDtoTrackMapTool_h_
6#define _Trk_IPRDtoTrackMapTool_h_
7
8#include "GaudiKernel/IAlgTool.h"
9#include <map>
10#include <set>
12
13class AtlasDetectorID;
14class Identifier;
15
16static const InterfaceID IID_IPRDtoTrackMapTool("Trk::IPRDtoTrackMapTool", 1, 0);
17
18namespace Trk {
19
20 class Track;
21 class PrepRawData;
22 class PRDtoTrackMap;
23
35
36 //@TODO turn into a service
37 class IPRDtoTrackMapTool : virtual public IAlgTool
38 {
39 public:
42 typedef std::set<const Track*> TrackSet;
43
47 virtual std::unique_ptr<Trk::PRDtoTrackMap> createPRDtoTrackMap() const = 0;
48
53 virtual std::unique_ptr<Trk::PRDtoTrackMap> reduceToStorableMap(std::unique_ptr<Trk::PRDtoTrackMap> &&obj_in) const = 0;
54
56 virtual StatusCode addPRDs(Trk::PRDtoTrackMap &prd_to_track_map, const Track& track) const = 0;
57
65 virtual std::vector< const PrepRawData* > getPrdsOnTrack(Trk::PRDtoTrackMap &prd_to_track_map, const Track& track) const=0;
66
76 virtual TrackSet findConnectedTracks( Trk::PRDtoTrackMap &prd_to_track_map, const Track& track) const =0;
77
78
79 };
80
81}//end of ns
82
83#endif
static const InterfaceID IID_IPRDtoTrackMapTool("Trk::IPRDtoTrackMapTool", 1, 0)
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Interface for handling the mapping between Trk::Track and Trk::PrepRawData.
std::set< const Track * > TrackSet
virtual StatusCode addPRDs(Trk::PRDtoTrackMap &prd_to_track_map, const Track &track) const =0
Add the PRDs from this track to the store.
virtual std::unique_ptr< Trk::PRDtoTrackMap > createPRDtoTrackMap() const =0
Create a structure which holds the PRD to track map.
virtual std::unique_ptr< Trk::PRDtoTrackMap > reduceToStorableMap(std::unique_ptr< Trk::PRDtoTrackMap > &&obj_in) const =0
Return an object which is storeable.
virtual std::vector< const PrepRawData * > getPrdsOnTrack(Trk::PRDtoTrackMap &prd_to_track_map, const Track &track) const =0
returns a vector of PRDs belonging to the passed track.
DeclareInterfaceID(IPRDtoTrackMapTool, 1, 0)
virtual TrackSet findConnectedTracks(Trk::PRDtoTrackMap &prd_to_track_map, const Track &track) const =0
Return transient sets of connected and disconnected tracks, AND remove disconnected tracks from this ...
Ensure that the ATLAS eigen extensions are properly loaded.