ATLAS Offline Software
Loading...
Searching...
No Matches
InDetPRD_AssociationToolGangedPixels.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef INDET_PRD_ASSOCIATIONTOOL_H
6#define INDET_PRD_ASSOCIATIONTOOL_H
7
9#include "GaudiKernel/ServiceHandle.h"
13
14class AtlasDetectorID;
15class Identifier;
16
17namespace InDet {
18
20 class InDetPRD_AssociationToolGangedPixels : public extends<AthAlgTool, Trk::IPRD_AssociationTool>
21 {
22
23 public:
25
26 InDetPRD_AssociationToolGangedPixels(const std::string&,const std::string&,const IInterface*);
28 virtual StatusCode initialize() override;
29 virtual StatusCode finalize () override;
30
33 virtual StatusCode addPRDs(const Trk::Track& track) override;
34
37 virtual StatusCode addPRDs(Maps& maps, const Trk::Track& track) const override;
38
41 virtual StatusCode removePRDs(Maps& maps, const Trk::Track& track) const override;
42
46 virtual StatusCode removePRDs(const Trk::Track& track) override;
47
52 virtual bool isUsed(const Maps& maps, const Trk::PrepRawData& prd) const override final;
53
58 virtual bool isUsed(const Trk::PrepRawData& prd) const override;
59
64 virtual bool isShared(const Maps& maps, const Trk::PrepRawData& prd) const override final;
65
70 virtual bool isShared(const Trk::PrepRawData& prd) const override;
71
79 virtual std::vector< const Trk::PrepRawData* > getPrdsOnTrack(const Trk::Track& track) const override;
80
81 // getPrdsOnTrack with state passed explicitly.
82 virtual std::vector< const Trk::PrepRawData* > getPrdsOnTrack(const Maps& maps,
83 const Trk::Track& track) const override;
84
88 virtual Trk::IPRD_AssociationTool::TrackSet findConnectedTracks( const Trk::Track& track) const override;
89
90 // findConnectedTracks with state passed explicitly.
91 virtual IPRD_AssociationTool::TrackSet findConnectedTracks( const Maps& maps, const Trk::Track& track) const override;
92
98
99 // onTracks with explicit state
100 virtual IPRD_AssociationTool::PrepRawDataTrackMapRange onTracks(const Maps& maps,
101 const Trk::PrepRawData& prd) const override;
102
105 virtual void reset() override;
106
107 private:
109
110 SG::ReadHandleKey<PixelGangedClusterAmbiguities> m_pixelClusterAmbiguitiesMapName{this, "PixelClusterAmbiguitiesMapName", "PixelClusterAmbiguitiesMap"};
111
113 BooleanProperty m_addTRToutliers{this, "addTRToutliers", false};
114
115};
116
117inline bool
119 const Trk::PrepRawData& prd) const
120{
121 return (maps.m_prepRawDataTrackMap.count(&prd)>0);
122}
123
124inline bool
129
130inline bool
132 const Trk::PrepRawData& prd) const
133{
134 return (maps.m_prepRawDataTrackMap.count(&prd)>1);
135}
136
137inline bool
142
143
144}
145#endif
Property holding a SG store/key/clid from which a ReadHandle is made.
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
InDetPRD_AssociationToolGangedPixels(const std::string &, const std::string &, const IInterface *)
virtual std::vector< const Trk::PrepRawData * > getPrdsOnTrack(const Trk::Track &track) const override
returns a vector of PRDs belonging to the passed track.
virtual Trk::IPRD_AssociationTool::PrepRawDataTrackMapRange onTracks(const Trk::PrepRawData &prd) const override
get the Tracks associated with this Trk::PrepRawData.
virtual bool isShared(const Maps &maps, const Trk::PrepRawData &prd) const override final
does this PRD belong to more than one track in maps?
virtual void reset() override
resets the tool - should be called before using tool (and maybe afterwards to free up memory)
SG::ReadHandleKey< PixelGangedClusterAmbiguities > m_pixelClusterAmbiguitiesMapName
virtual bool isUsed(const Maps &maps, const Trk::PrepRawData &prd) const override final
does this PRD belong to at least one track in maps?
BooleanProperty m_addTRToutliers
add TRT outliers in the addTrack method to avoid splits due to rejected extensions
virtual Trk::IPRD_AssociationTool::TrackSet findConnectedTracks(const Trk::Track &track) const override
returns set of tracks which share PRD with this one
virtual StatusCode addPRDs(const Trk::Track &track) override
add the PRDs from this track to the store
virtual StatusCode removePRDs(Maps &maps, const Trk::Track &track) const override
remove the PRDs from this track from maps
Property holding a SG store/key/clid from which a ReadHandle is made.
std::set< const Track * > TrackSet
std::pair< ConstPRD_MapIt, ConstPRD_MapIt > PrepRawDataTrackMapRange
the first element is the beginning iterator of the range, the second is the end
Primary Vertex Finder.
The mutable state of the tool.
IPRD_AssociationTool::PrepRawDataTrackMap m_prepRawDataTrackMap