ATLAS Offline Software
Public Types | Public Member Functions | List of all members
Trk::IPRDtoTrackMapTool Class Referenceabstract

Interface for handling the mapping between Trk::Track and Trk::PrepRawData. More...

#include <IPRDtoTrackMapTool.h>

Inheritance diagram for Trk::IPRDtoTrackMapTool:
Collaboration diagram for Trk::IPRDtoTrackMapTool:

Public Types

typedef std::set< const Track * > TrackSet
 

Public Member Functions

 DeclareInterfaceID (IPRDtoTrackMapTool, 1, 0)
 
virtual std::unique_ptr< Trk::PRDtoTrackMapcreatePRDtoTrackMap () const =0
 Create a structure which holds the PRD to track map. More...
 
virtual std::unique_ptr< Trk::PRDtoTrackMapreduceToStorableMap (std::unique_ptr< Trk::PRDtoTrackMap > &&obj_in) const =0
 Return an object which is storeable. More...
 
virtual StatusCode addPRDs (Trk::PRDtoTrackMap &prd_to_track_map, const Track &track) const =0
 Add the PRDs from this track to the store. More...
 
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. More...
 
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 tool. More...
 

Detailed Description

Interface for handling the mapping between Trk::Track and Trk::PrepRawData.

The tool is used to keep track of a collection of PrepRawData belonging to Tracks. The user is responsible for informing the tool about the Tracks in question, by using :

Once the information is in the store, various methods can be used to query the relationship between tracks and the prep raw data - for example, isShared().

Currently, reset() should be used to clear the tool before use.

Author
Edwar.nosp@m.d.Mo.nosp@m.yse@c.nosp@m.ern..nosp@m.ch

Definition at line 37 of file IPRDtoTrackMapTool.h.

Member Typedef Documentation

◆ TrackSet

Definition at line 42 of file IPRDtoTrackMapTool.h.

Member Function Documentation

◆ addPRDs()

virtual StatusCode Trk::IPRDtoTrackMapTool::addPRDs ( Trk::PRDtoTrackMap prd_to_track_map,
const Track track 
) const
pure virtual

Add the PRDs from this track to the store.

◆ createPRDtoTrackMap()

virtual std::unique_ptr<Trk::PRDtoTrackMap> Trk::IPRDtoTrackMapTool::createPRDtoTrackMap ( ) const
pure virtual

Create a structure which holds the PRD to track map.

@TODO should take event context as an argument.

◆ DeclareInterfaceID()

Trk::IPRDtoTrackMapTool::DeclareInterfaceID ( IPRDtoTrackMapTool  ,
,
 
)

◆ findConnectedTracks()

virtual TrackSet Trk::IPRDtoTrackMapTool::findConnectedTracks ( Trk::PRDtoTrackMap prd_to_track_map,
const Track track 
) const
pure virtual

Return transient sets of connected and disconnected tracks, AND remove disconnected tracks from this tool.

i.e. get (transient) set of tracks which share/don't share PrepRawData, and remove those tracks that are disconnected from this tool's caches.

Returns
transient set of connected and disconnected tracks. NB the sets are returned by reference for speed, but they will be reset each time this method is called (whether in your algorithm or that of another), hence they are transient. You MUST copy them if you need them to have an extended lifetime.

◆ getPrdsOnTrack()

virtual std::vector< const PrepRawData* > Trk::IPRDtoTrackMapTool::getPrdsOnTrack ( Trk::PRDtoTrackMap prd_to_track_map,
const Track track 
) const
pure virtual

returns a vector of PRDs belonging to the passed track.

It's basically for the convenience of users and is created purely from the passed track. i.e. there is no caching if you do it multiple times on the same track, you're being inefficient!!

Parameters
trackwill be iterated through and all PrepRawData added to a vector
Returns
vector of PrepRawData* belonging to 'track'. The PrepRawData must NOT be deleted - they belong to the Track (and thus the event).

◆ reduceToStorableMap()

virtual std::unique_ptr<Trk::PRDtoTrackMap> Trk::IPRDtoTrackMapTool::reduceToStorableMap ( std::unique_ptr< Trk::PRDtoTrackMap > &&  obj_in) const
pure virtual

Return an object which is storeable.

May create a new object which is stripped off data that is not to be stored.


The documentation for this class was generated from the following file: