ATLAS Offline Software
|
Interface for handling the mapping between Trk::Track and Trk::PrepRawData. More...
#include <IPRD_AssociationTool.h>
Classes | |
struct | Maps |
The mutable state of the tool. More... | |
Public Types | |
using | PrepRawDataTrackMap = PRDtoTrackMap::PrepRawDataTrackMap |
using | PRD_MapIt = PrepRawDataTrackMap::iterator |
using | ConstPRD_MapIt = PrepRawDataTrackMap::const_iterator |
using | PrepRawDataTrackMapRange = std::pair< ConstPRD_MapIt, ConstPRD_MapIt > |
the first element is the beginning iterator of the range, the second is the end More... | |
using | TrackPrepRawDataMap = PRDtoTrackMap::TrackPrepRawDataMap |
typedef std::set< const Track * > | TrackSet |
Public Member Functions | |
DeclareInterfaceID (IPRD_AssociationTool, 1, 0) | |
virtual StatusCode | addPRDs (Maps &maps, const Track &track) const =0 |
add the PRDs from this track to maps More... | |
virtual StatusCode | addPRDs (const Track &track)=0 |
add the PRDs from this track to the store More... | |
virtual StatusCode | removePRDs (Maps &maps, const Track &track) const =0 |
remove the PRDs from this track from the maps More... | |
virtual StatusCode | removePRDs (const Track &track)=0 |
remove the PRDs from this track from the store More... | |
virtual bool | isUsed (const Maps &maps, const PrepRawData &prd) const =0 |
does this PRD belong to at least one track in maps? More... | |
virtual bool | isUsed (const PrepRawData &prd) const =0 |
does this PRD belong to at least one track? More... | |
virtual bool | isShared (const Maps &maps, const PrepRawData &prd) const =0 |
does this PRD belong to more than one track in maps? More... | |
virtual bool | isShared (const PrepRawData &prd) const =0 |
does this PRD belong to more than one track? More... | |
virtual std::vector< const PrepRawData * > | getPrdsOnTrack (const Track &track) const =0 |
returns a vector of PRDs belonging to the passed track. More... | |
virtual std::vector< const PrepRawData * > | getPrdsOnTrack (const Maps &maps, const Track &track) const =0 |
virtual TrackSet | findConnectedTracks (const Track &track) const =0 |
Return transient sets of connected and disconnected tracks, AND remove disconnected tracks from this tool. More... | |
virtual TrackSet | findConnectedTracks (const Maps &maps, const Track &track) const =0 |
virtual PrepRawDataTrackMapRange | onTracks (const PrepRawData &prd) const =0 |
get the Tracks associated with this PrepRawData. More... | |
virtual PrepRawDataTrackMapRange | onTracks (const Maps &maps, const PrepRawData &prd) const =0 |
virtual void | reset ()=0 |
this may well go, but at the moment it resets the tool More... | |
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.
Definition at line 36 of file IPRD_AssociationTool.h.
using Trk::IPRD_AssociationTool::ConstPRD_MapIt = PrepRawDataTrackMap::const_iterator |
Definition at line 45 of file IPRD_AssociationTool.h.
using Trk::IPRD_AssociationTool::PRD_MapIt = PrepRawDataTrackMap::iterator |
Definition at line 44 of file IPRD_AssociationTool.h.
Definition at line 43 of file IPRD_AssociationTool.h.
using Trk::IPRD_AssociationTool::PrepRawDataTrackMapRange = std::pair<ConstPRD_MapIt, ConstPRD_MapIt> |
the first element is the beginning iterator of the range, the second is the end
Definition at line 48 of file IPRD_AssociationTool.h.
Definition at line 49 of file IPRD_AssociationTool.h.
typedef std::set<const Track*> Trk::IPRD_AssociationTool::TrackSet |
Definition at line 52 of file IPRD_AssociationTool.h.
add the PRDs from this track to the store
|
pure virtual |
add the PRDs from this track to maps
Trk::IPRD_AssociationTool::DeclareInterfaceID | ( | IPRD_AssociationTool | , |
1 | , | ||
0 | |||
) |
|
pure virtual |
|
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.
|
pure virtual |
|
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!!
track | will be iterated through and all PrepRawData added to a vector |
|
pure virtual |
does this PRD belong to more than one track in maps?
prd | the PrepRawData in question |
|
pure virtual |
does this PRD belong to more than one track?
prd | the PrepRawData in question |
|
pure virtual |
does this PRD belong to at least one track in maps?
prd | the PrepRawData in question |
|
pure virtual |
does this PRD belong to at least one track?
prd | the PrepRawData in question |
|
pure virtual |
|
pure virtual |
get the Tracks associated with this PrepRawData.
IMPORTANT: Please use the typedefs IPRD_AssociationTool::PrepRawDataTrackMapRange and IPRD_AssociationTool::ConstPRD_MapIt to access the tracks, as the internal representation may change.
remove the PRDs from this track from the store
track | all PRDs from 'track' will be removed from the PRD_AssociationTool's internal store. |
|
pure virtual |
remove the PRDs from this track from the maps
track | all PRDs from 'track' will be removed from maps |
|
pure virtual |
this may well go, but at the moment it resets the tool