ATLAS Offline Software
InDetEventCnvTool.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 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 
20 #include "IdDict/IdDictMgr.h"
21 
28 
29 #include <vector>
30 #include <cassert>
31 #include <iostream>
32 
34  const std::string& n,
35  const IInterface* p )
36  :
37  base_class(t,n,p),
38  m_setPrepRawDataLink(false),
39  m_IDHelper(nullptr),
40  m_pixelHelper(nullptr),
41  m_SCTHelper(nullptr),
42  m_TRTHelper(nullptr),
43  m_idDictMgr(nullptr)
44 {
45  declareProperty("RecreatePRDLinks", m_setPrepRawDataLink);
46 
47 }
48 
50 
52  if (sc.isFailure()) return sc;
53 
54  ATH_CHECK(detStore()->retrieve(m_idDictMgr, "IdDict")) ;
55 
56  const IdDictDictionary* dict = m_idDictMgr->manager()->find_dictionary("InnerDetector");
57  if (!dict) {
58  ATH_MSG_ERROR( " Cannot access InnerDetector dictionary ");
59  return StatusCode::FAILURE;
60  }
61 
62  //retrieving the various ID helpers
63  ATH_CHECK (detStore()->retrieve(m_IDHelper, "AtlasID"));
64 
65  ATH_CHECK( detStore()->retrieve(m_pixelHelper, "PixelID") );
66  ATH_CHECK( detStore()->retrieve(m_SCTHelper, "SCT_ID") );
68  ATH_CHECK( detStore()->retrieve(m_TRTHelper, "TRT_ID") );
69 
73 
77 
78  return sc;
79 
80 }
81 
82 void
85  if (nullptr!=dynamic_cast<const SCT_ClusterOnTrack*>(&rioOnTrack) ) type = SCT;
86  if (nullptr!=dynamic_cast<const PixelClusterOnTrack*>(&rioOnTrack) ) type = Pixel;
87  if (nullptr!=dynamic_cast<const TRT_DriftCircleOnTrack*>(&rioOnTrack) ) type = TRT;
88  if (type==Unknown) {
89  ATH_MSG_ERROR("Type does not match known concrete type of InDet! Dumping RoT:"<<rioOnTrack);
90  } else {
91  ATH_MSG_VERBOSE("Type = "<<type);
92  }
93 
94  return;
95 }
96 
97 std::pair<const Trk::TrkDetElementBase*, const Trk::PrepRawData*>
99 {
100  using namespace Trk;
101  const TrkDetElementBase* detEl = nullptr;
102  const PrepRawData* prd = nullptr;
103  const Identifier& id = rioOnTrack.identify();
104 
105  if (m_IDHelper->is_pixel(id) ) {
106  ATH_MSG_DEBUG ("Set Pixel detector element.");
107  // use IdentifierHash for speed
108  detEl = getPixelDetectorElement( rioOnTrack.idDE() ) ;
109  if (m_setPrepRawDataLink) prd = pixelClusterLink( id, rioOnTrack.idDE() );
110  } else if (m_IDHelper->is_sct(id)) {
111  ATH_MSG_DEBUG("Set SCT detector element" );
112  // use IdentifierHash for speed
113  detEl = getSCTDetectorElement( rioOnTrack.idDE() ) ;
114  if (m_setPrepRawDataLink) prd = sctClusterLink( id, rioOnTrack.idDE() );
115  } else if (m_IDHelper->is_trt(id)) {
116  ATH_MSG_DEBUG("Set TRT detector element" );
117  // use IdentifierHash for speed
118  detEl = getTRTDetectorElement( rioOnTrack.idDE() ) ;
119  if (m_setPrepRawDataLink) prd = trtDriftCircleLink( id, rioOnTrack.idDE() );
120  } else {
121  ATH_MSG_WARNING("Unknown type of ID detector from identifier :"
122  << id<<", in string form:"
123  << m_IDHelper->show_to_string(id)
124  );
125  }
126  return std::pair<const Trk::TrkDetElementBase*, const Trk::PrepRawData*>(detEl,prd);
127 }
128 
130 
132  if (pixel!=nullptr) {
133  prepareRIO_OnTrackElementLink<const InDet::PixelClusterContainer, InDet::PixelClusterOnTrack>(pixel);
134  return;
135  }
136  InDet::SCT_ClusterOnTrack* sct = dynamic_cast<InDet::SCT_ClusterOnTrack*>(RoT);
137  if (sct!=nullptr) {
138  prepareRIO_OnTrackElementLink<const InDet::SCT_ClusterContainer, InDet::SCT_ClusterOnTrack>(sct);
139  return;
140  }
142  if (trt!=nullptr) {
143  prepareRIO_OnTrackElementLink<const InDet::TRT_DriftCircleContainer, InDet::TRT_DriftCircleOnTrack>(trt);
144  return;
145  }
146  return;
147 }
148 
149 void
151  ELKey_t& key,
152  ELIndex_t& index) const
153 {
154  const InDet::PixelClusterOnTrack* pixel = dynamic_cast<const InDet::PixelClusterOnTrack*>(RoT);
155  if (pixel!=nullptr) {
156  prepareRIO_OnTrackElementLink<const InDet::PixelClusterContainer, InDet::PixelClusterOnTrack>(pixel, key, index);
157  return;
158  }
159  const InDet::SCT_ClusterOnTrack* sct = dynamic_cast<const InDet::SCT_ClusterOnTrack*>(RoT);
160  if (sct!=nullptr) {
161  prepareRIO_OnTrackElementLink<const InDet::SCT_ClusterContainer, InDet::SCT_ClusterOnTrack>(sct, key, index);
162  return;
163  }
164  const InDet::TRT_DriftCircleOnTrack* trt = dynamic_cast<const InDet::TRT_DriftCircleOnTrack*>(RoT);
165  if (trt!=nullptr) {
166  prepareRIO_OnTrackElementLink<const InDet::TRT_DriftCircleContainer, InDet::TRT_DriftCircleOnTrack>(trt, key, index);
167  return;
168  }
169  return;
170 }
171 
173  std::pair<const Trk::TrkDetElementBase *, const Trk::PrepRawData *> pair = getLinks( *RoT );
175  return;
176 }
177 
179 InDet::InDetEventCnvTool::getDetectorElement(const Identifier& id, const IdentifierHash& idHash) const {
180 
181  const Trk::TrkDetElementBase* detEl=nullptr;
182 
183  if (m_IDHelper->is_pixel(id)) {
184 
185  ATH_MSG_DEBUG("Set Pixel detector element.");
186  // use IdentifierHash for speed
187  detEl = getPixelDetectorElement( idHash ) ;
188  } else if (m_IDHelper->is_sct(id)) {
189 
190  ATH_MSG_DEBUG("Set SCT detector element" );
191  // use IdentifierHash for speed
192  detEl = getSCTDetectorElement( idHash ) ;
193  } else if (m_IDHelper->is_trt(id)) {
194 
195  ATH_MSG_DEBUG("Set TRT detector element" );
196  // use IdentifierHash for speed
197  detEl = getTRTDetectorElement( idHash ) ;
198  } else {
199  ATH_MSG_WARNING("Unknown type of ID detector from identifier :"
200  << id<<", in string form:"
201  << m_IDHelper->show_to_string(id)
202  );
203  }
204  return detEl;
205 }
206 
209 
210  const Trk::TrkDetElementBase* detEl=nullptr;
211 
212  if (m_IDHelper->is_pixel(id) ) {
213 
214  ATH_MSG_DEBUG("Set Pixel detector element.");
215  // use IdentifierHash for speed
216  const IdentifierHash wafer_hash = m_pixelHelper->wafer_hash(id);
217  detEl = getPixelDetectorElement( wafer_hash ) ;
218  } else if (m_IDHelper->is_sct(id)) {
219 
220  ATH_MSG_DEBUG("Set SCT detector element" );
221  const Identifier wafer_id = m_SCTHelper->wafer_id(id);
222  const IdentifierHash wafer_hash = m_SCTHelper->wafer_hash(wafer_id);
223  detEl = getSCTDetectorElement( wafer_hash ) ;
224  } else if (m_IDHelper->is_trt(id)) {
225  ATH_MSG_DEBUG("Set TRT detector element");
226  // use IdentifierHash for speed
227  const Identifier strawLayerId = m_TRTHelper->layer_id(id);
228  const IdentifierHash hashId = m_TRTHelper->straw_layer_hash(strawLayerId);
229  detEl = getTRTDetectorElement( hashId ) ;
230  } else {
231  ATH_MSG_WARNING("Unknown type of ID detector from identifier :"<< id<<", in string form:"
232  << m_IDHelper->show_to_string(id) );
233  }
234  return detEl;
235 }
236 
237 const Trk::PrepRawData*
238 InDet::InDetEventCnvTool::pixelClusterLink( const Identifier& id, const IdentifierHash& idHash ) const {
239  using namespace Trk;
240  // need to retrieve pointers to collections
241  // retrieve Pixel cluster container
242 
243  // obviously this can be optimised! EJWM
245  if (!h_pixClusCont.isValid()) {
246  ATH_MSG_ERROR("Pixel Cluster container not found at "<<m_pixClusContName);
247  return nullptr;
248  } else {
249  ATH_MSG_DEBUG("Pixel Cluster Container found" );
250  }
251  const PixelClusterCollection *ptr = h_pixClusCont->indexFindPtr(idHash);
252  // if we find PRD, then recreate link
253  if (ptr!=nullptr) {
254  //loop though collection to find matching PRD.
255  PixelClusterCollection::const_iterator collIt = ptr->begin();
256  PixelClusterCollection::const_iterator collItEnd = ptr->end();
257  // there MUST be a faster way to do this!!
258  for ( ; collIt!=collItEnd; ++collIt){
259  if ( (*collIt)->identify()==id ) return *collIt;
260  }
261  }
262  ATH_MSG_DEBUG("No matching PRD found" );
263  return nullptr;
264 }
265 
266 const Trk::PrepRawData*
267 InDet::InDetEventCnvTool::sctClusterLink( const Identifier& id, const IdentifierHash& idHash ) const {
268  using namespace Trk;
269  // need to retrieve pointers to collections
270  // retrieve Pixel cluster container
271 
272  // obviously this can be optimised! EJWM
274  if (!h_sctClusCont.isValid()) {
275  ATH_MSG_ERROR("SCT Cluster container not found at "<<m_sctClusContName);
276  return nullptr;
277  } else {
278  ATH_MSG_DEBUG("SCT Cluster Container found" );
279  }
280  const SCT_ClusterCollection *ptr = h_sctClusCont->indexFindPtr(idHash);
281  // if we find PRD, then recreate link
282  if (ptr!=nullptr) {
283  //loop though collection to find matching PRD.
284  SCT_ClusterCollection::const_iterator collIt = ptr->begin();
285  SCT_ClusterCollection::const_iterator collItEnd = ptr->end();
286  // there MUST be a faster way to do this!!
287  for ( ; collIt!=collItEnd; ++collIt) {
288  if ( (*collIt)->identify()==id ) return *collIt;
289  }
290  }
291  ATH_MSG_DEBUG("No matching PRD found" );
292  return nullptr;
293 }
294 
295 const Trk::PrepRawData*
296 InDet::InDetEventCnvTool::trtDriftCircleLink( const Identifier& id, const IdentifierHash& idHash ) const {
297  using namespace Trk;
298  // need to retrieve pointers to collections
299  // retrieve Pixel cluster container
300 
301  // obviously this can be optimised! EJWM
303  if (!h_trtDriftCircleCont.isValid()) {
304  ATH_MSG_ERROR("TRT Drift Circles container not found at "<<m_trtDriftCircleContName);
305  return nullptr;
306  } else {
307  ATH_MSG_DEBUG("TRT Drift Circles Container found" );
308  }
309  const TRT_DriftCircleCollection *ptr = h_trtDriftCircleCont->indexFindPtr(idHash);
310  // if we find PRD, then recreate link
311  if (ptr!=nullptr) {
312  //loop though collection to find matching PRD.
313  TRT_DriftCircleCollection::const_iterator collIt = ptr->begin();
314  TRT_DriftCircleCollection::const_iterator collItEnd = ptr->end();
315  // there MUST be a faster way to do this!!
316  for ( ; collIt!=collItEnd; ++collIt) {
317  if ( (*collIt)->identify()==id ) return *collIt;
318  }
319  }
320  ATH_MSG_DEBUG("No matching PRD found" );
321  return nullptr;
322 }
323 
326  if (not pixelDetEle.isValid()) return nullptr;
327  return pixelDetEle->getDetectorElement(waferHash);
328 }
329 
332  if (not sctDetEle.isValid()) return nullptr;
333  return sctDetEle->getDetectorElement(waferHash);
334 }
335 
338  const InDetDD::TRT_DetElementCollection* elements(trtDetEleHandle->getElements());
339  if (not trtDetEleHandle.isValid() or elements==nullptr) {
340  ATH_MSG_FATAL(m_trtDetEleContKey.fullKey() << " is not available.");
341  return nullptr;
342  }
343  return elements->getDetectorElement(HashId);
344 }
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...
IdDictMgr.h
AtlasDetectorID::is_pixel
bool is_pixel(Identifier id) const
Definition: AtlasDetectorID.h:755
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:494
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:267
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:83
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:49
AtlasDetectorID::is_sct
bool is_sct(Identifier id) const
Definition: AtlasDetectorID.h:765
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:67
index
Definition: index.py:1
IdDictDictionary.h
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:210
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:179
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:150
AtlasDetectorID::is_trt
bool is_trt(Identifier id) const
Definition: AtlasDetectorID.h:777
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:238
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
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
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:124
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
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:383
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:296
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:727
InDet::InDetEventCnvTool::prepareRIO_OnTrack
virtual void prepareRIO_OnTrack(Trk::RIO_OnTrack *rot) const override
Definition: InDetEventCnvTool.cxx:129
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:330
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:324
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:172
InDet::InDetEventCnvTool::getTRTDetectorElement
const InDetDD::TRT_BaseElement * getTRTDetectorElement(const IdentifierHash &HashId) const
use the passed IdentifierHash to get TRTDetectorElement for TRT
Definition: InDetEventCnvTool.cxx:336
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:365
InDet::PixelClusterOnTrack
Definition: PixelClusterOnTrack.h:51
InDet::InDetEventCnvTool::InDetEventCnvTool
InDetEventCnvTool(const std::string &, const std::string &, const IInterface *)
Definition: InDetEventCnvTool.cxx:33
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
InDetDD::TRT_DetElementCollection::getDetectorElement
const TRT_BaseElement * getDetectorElement(const IdentifierHash &hash) const
Definition: TRT_DetElementCollection.cxx:9
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:30
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:98
InDetDD::TRT_DetElementCollection
Class to hold collection of TRT detector elements.
Definition: TRT_DetElementCollection.h:26
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:687
InDetDD::TRT_BaseElement
Definition: TRT_BaseElement.h:52
InDet::SCT_ClusterOnTrack
Definition: SCT_ClusterOnTrack.h:44
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
Identifier
Definition: IdentifierFieldParser.cxx:14