ATLAS Offline Software
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 
13 class AtlasDetectorID;
14 class Identifier;
15 
16 static const InterfaceID IID_IPRDtoTrackMapTool("Trk::IPRDtoTrackMapTool", 1, 0);
17 
18 namespace Trk {
19 
20  class Track;
21  class PrepRawData;
22  class PRDtoTrackMap;
23 
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
PRDtoTrackMap.h
Trk::IPRDtoTrackMapTool::reduceToStorableMap
virtual std::unique_ptr< Trk::PRDtoTrackMap > reduceToStorableMap(std::unique_ptr< Trk::PRDtoTrackMap > &&obj_in) const =0
Return an object which is storeable.
Trk::IPRDtoTrackMapTool::getPrdsOnTrack
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.
Trk::IPRDtoTrackMapTool::findConnectedTracks
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 ...
Trk::PRDtoTrackMap
Definition: PRDtoTrackMap.h:17
Trk::IPRDtoTrackMapTool::addPRDs
virtual StatusCode addPRDs(Trk::PRDtoTrackMap &prd_to_track_map, const Track &track) const =0
Add the PRDs from this track to the store.
Trk::IPRDtoTrackMapTool::DeclareInterfaceID
DeclareInterfaceID(IPRDtoTrackMapTool, 1, 0)
Trk::IPRDtoTrackMapTool::TrackSet
std::set< const Track * > TrackSet
Definition: IPRDtoTrackMapTool.h:42
Trk::IPRDtoTrackMapTool::createPRDtoTrackMap
virtual std::unique_ptr< Trk::PRDtoTrackMap > createPRDtoTrackMap() const =0
Create a structure which holds the PRD to track map.
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
Trk::IPRDtoTrackMapTool
Interface for handling the mapping between Trk::Track and Trk::PrepRawData.
Definition: IPRDtoTrackMapTool.h:38
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57