ATLAS Offline Software
InDetEventCnvTool.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 #include "Identifier/Identifier.h"
11 #include "InDetIdentifier/SCT_ID.h"
12 #include "InDetIdentifier/TRT_ID.h"
13 
16 
19 
26 
27 #include <vector>
28 #include <cassert>
29 #include <iostream>
30 
32  const std::string& n,
33  const IInterface* p )
34  :
35  base_class(t,n,p),
36  m_setPrepRawDataLink(false),
37  m_IDHelper(nullptr),
38  m_pixelHelper(nullptr),
39  m_SCTHelper(nullptr),
40  m_TRTHelper(nullptr),
41  m_idDictMgr(nullptr)
42 {
43  declareProperty("RecreatePRDLinks", m_setPrepRawDataLink);
44 
45 }
46 
48 
50  if (sc.isFailure()) return sc;
51 
52  ATH_CHECK(detStore()->retrieve(m_idDictMgr, "IdDict")) ;
53 
54  const IdDictDictionary* dict = m_idDictMgr->manager()->find_dictionary("InnerDetector");
55  if (!dict) {
56  ATH_MSG_ERROR( " Cannot access InnerDetector dictionary ");
57  return StatusCode::FAILURE;
58  }
59 
60  //retrieving the various ID helpers
61  ATH_CHECK (detStore()->retrieve(m_IDHelper, "AtlasID"));
62 
63  ATH_CHECK( detStore()->retrieve(m_pixelHelper, "PixelID") );
64  ATH_CHECK( detStore()->retrieve(m_SCTHelper, "SCT_ID") );
66  ATH_CHECK( detStore()->retrieve(m_TRTHelper, "TRT_ID") );
67 
71 
75 
76  return sc;
77 
78 }
79 
80 void
83  if (nullptr!=dynamic_cast<const SCT_ClusterOnTrack*>(&rioOnTrack) ) type = SCT;
84  if (nullptr!=dynamic_cast<const PixelClusterOnTrack*>(&rioOnTrack) ) type = Pixel;
85  if (nullptr!=dynamic_cast<const TRT_DriftCircleOnTrack*>(&rioOnTrack) ) type = TRT;
86  if (type==Unknown) {
87  ATH_MSG_ERROR("Type does not match known concrete type of InDet! Dumping RoT:"<<rioOnTrack);
88  } else {
89  ATH_MSG_VERBOSE("Type = "<<type);
90  }
91 
92  return;
93 }
94 
95 std::pair<const Trk::TrkDetElementBase*, const Trk::PrepRawData*>
97 {
98  using namespace Trk;
99  const TrkDetElementBase* detEl = nullptr;
100  const PrepRawData* prd = nullptr;
101  const Identifier& id = rioOnTrack.identify();
102 
103  if (m_IDHelper->is_pixel(id) ) {
104  ATH_MSG_DEBUG ("Set Pixel detector element.");
105  // use IdentifierHash for speed
106  detEl = getPixelDetectorElement( rioOnTrack.idDE() ) ;
107  if (m_setPrepRawDataLink) prd = pixelClusterLink( id, rioOnTrack.idDE() );
108  } else if (m_IDHelper->is_sct(id)) {
109  ATH_MSG_DEBUG("Set SCT detector element" );
110  // use IdentifierHash for speed
111  detEl = getSCTDetectorElement( rioOnTrack.idDE() ) ;
112  if (m_setPrepRawDataLink) prd = sctClusterLink( id, rioOnTrack.idDE() );
113  } else if (m_IDHelper->is_trt(id)) {
114  ATH_MSG_DEBUG("Set TRT detector element" );
115  // use IdentifierHash for speed
116  detEl = getTRTDetectorElement( rioOnTrack.idDE() ) ;
117  if (m_setPrepRawDataLink) prd = trtDriftCircleLink( id, rioOnTrack.idDE() );
118  } else {
119  ATH_MSG_WARNING("Unknown type of ID detector from identifier :"
120  << id<<", in string form:"
121  << m_IDHelper->show_to_string(id)
122  );
123  }
124  return std::pair<const Trk::TrkDetElementBase*, const Trk::PrepRawData*>(detEl,prd);
125 }
126 
128 
130  if (pixel!=nullptr) {
131  prepareRIO_OnTrackElementLink<const InDet::PixelClusterContainer, InDet::PixelClusterOnTrack>(pixel);
132  return;
133  }
134  InDet::SCT_ClusterOnTrack* sct = dynamic_cast<InDet::SCT_ClusterOnTrack*>(RoT);
135  if (sct!=nullptr) {
136  prepareRIO_OnTrackElementLink<const InDet::SCT_ClusterContainer, InDet::SCT_ClusterOnTrack>(sct);
137  return;
138  }
140  if (trt!=nullptr) {
141  prepareRIO_OnTrackElementLink<const InDet::TRT_DriftCircleContainer, InDet::TRT_DriftCircleOnTrack>(trt);
142  return;
143  }
144  return;
145 }
146 
147 void
149  ELKey_t& key,
150  ELIndex_t& index) const
151 {
152  const InDet::PixelClusterOnTrack* pixel = dynamic_cast<const InDet::PixelClusterOnTrack*>(RoT);
153  if (pixel!=nullptr) {
154  prepareRIO_OnTrackElementLink<const InDet::PixelClusterContainer, InDet::PixelClusterOnTrack>(pixel, key, index);
155  return;
156  }
157  const InDet::SCT_ClusterOnTrack* sct = dynamic_cast<const InDet::SCT_ClusterOnTrack*>(RoT);
158  if (sct!=nullptr) {
159  prepareRIO_OnTrackElementLink<const InDet::SCT_ClusterContainer, InDet::SCT_ClusterOnTrack>(sct, key, index);
160  return;
161  }
162  const InDet::TRT_DriftCircleOnTrack* trt = dynamic_cast<const InDet::TRT_DriftCircleOnTrack*>(RoT);
163  if (trt!=nullptr) {
164  prepareRIO_OnTrackElementLink<const InDet::TRT_DriftCircleContainer, InDet::TRT_DriftCircleOnTrack>(trt, key, index);
165  return;
166  }
167  return;
168 }
169 
171  std::pair<const Trk::TrkDetElementBase *, const Trk::PrepRawData *> pair = getLinks( *RoT );
173  return;
174 }
175 
177 InDet::InDetEventCnvTool::getDetectorElement(const Identifier& id, const IdentifierHash& idHash) const {
178 
179  const Trk::TrkDetElementBase* detEl=nullptr;
180 
181  if (m_IDHelper->is_pixel(id)) {
182 
183  ATH_MSG_DEBUG("Set Pixel detector element.");
184  // use IdentifierHash for speed
185  detEl = getPixelDetectorElement( idHash ) ;
186  } else if (m_IDHelper->is_sct(id)) {
187 
188  ATH_MSG_DEBUG("Set SCT detector element" );
189  // use IdentifierHash for speed
190  detEl = getSCTDetectorElement( idHash ) ;
191  } else if (m_IDHelper->is_trt(id)) {
192 
193  ATH_MSG_DEBUG("Set TRT detector element" );
194  // use IdentifierHash for speed
195  detEl = getTRTDetectorElement( idHash ) ;
196  } else {
197  ATH_MSG_WARNING("Unknown type of ID detector from identifier :"
198  << id<<", in string form:"
199  << m_IDHelper->show_to_string(id)
200  );
201  }
202  return detEl;
203 }
204 
207 
208  const Trk::TrkDetElementBase* detEl=nullptr;
209 
210  if (m_IDHelper->is_pixel(id) ) {
211 
212  ATH_MSG_DEBUG("Set Pixel detector element.");
213  // use IdentifierHash for speed
214  const IdentifierHash wafer_hash = m_pixelHelper->wafer_hash(id);
215  detEl = getPixelDetectorElement( wafer_hash ) ;
216  } else if (m_IDHelper->is_sct(id)) {
217 
218  ATH_MSG_DEBUG("Set SCT detector element" );
219  const Identifier wafer_id = m_SCTHelper->wafer_id(id);
220  const IdentifierHash wafer_hash = m_SCTHelper->wafer_hash(wafer_id);
221  detEl = getSCTDetectorElement( wafer_hash ) ;
222  } else if (m_IDHelper->is_trt(id)) {
223  ATH_MSG_DEBUG("Set TRT detector element");
224  // use IdentifierHash for speed
225  const Identifier strawLayerId = m_TRTHelper->layer_id(id);
226  const IdentifierHash hashId = m_TRTHelper->straw_layer_hash(strawLayerId);
227  detEl = getTRTDetectorElement( hashId ) ;
228  } else {
229  ATH_MSG_WARNING("Unknown type of ID detector from identifier :"<< id<<", in string form:"
230  << m_IDHelper->show_to_string(id) );
231  }
232  return detEl;
233 }
234 
235 const Trk::PrepRawData*
236 InDet::InDetEventCnvTool::pixelClusterLink( const Identifier& id, const IdentifierHash& idHash ) const {
237  using namespace Trk;
238  // need to retrieve pointers to collections
239  // retrieve Pixel cluster container
240 
241  // obviously this can be optimised! EJWM
243  if (!h_pixClusCont.isValid()) {
244  ATH_MSG_ERROR("Pixel Cluster container not found at "<<m_pixClusContName);
245  return nullptr;
246  } else {
247  ATH_MSG_DEBUG("Pixel Cluster Container found" );
248  }
249  const PixelClusterCollection *ptr = h_pixClusCont->indexFindPtr(idHash);
250  // if we find PRD, then recreate link
251  if (ptr!=nullptr) {
252  //loop though collection to find matching PRD.
253  PixelClusterCollection::const_iterator collIt = ptr->begin();
254  PixelClusterCollection::const_iterator collItEnd = ptr->end();
255  // there MUST be a faster way to do this!!
256  for ( ; collIt!=collItEnd; ++collIt){
257  if ( (*collIt)->identify()==id ) return *collIt;
258  }
259  }
260  ATH_MSG_DEBUG("No matching PRD found" );
261  return nullptr;
262 }
263 
264 const Trk::PrepRawData*
265 InDet::InDetEventCnvTool::sctClusterLink( const Identifier& id, const IdentifierHash& idHash ) const {
266  using namespace Trk;
267  // need to retrieve pointers to collections
268  // retrieve Pixel cluster container
269 
270  // obviously this can be optimised! EJWM
272  if (!h_sctClusCont.isValid()) {
273  ATH_MSG_ERROR("SCT Cluster container not found at "<<m_sctClusContName);
274  return nullptr;
275  } else {
276  ATH_MSG_DEBUG("SCT Cluster Container found" );
277  }
278  const SCT_ClusterCollection *ptr = h_sctClusCont->indexFindPtr(idHash);
279  // if we find PRD, then recreate link
280  if (ptr!=nullptr) {
281  //loop though collection to find matching PRD.
282  SCT_ClusterCollection::const_iterator collIt = ptr->begin();
283  SCT_ClusterCollection::const_iterator collItEnd = ptr->end();
284  // there MUST be a faster way to do this!!
285  for ( ; collIt!=collItEnd; ++collIt) {
286  if ( (*collIt)->identify()==id ) return *collIt;
287  }
288  }
289  ATH_MSG_DEBUG("No matching PRD found" );
290  return nullptr;
291 }
292 
293 const Trk::PrepRawData*
294 InDet::InDetEventCnvTool::trtDriftCircleLink( const Identifier& id, const IdentifierHash& idHash ) const {
295  using namespace Trk;
296  // need to retrieve pointers to collections
297  // retrieve Pixel cluster container
298 
299  // obviously this can be optimised! EJWM
301  if (!h_trtDriftCircleCont.isValid()) {
302  ATH_MSG_ERROR("TRT Drift Circles container not found at "<<m_trtDriftCircleContName);
303  return nullptr;
304  } else {
305  ATH_MSG_DEBUG("TRT Drift Circles Container found" );
306  }
307  const TRT_DriftCircleCollection *ptr = h_trtDriftCircleCont->indexFindPtr(idHash);
308  // if we find PRD, then recreate link
309  if (ptr!=nullptr) {
310  //loop though collection to find matching PRD.
311  TRT_DriftCircleCollection::const_iterator collIt = ptr->begin();
312  TRT_DriftCircleCollection::const_iterator collItEnd = ptr->end();
313  // there MUST be a faster way to do this!!
314  for ( ; collIt!=collItEnd; ++collIt) {
315  if ( (*collIt)->identify()==id ) return *collIt;
316  }
317  }
318  ATH_MSG_DEBUG("No matching PRD found" );
319  return nullptr;
320 }
321 
324  if (not pixelDetEle.isValid()) return nullptr;
325  return pixelDetEle->getDetectorElement(waferHash);
326 }
327 
330  if (not sctDetEle.isValid()) return nullptr;
331  return sctDetEle->getDetectorElement(waferHash);
332 }
333 
336  const InDetDD::TRT_DetElementCollection* elements(trtDetEleHandle->getElements());
337  if (not trtDetEleHandle.isValid() or elements==nullptr) {
338  ATH_MSG_FATAL(m_trtDetEleContKey.fullKey() << " is not available.");
339  return nullptr;
340  }
341  return elements->getDetectorElement(HashId);
342 }
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
PixelID.h
This is an Identifier helper class for the Pixel subdetector. This class is a factory for creating co...
AtlasDetectorID::is_pixel
bool is_pixel(Identifier id) const
Definition: AtlasDetectorID.h:760
SCT_ClusterOnTrack.h
TRT_ID::layer_id
Identifier layer_id(int barrel_ec, int phi_module, int layer_or_wheel, int straw_layer) const
For an individual straw layer.
Definition: TRT_ID.h:500
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
InDet::InDetEventCnvTool::sctClusterLink
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
Definition: InDetEventCnvTool.cxx:265
SCT_ID.h
This is an Identifier helper class for the SCT subdetector. This class is a factory for creating comp...
InDet::InDetEventCnvTool::checkRoT
virtual void checkRoT(const Trk::RIO_OnTrack &rioOnTrack) const override
Definition: InDetEventCnvTool.cxx:81
InDet::InDetEventCnvTool::m_pixClusContName
SG::ReadHandleKey< PixelClusterContainer > m_pixClusContName
location of container of pixel clusters
Definition: InDetEventCnvTool.h:111
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
InDet::InDetEventCnvTool::initialize
virtual StatusCode initialize() override
Definition: InDetEventCnvTool.cxx:47
AtlasDetectorID::is_sct
bool is_sct(Identifier id) const
Definition: AtlasDetectorID.h:770
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
index
Definition: index.py:1
initialize
void initialize()
Definition: run_EoverP.cxx:894
InDetEventCnvTool.h
TRT_ID.h
This is an Identifier helper class for the TRT subdetector. This class is a factory for creating comp...
SG::ReadCondHandle::isValid
bool isValid()
Definition: ReadCondHandle.h:206
InDet::InDetEventCnvTool::TRT
@ TRT
Definition: InDetEventCnvTool.h:44
InDet::InDetEventCnvTool::Unknown
@ Unknown
Definition: InDetEventCnvTool.h:44
Trk::RIO_OnTrack
Definition: RIO_OnTrack.h:70
InDet::InDetEventCnvTool::m_IDHelper
const AtlasDetectorID * m_IDHelper
Definition: InDetEventCnvTool.h:103
Trk::TrkDetElementBase
Definition: TrkDetElementBase.h:52
InDet::InDetEventCnvTool::getDetectorElement
virtual const Trk::TrkDetElementBase * getDetectorElement(const Identifier &id, const IdentifierHash &idHash) const override
Return the detectorElement associated with this Identifier.
Definition: InDetEventCnvTool.cxx:177
InDet::InDetEventCnvTool::prepareRIO_OnTrackLink
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.
Definition: InDetEventCnvTool.cxx:148
AtlasDetectorID::is_trt
bool is_trt(Identifier id) const
Definition: AtlasDetectorID.h:782
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
IdDictManager.h
InDet::InDetEventCnvTool::pixelClusterLink
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
Definition: InDetEventCnvTool.cxx:236
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
dbg::ptr
void * ptr(T *p)
Definition: SGImplSvc.cxx:74
SG::VarHandleKey::empty
bool empty() const
Test if the key is blank.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:150
InDet::TRT_DriftCircleOnTrack
Definition: TRT_DriftCircleOnTrack.h:53
PrepRawData.h
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
AtlasDetectorID.h
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
SCT_ClusterCollection.h
InDet::InDetEventCnvTool::m_idDictMgr
const IdDictManager * m_idDictMgr
Definition: InDetEventCnvTool.h:109
IdDictMgr::find_dictionary
IdDictDictionary * find_dictionary(const std::string &name) const
Access dictionary by name.
Definition: IdDictMgr.cxx:115
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
InDet::InDetEventCnvTool::m_setPrepRawDataLink
bool m_setPrepRawDataLink
if true, attempt to recreate link to PRD
Definition: InDetEventCnvTool.h:99
PixelID::wafer_hash
IdentifierHash wafer_hash(Identifier wafer_id) const
wafer hash from id
Definition: PixelID.h:387
InDet::InDetEventCnvTool::trtDriftCircleLink
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
Definition: InDetEventCnvTool.cxx:294
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
InDet::InDetEventCnvTool::m_SCTHelper
const SCT_ID * m_SCTHelper
Definition: InDetEventCnvTool.h:105
beamspotman.n
n
Definition: beamspotman.py:731
InDet::InDetEventCnvTool::prepareRIO_OnTrack
virtual void prepareRIO_OnTrack(Trk::RIO_OnTrack *rot) const override
Definition: InDetEventCnvTool.cxx:127
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
InDet::InDetEventCnvTool::m_pixelDetEleCollKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_pixelDetEleCollKey
Definition: InDetEventCnvTool.h:115
InDet::InDetEventCnvTool::getSCTDetectorElement
const InDetDD::SiDetectorElement * getSCTDetectorElement(const IdentifierHash &waferHash) const
use the passed IdentifierHash to get SiDetectorElement for SCT
Definition: InDetEventCnvTool.cxx:328
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
InDet::InDetEventCnvTool::InDetConcreteType
InDetConcreteType
Definition: InDetEventCnvTool.h:44
SCT_ID::wafer_hash
IdentifierHash wafer_hash(const Identifier &wafer_id) const
wafer hash from id - optimized
Definition: SCT_ID.h:492
TRT_DriftCircleOnTrack.h
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
PixelClusterCollection.h
InDet::InDetEventCnvTool::m_trtDriftCircleContName
SG::ReadHandleKey< TRT_DriftCircleContainer > m_trtDriftCircleContName
location of container of TRT drift circles
Definition: InDetEventCnvTool.h:113
SG::ReadHandle::isValid
virtual bool isValid() override final
Can the handle be successfully dereferenced?
Trk::ITrkEventCnvTool::setRoT_Values
virtual void setRoT_Values(std::pair< const Trk::TrkDetElementBase *, const Trk::PrepRawData * > &pair, Trk::RIO_OnTrack *RoT) const
InDet::InDetEventCnvTool::getPixelDetectorElement
const InDetDD::SiDetectorElement * getPixelDetectorElement(const IdentifierHash &waferHash) const
use the passed IdentifierHash to get SiDetectorElement for Pixel
Definition: InDetEventCnvTool.cxx:322
Trk::PrepRawData
Definition: PrepRawData.h:62
InDet::InDetEventCnvTool::m_TRTHelper
const TRT_ID * m_TRTHelper
Definition: InDetEventCnvTool.h:106
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
InDet::InDetEventCnvTool::m_SCTDetEleCollKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey
Definition: InDetEventCnvTool.h:116
RIO_OnTrack.h
IdentifierHash.h
InDet::TRT_DriftCircleCollection
Trk::PrepRawDataCollection< TRT_DriftCircle > TRT_DriftCircleCollection
Definition: TRT_DriftCircleCollection.h:26
InDetDD::SiDetectorElement
Definition: SiDetectorElement.h:109
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
Trk::RIO_OnTrack::idDE
virtual IdentifierHash idDE() const =0
returns the DE hashID
SiDetectorElement.h
IdDictDictionary
Definition: IdDictDictionary.h:30
InDet::InDetEventCnvTool::recreateRIO_OnTrack
virtual void recreateRIO_OnTrack(Trk::RIO_OnTrack *RoT) const override
Definition: InDetEventCnvTool.cxx:170
InDet::InDetEventCnvTool::getTRTDetectorElement
const InDetDD::TRT_BaseElement * getTRTDetectorElement(const IdentifierHash &HashId) const
use the passed IdentifierHash to get TRTDetectorElement for TRT
Definition: InDetEventCnvTool.cxx:334
AtlasDetectorID::show_to_string
std::string show_to_string(Identifier id, const IdContext *context=0, char sep='.') const
or provide the printout in string form
Definition: AtlasDetectorID.cxx:574
InDet::PixelClusterOnTrack
Definition: PixelClusterOnTrack.h:51
InDet::InDetEventCnvTool::InDetEventCnvTool
InDetEventCnvTool(const std::string &, const std::string &, const IInterface *)
Definition: InDetEventCnvTool.cxx:31
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
InDetDD::TRT_DetElementCollection::getDetectorElement
const TRT_BaseElement * getDetectorElement(const IdentifierHash &hash) const
Definition: TRT_DetElementCollection.cxx:11
InDet::InDetEventCnvTool::m_pixelHelper
const PixelID * m_pixelHelper
Definition: InDetEventCnvTool.h:104
Trk::RIO_OnTrack::identify
Identifier identify() const
return the identifier -extends MeasurementBase
Definition: RIO_OnTrack.h:152
IdDictManager::manager
const IdDictMgr * manager(void) const
Definition: IdDictManager.cxx:37
InDetDD::TRT_DetElementContainer::getElements
const TRT_DetElementCollection * getElements() const
Definition: TRT_DetElementContainer.cxx:29
InDet::InDetEventCnvTool::SCT
@ SCT
Definition: InDetEventCnvTool.h:44
InDet::InDetEventCnvTool::getLinks
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
Definition: InDetEventCnvTool.cxx:96
InDetDD::TRT_DetElementCollection
Class to hold collection of TRT detector elements.
Definition: TRT_DetElementCollection.h:28
SCT_ID::wafer_id
Identifier wafer_id(int barrel_ec, int layer_disk, int phi_module, int eta_module, int side) const
For a single side of module.
Definition: SCT_ID.h:464
InDet::InDetEventCnvTool::m_sctClusContName
SG::ReadHandleKey< SCT_ClusterContainer > m_sctClusContName
location of container of sct clusters
Definition: InDetEventCnvTool.h:112
PixelClusterOnTrack.h
TRT_DriftCircleCollection.h
InDet::InDetEventCnvTool::m_trtDetEleContKey
SG::ReadCondHandleKey< InDetDD::TRT_DetElementContainer > m_trtDetEleContKey
Definition: InDetEventCnvTool.h:117
InDet::SCT_ClusterCollection
Trk::PrepRawDataCollection< SCT_Cluster > SCT_ClusterCollection
Definition: SCT_ClusterCollection.h:26
InDet::InDetEventCnvTool::Pixel
@ Pixel
Definition: InDetEventCnvTool.h:44
SiliconTech::pixel
@ pixel
InDet::PixelClusterCollection
Trk::PrepRawDataCollection< PixelCluster > PixelClusterCollection
Definition: PixelClusterCollection.h:26
TRT_ID::straw_layer_hash
IdentifierHash straw_layer_hash(Identifier straw_layer_id) const
straw_layer hash from id - optimized
Definition: TRT_ID.h:750
InDetDD::TRT_BaseElement
Definition: TRT_BaseElement.h:57
InDet::SCT_ClusterOnTrack
Definition: SCT_ClusterOnTrack.h:44
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
Identifier
Definition: IdentifierFieldParser.cxx:14