ATLAS Offline Software
Loading...
Searching...
No Matches
InDetEventCnvTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef INDETEVENTCNVTOOL_H
6#define INDETEVENTCNVTOOL_H
7
10
18
19#include <utility>
20
21class AtlasDetectorID;
22class Identifier;
23class IdentifierHash;
24class IdDictManager;
25class PixelID;
26class SCT_ID;
27class TRT_ID;
28
29namespace Trk {
31 class PrepRawData;
32}
33
34
35namespace InDet {
40class InDetEventCnvTool : public extends<AthAlgTool, Trk::ITrkEventCnvTool>
41{
42 public:
43
45
46 InDetEventCnvTool(const std::string&,const std::string&,const IInterface*);
47
48 virtual ~InDetEventCnvTool() = default;
49
50 virtual StatusCode initialize() override;
51
52 virtual void checkRoT( const Trk::RIO_OnTrack& rioOnTrack ) const override;
53
57 virtual std::pair<const Trk::TrkDetElementBase*, const Trk::PrepRawData*>
58 getLinks( Trk::RIO_OnTrack& rioOnTrack ) const override;
59
61 virtual void prepareRIO_OnTrack( Trk::RIO_OnTrack* rot) const override;
62
65 virtual void prepareRIO_OnTrackLink( const Trk::RIO_OnTrack* rot,
66 ELKey_t& key,
67 ELIndex_t& index ) const override;
68
70 virtual void recreateRIO_OnTrack( Trk::RIO_OnTrack *RoT ) const override;
71
73 virtual const Trk::TrkDetElementBase* getDetectorElement(const Identifier& id, const IdentifierHash& idHash) const override;
74
76 virtual const Trk::TrkDetElementBase* getDetectorElement(const Identifier& id) const override;
77
78
79 private:
80
82 virtual const Trk::PrepRawData* pixelClusterLink( const Identifier& id, const IdentifierHash& idHash) const;
83
85 virtual const Trk::PrepRawData* sctClusterLink( const Identifier& id, const IdentifierHash& idHash ) const;
86
88 virtual const Trk::PrepRawData* trtDriftCircleLink( const Identifier& id, const IdentifierHash& idHash ) const;
89
92
95
98
100
101
102 //various id helpers
107
108 // added to check TRT existence (SLHC geo check)
110
111 SG::ReadHandleKey<PixelClusterContainer> m_pixClusContName {this, "PixelClusterContainer", "PixelClusters", "Pixel Cluster container name"};
112 SG::ReadHandleKey<SCT_ClusterContainer> m_sctClusContName {this, "SCT_ClusterContainer", "SCT_Clusters", "SCT Cluster container name"};
113 SG::ReadHandleKey<TRT_DriftCircleContainer> m_trtDriftCircleContName{this, "TRT_DriftCircleContainer", "TRT_DriftCircleContainer", "TRT DriftCircle Container"};
114
115 SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_pixelDetEleCollKey{this, "PixelDetEleCollKey", "PixelDetectorElementCollection", "Key of SiDetectorElementCollection for Pixel"};
116 SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_SCTDetEleCollKey{this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"};
117 SG::ReadCondHandleKey<InDetDD::TRT_DetElementContainer> m_trtDetEleContKey{this, "TRTDetEleContKey", "TRT_DetElementContainer", "Key of TRT_DetElementContainer for TRT"};
118 };
119
120}
121#endif // MOORETOTRACKTOOL_H
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...
IdDictManager is the interface to identifier dictionaries.
This is a "hash" representation of an Identifier.
Class to hold geometrical description of a silicon detector element.
Virtual base class of TRT readout elements.
virtual void prepareRIO_OnTrack(Trk::RIO_OnTrack *rot) const override
const InDetDD::TRT_BaseElement * getTRTDetectorElement(const IdentifierHash &HashId) const
use the passed IdentifierHash to get TRTDetectorElement for TRT
virtual StatusCode initialize() override
SG::ReadHandleKey< TRT_DriftCircleContainer > m_trtDriftCircleContName
location of container of TRT drift circles
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_pixelDetEleCollKey
const InDetDD::SiDetectorElement * getPixelDetectorElement(const IdentifierHash &waferHash) const
use the passed IdentifierHash to get SiDetectorElement for Pixel
virtual const Trk::PrepRawData * pixelClusterLink(const Identifier &id, const IdentifierHash &idHash) const
use the passed identifier to recreate the pixel cluster link on the passed RIO_OnTrack
virtual std::pair< const Trk::TrkDetElementBase *, const Trk::PrepRawData * > getLinks(Trk::RIO_OnTrack &rioOnTrack) const override
use the passed identifier to recreate the detector element and PRD links on the passed RIO_OnTrack
InDetEventCnvTool(const std::string &, const std::string &, const IInterface *)
const InDetDD::SiDetectorElement * getSCTDetectorElement(const IdentifierHash &waferHash) const
use the passed IdentifierHash to get SiDetectorElement for SCT
virtual void prepareRIO_OnTrackLink(const Trk::RIO_OnTrack *rot, ELKey_t &key, ELIndex_t &index) const override
Similar, but just return the EL components rather then changing ROT.
virtual void recreateRIO_OnTrack(Trk::RIO_OnTrack *RoT) const override
virtual const Trk::TrkDetElementBase * getDetectorElement(const Identifier &id, const IdentifierHash &idHash) const override
Return the detectorElement associated with this Identifier.
SG::ReadHandleKey< SCT_ClusterContainer > m_sctClusContName
location of container of sct clusters
virtual void checkRoT(const Trk::RIO_OnTrack &rioOnTrack) const override
virtual const Trk::PrepRawData * sctClusterLink(const Identifier &id, const IdentifierHash &idHash) const
use the passed identifier to recreate the SCT cluster link on the passed RIO_OnTrack
const IdDictManager * m_idDictMgr
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey
SG::ReadHandleKey< PixelClusterContainer > m_pixClusContName
location of container of pixel clusters
virtual const Trk::PrepRawData * trtDriftCircleLink(const Identifier &id, const IdentifierHash &idHash) const
use the passed identifier to recreate the TRT Drift circle link on the passed RIO_OnTrack
bool m_setPrepRawDataLink
if true, attempt to recreate link to PRD
const AtlasDetectorID * m_IDHelper
virtual ~InDetEventCnvTool()=default
SG::ReadCondHandleKey< InDetDD::TRT_DetElementContainer > m_trtDetEleContKey
This is an Identifier helper class for the Pixel subdetector.
Definition PixelID.h:67
This is an Identifier helper class for the SCT subdetector.
Definition SCT_ID.h:68
Property holding a SG store/key/clid from which a ReadHandle is made.
This is an Identifier helper class for the TRT subdetector.
Definition TRT_ID.h:82
Class to handle RIO On Tracks ROT) for InDet and Muons, it inherits from the common MeasurementBase.
Definition RIO_OnTrack.h:70
This is the base class for all tracking detector elements with read-out relevant information.
Primary Vertex Finder.
Definition HitInfo.h:33
Ensure that the ATLAS eigen extensions are properly loaded.
Definition index.py:1