ATLAS Offline Software
src/PixelDetectorTool.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
6 #include "PixelDetectorTool.h"
7 #include "PixelDetectorFactory.h"
10 #include "PixelDetectorFactoryDC2.h"
11 #include "PixelGeometryManager.h"
12 #include "PixelSwitches.h"
13 
19 #include "GaudiKernel/ServiceHandle.h"
22 #include "GeoModelRead/ReadGeoModel.h"
23 
27 
29 #include "SGTools/DataProxy.h"
30 
32 
35 
36 PixelDetectorTool::PixelDetectorTool( const std::string& type, const std::string& name, const IInterface* parent )
38 {
39  declareProperty("Services",m_services);
40  declareProperty("ServicesOnLadder",m_servicesOnLadder);
41  declareProperty("Alignable", m_alignable);
42  declareProperty("TweakIBLDist", m_tweakIBLDist);
43  declareProperty("DC1Geometry",m_dc1Geometry);
44  declareProperty("InitialLayout",m_initialLayout);
45  declareProperty("DevVersion", m_devVersion);
46  declareProperty("OverrideVersionName", m_overrideVersionName);
47  declareProperty("useDynamicAlignFolders", m_useDynamicAlignFolders);
48 }
49 
51 {
52  delete m_athenaComps;
53 }
54 
55 
57 {
58  if (!m_bcmTool.empty()) {
59  ATH_CHECK( m_bcmTool.retrieve() );
60  }
61  if (!m_blmTool.empty()) {
62  ATH_CHECK( m_blmTool.retrieve() );
63  }
64  return StatusCode::SUCCESS;
65 }
66 
71 {
72  if (m_devVersion) ATH_MSG_WARNING("You are using a development version. There are no guarantees of stability");
73 
74  // Get the detector configuration.
75  ServiceHandle<IGeoDbTagSvc> geoDbTagSvc("GeoDbTagSvc",name());
76  ATH_CHECK(geoDbTagSvc.retrieve());
77 
78  ServiceHandle<IRDBAccessSvc> rdbAccessSvc(geoDbTagSvc->getParamSvcName(),name());
79  ATH_CHECK(rdbAccessSvc.retrieve());
80 
81 
82  GeoModelExperiment* theExpt = nullptr;
83  ATH_CHECK(detStore()->retrieve(theExpt,"ATLAS"));
84 
85  GeoPhysVol *world=theExpt->getPhysVol();
86  GeoModelIO::ReadGeoModel* sqliteReader = geoDbTagSvc->getSqliteReader();
87 
88  std::string detectorKey{""};
89  std::string detectorNode{""};
90  if(!sqliteReader) {
91  DecodeVersionKey decodeVersion(geoDbTagSvc.operator->(), "Pixel");
92  detectorKey = decodeVersion.tag();
93  detectorNode = decodeVersion.node();
94  if(decodeVersion.custom()) {
95  ATH_MSG_WARNING("PixelDetectorTool: Detector Information coming from a custom configuration!!" );
96  }
97  }
98 
99  IRDBRecordset_ptr switchSet = rdbAccessSvc->getRecordsetPtr("PixelSwitches", detectorKey, detectorNode);
100  const IRDBRecord *switchTable = (*switchSet)[0];
101 
102  std::string versionName;
103  std::string descrName="noDescr";
104 
105  m_dc1Geometry = switchTable->getInt("DC1GEOMETRY");
106  m_initialLayout = switchTable->getInt("INITIALLAYOUT");
107  if (!switchTable->isFieldNull("VERSIONNAME")) {
108  versionName = switchTable->getString("VERSIONNAME");
109  }
110  if (!switchTable->isFieldNull("DESCRIPTION")) {
111  descrName = switchTable->getString("DESCRIPTION");
112  }
113  m_buildDBM = switchTable->getInt("BUILDDBM");
114 
115  // Initialize switches
116  PixelSwitches switches;
117 
118  switches.setServices(m_services);
119  switches.setDC1Geometry(m_dc1Geometry);
120  switches.setAlignable(m_alignable);
122  switches.setDBM(m_buildDBM); //DBM flag
124 
125  //JBdV
127  switches.setServices(m_services); //Overwrite there for the time being.
128 
129  const PixelID * idHelper = nullptr;
130  ATH_CHECK(detStore()->retrieve(idHelper, "PixelID"));
131 
132  // Retrieve the Geometry DB Interface
133  ATH_CHECK(m_geometryDBSvc.retrieve());
134 
135  // Pass athena services to factory, etc
137  m_athenaComps->setDetStore(detStore().operator->());
138  m_athenaComps->setGeoDbTagSvc(&*geoDbTagSvc);
139  m_athenaComps->setRDBAccessSvc(&*rdbAccessSvc);
141  m_athenaComps->setIdHelper(idHelper);
142 
143  // BCM Tool.
144  if (!m_bcmTool.empty()) {
145  if (!m_bcmTool.retrieve().isFailure()) {
146  ATH_MSG_INFO("BCM_GeoModel tool retrieved: " << m_bcmTool );
147  } else {
148  ATH_MSG_INFO("Could not retrieve " << m_bcmTool << " - BCM will not be built" );
149  }
151  }
152  else {
153  ATH_MSG_INFO("BCM not requested." );
154  }
155 
156  // BLM Tool.
157  if (!m_blmTool.empty()) {
158  if (!m_blmTool.retrieve().isFailure()) {
159  ATH_MSG_INFO("BLM_GeoModel tool retrieved: " << m_blmTool );
160  }
161  else {
162  ATH_MSG_INFO("Could not retrieve " << m_blmTool << " - BLM will not be built" );
163  }
165  }
166  else {
167  ATH_MSG_INFO("BLM not requested." );
168  }
169 
170  // Service builder tool
171  if (!m_serviceBuilderTool.empty()) {
172  if (!m_serviceBuilderTool.retrieve().isFailure()) {
173  ATH_MSG_INFO("Service builder tool retrieved: " << m_serviceBuilderTool );
175  }
176  else {
177  ATH_MSG_ERROR("Could not retrieve " << m_serviceBuilderTool << ", some services will not be built." );
178  }
179  }
180  else {
181  if (versionName == "SLHC") { // TODO
182  ATH_MSG_ERROR("Service builder tool not specified. Some services will not be built" );
183  }
184  else {
185  ATH_MSG_INFO("Service builder tool not specified." );
186  }
187  }
188 
189  if(sqliteReader) {
190  // ---------------------- Build from SQLite file --------------------------
191  ATH_MSG_INFO("Building the geometry from the SQLite file");
192 
193  ATH_MSG_DEBUG("Creating the Pixel ");
194  ATH_MSG_DEBUG("Pixel Geometry Options:");
195  ATH_MSG_DEBUG(" Services = " << (m_services ? "true" : "false"));
196  ATH_MSG_DEBUG(" Alignable = " << (m_alignable ? "true" : "false"));
197  ATH_MSG_DEBUG(" DC1Geometry = " << (m_dc1Geometry ? "true" : "false"));
198  ATH_MSG_DEBUG(" InitialLayout = " << (m_initialLayout ? "true" : "false"));
199  ATH_MSG_DEBUG(" VersioName = " << versionName );
200 
201  if (versionName == "IBL") switches.setIBL();
202 
203  PixelDetectorFactoryLite thePixelFactory(sqliteReader,m_athenaComps,switches);
204  thePixelFactory.create(world);
205  m_manager=thePixelFactory.getDetectorManager();
206  }
207  else {
208  // ---------------------- Build from GeometryDB --------------------------
209  ATH_MSG_INFO("Building Pixel Detector with Version Tag: " << detectorKey
210  << " at Node: " << detectorNode);
211 
212  ATH_MSG_INFO("Building the geometry in the standard way");
213 
214  // Print the version tag:
215  std::string pixelVersionTag = rdbAccessSvc->getChildTag("Pixel", detectorKey, detectorNode);
216  ATH_MSG_INFO("Pixel Version: " << pixelVersionTag );
217 
218  // Check if version is empty. If so, then the Pixel cannot be built. This may or may not be intentional.
219  // We just issue an INFO message.
220  if (pixelVersionTag.empty()) {
221  ATH_MSG_INFO("No Pixel Version. Pixel Detector will not be built." );
222  return StatusCode::SUCCESS;
223  }
224 
225  // Unless we are using custom pixel, the switch positions are going to
226  // come from the database:
227 
228  ATH_MSG_DEBUG("PixelDetectorTool: Detector Information coming from the database and job options IGNORED." );
229  ATH_MSG_DEBUG("Keys for Pixel Switches are " << detectorKey << " " << detectorNode );
230 
231  if (versionName.empty()) {
232  if (m_dc1Geometry) {
233  versionName = "DC1";
234  }
235  else {
236  versionName = "DC2";
237  }
238  }
239 
240  if (!m_overrideVersionName.empty()) {
241  versionName = m_overrideVersionName;
242  ATH_MSG_INFO("Overriding version name: " << versionName );
243  }
244 
245  ATH_MSG_DEBUG("Creating the Pixel " );
246  ATH_MSG_DEBUG("Pixel Geometry Options:" );
247  ATH_MSG_DEBUG(" Services = " << (m_services ? "true" : "false") );
248  ATH_MSG_DEBUG(" Alignable = " << (m_alignable ? "true" : "false"));
249  ATH_MSG_DEBUG(" DC1Geometry = " << (m_dc1Geometry ? "true" : "false"));
250  ATH_MSG_DEBUG(" InitialLayout = " << (m_initialLayout ? "true" : "false"));
251  ATH_MSG_DEBUG(" VersioName = " << versionName );
252 
253  if (m_IBLParameterSvc.retrieve().isFailure()) {
254  ATH_MSG_WARNING( "Could not retrieve IBLParameterSvc");
255  }
256  else {
257  m_IBLParameterSvc->setBoolParameters(m_alignable,"alignable");
258  }
259 
260  if (versionName == "IBL") switches.setIBL();
261 
262  if (!m_devVersion) {
263 
264  if(versionName == "DC1" || versionName == "DC2") {
265  // DC1/DC2 version
266  PixelDetectorFactoryDC2 thePixel(m_athenaComps, switches);
267  thePixel.create(world);
268  m_manager = thePixel.getDetectorManager();
269  }
270  else if (versionName == "SR1") {
271  // SR1. Same a DC3 but only 1 part (barrel, ec A or ec C) built
272  PixelDetectorFactorySR1 thePixel(m_athenaComps, switches);
273  thePixel.create(world);
274  m_manager = thePixel.getDetectorManager();
275  }
276  else {
277  // DC3, SLHC, IBL
278  PixelDetectorFactory thePixel(m_athenaComps, switches);
279  if(descrName.compare("TrackingGeometry")!=0) {
280  thePixel.create(world);
281  }
282  else {
283  ATH_MSG_INFO("Pixel - TrackingGeometry tag - no geometry built" );
284  }
285  m_manager = thePixel.getDetectorManager();
286  }
287 
288  }
289  else {
290  // DEVELOPMENT VERSIONS
291  PixelDetectorFactory thePixel(m_athenaComps, switches);
292  thePixel.create(world);
293  m_manager = thePixel.getDetectorManager();
294  }
295  }
296 
297  // Register the manager to the Det Store
298  ATH_CHECK(detStore()->record(m_manager, m_manager->getName()));
299  // Add the manager to the experiment
300  theExpt->addManager(m_manager);
301 
302  // Symlink the manager
303  const SiDetectorManager * siDetManager = m_manager;
304  ATH_CHECK(detStore()->symLink(m_manager, siDetManager));
305 
306  return StatusCode::SUCCESS;
307 }
308 
310 {
312  if(proxy) {
313  proxy->reset();
314  m_manager = nullptr;
315  }
316  return StatusCode::SUCCESS;
317 }
318 
319 StatusCode
320 PixelDetectorTool::registerCallback ATLAS_NOT_THREAD_SAFE ()
321 {
322  // Thread unsafe DataHandle template and StoreGateSvc::regFcn method are used.
323  StatusCode sc = StatusCode::FAILURE;
324  if (m_alignable) {
325 
326  if (m_useDynamicAlignFolders) {
327  std::string folderName = "/Indet/AlignL1/ID";
328  if (detStore()->contains<CondAttrListCollection>(folderName)) {
329  ATH_MSG_DEBUG("Registering callback on global Container with folder " << folderName );
331  StatusCode ibltmp = detStore()->regFcn(&IGeoModelTool::align, dynamic_cast<IGeoModelTool*>(this), calc, folderName);
332  // We don't expect this to fail as we have already checked that the detstore contains the object.
333  if (ibltmp.isFailure()) {
334  ATH_MSG_ERROR("Problem when register callback on global Container with folder " << folderName);
335  } else {
336  sc = StatusCode::SUCCESS;
337  }
338  } else {
339  ATH_MSG_WARNING("Unable to register callback on global Container with folder " << folderName);
340  //return StatusCode::FAILURE;
341  }
342 
343  folderName = "/Indet/AlignL2/PIX";
344  if (detStore()->contains<CondAttrListCollection>(folderName)) {
345  ATH_MSG_DEBUG("Registering callback on global Container with folder " << folderName );
347  StatusCode ibltmp = detStore()->regFcn(&IGeoModelTool::align, dynamic_cast<IGeoModelTool*>(this), calc, folderName);
348  // We don't expect this to fail as we have already checked that the detstore contains the object.
349  if (ibltmp.isFailure()) {
350  ATH_MSG_ERROR("Problem when register callback on global Container with folder " << folderName);
351  } else {
352  sc = StatusCode::SUCCESS;
353  }
354  } else {
355  ATH_MSG_WARNING("Unable to register callback on global Container with folder " << folderName);
356  //return StatusCode::FAILURE;
357  }
358 
359  folderName = "/Indet/AlignL3";
360  if (detStore()->contains<AlignableTransformContainer>(folderName)) {
361  ATH_MSG_DEBUG("Registering callback on AlignableTransformContainer with folder " << folderName );
363  StatusCode sctmp = detStore()->regFcn(&IGeoModelTool::align, dynamic_cast<IGeoModelTool *>(this), atc, folderName);
364  if(sctmp.isFailure()) {
365  ATH_MSG_ERROR("Problem when register callback on AlignableTransformContainer with folder " << folderName);
366  } else {
367  sc = StatusCode::SUCCESS;
368  }
369  }
370  else {
371  ATH_MSG_WARNING("Unable to register callback on AlignableTransformContainer with folder " << folderName);
372  //return StatusCode::FAILURE;
373  }
374  }
375 
376 
377  else {
378  std::string folderName = "/Indet/Align";
379  if (detStore()->contains<AlignableTransformContainer>(folderName)) {
380  ATH_MSG_DEBUG("Registering callback on AlignableTransformContainer with folder " << folderName );
382  StatusCode sctmp = detStore()->regFcn(&IGeoModelTool::align, dynamic_cast<IGeoModelTool *>(this), atc, folderName);
383  if(sctmp.isFailure()) {
384  ATH_MSG_ERROR("Problem when register callback on AlignableTransformContainer with folder " << folderName);
385  } else {
386  sc = StatusCode::SUCCESS;
387  }
388  }
389  else {
390  ATH_MSG_WARNING("Unable to register callback on AlignableTransformContainer with folder "
391  << folderName << ", Alignment disabled (only if no Run2 scheme is loaded)!" );
392  //return StatusCode::FAILURE;
393  }
394  }
395 
396  if (m_tweakIBLDist) {
397  //IBLDist alignment should be made optional; Will not be available prior to period G in Run2
398  std::string ibl_folderName = "/Indet/IBLDist";
399  if (detStore()->contains<CondAttrListCollection>(ibl_folderName)) {
400  ATH_MSG_DEBUG("Registering callback on IBLDist with folder " << ibl_folderName );
402  StatusCode ibltmp = detStore()->regFcn(&IGeoModelTool::align, dynamic_cast<IGeoModelTool*>(this), calc, ibl_folderName);
403  // We don't expect this to fail as we have already checked that the detstore contains the object.
404  if (ibltmp.isFailure()) {
405  ATH_MSG_ERROR("Problem when register callback on IBLDist with folder " << ibl_folderName);
406  } else {
407  sc = StatusCode::SUCCESS;
408  }
409  } else {
410  // We don't return false, as it might be possible that we run an old configuration without new DB;
411  // Return a clear warning msg for now.
412  ATH_MSG_WARNING("Unable to register callback on IBLDist with folder " << ibl_folderName);
413  ATH_MSG_WARNING("This should not happen that no LB-IOV IBL-bowing DB is provided for this run ");
414  }
415  }// end of tweakIBLDist
416 
417  } else {
418  ATH_MSG_INFO("Alignment disabled. No callback registered" );
419  // We return failure otherwise it will try and register
420  // a GeoModelSvc callback associated with this callback.
421  }
422  return sc;
423 
424  return StatusCode::SUCCESS;
425 }
426 
427 StatusCode
429 {
430  if (!m_manager) {
431  ATH_MSG_WARNING("Manager does not exist" );
432  return StatusCode::FAILURE;
433  }
434  if (m_alignable) {
435  return m_manager->align(I,keys);
436  } else {
437  ATH_MSG_DEBUG("Alignment disabled. No alignments applied" );
438  return StatusCode::SUCCESS;
439  }
440 }
IRDBRecord::getInt
virtual int getInt(const std::string &fieldName) const =0
Get int field value.
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
PixelDetectorFactory::getDetectorManager
virtual const InDetDD::PixelDetectorManager * getDetectorManager() const
Definition: PixelDetectorFactory.cxx:212
PixelDetectorFactoryLite::create
virtual void create(GeoPhysVol *world) override
Definition: PixelDetectorFactoryLite.cxx:111
GeoModelExperiment::getPhysVol
GeoPhysVol * getPhysVol()
Destructor.
Definition: GeoModelExperiment.cxx:21
ATLAS_NOT_THREAD_SAFE
StatusCode PixelDetectorTool::registerCallback ATLAS_NOT_THREAD_SAFE()
Install fatal handler with default options.
Definition: src/PixelDetectorTool.cxx:320
PixelDetectorFactorySR1.h
PixelDetectorTool::m_blmTool
ToolHandle< IGeoSubDetTool > m_blmTool
Definition: src/PixelDetectorTool.h:58
PixelDetectorTool::m_overrideVersionName
std::string m_overrideVersionName
Definition: src/PixelDetectorTool.h:62
PixelDetectorTool::~PixelDetectorTool
virtual ~PixelDetectorTool() override final
Definition: src/PixelDetectorTool.cxx:50
StateLessPT_NewConfig.proxy
proxy
Definition: StateLessPT_NewConfig.py:392
PixelDetectorTool::initialize
virtual StatusCode initialize() override final
Definition: src/PixelDetectorTool.cxx:56
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
PixelDetectorFactoryDC2
Definition: PixelDetectorFactoryDC2.h:21
PixelDetectorTool::m_initialLayout
bool m_initialLayout
Definition: src/PixelDetectorTool.h:53
PixelSwitches
Definition: PixelSwitches.h:13
PixelDetectorFactoryDC2.h
IRDBRecord::getString
virtual const std::string & getString(const std::string &fieldName) const =0
Get string field value.
GeoModelExperiment
Definition: GeoModelExperiment.h:32
PixelDetectorTool::m_useDynamicAlignFolders
bool m_useDynamicAlignFolders
Definition: src/PixelDetectorTool.h:56
PixelDetectorFactorySR1::getDetectorManager
virtual const InDetDD::PixelDetectorManager * getDetectorManager() const
Definition: PixelDetectorFactorySR1.cxx:259
IOVSVC_CALLBACK_ARGS_P
#define IOVSVC_CALLBACK_ARGS_P(I, K)
short hand for IOVSvc call back argument list, to be used when access to formal arguments is needed,...
Definition: IOVSvcDefs.h:42
PixelDetectorTool::m_dc1Geometry
bool m_dc1Geometry
Definition: src/PixelDetectorTool.h:50
PixelGeoModelAthenaComps::setIdHelper
void setIdHelper(const PixelID *idHelper)
Definition: PixelGeoModelAthenaComps.cxx:53
IGeoModelTool::align
virtual StatusCode align(IOVSVC_CALLBACK_ARGS)=0
PixelDetectorTool::m_bcmTool
ToolHandle< IGeoSubDetTool > m_bcmTool
Definition: src/PixelDetectorTool.h:57
PixelGeometryManager.h
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
PixelDetectorFactory
Definition: PixelDetectorFactory.h:19
PixelDetectorTool::m_IBLParameterSvc
ServiceHandle< IIBLParameterSvc > m_IBLParameterSvc
Definition: src/PixelDetectorTool.h:49
PixelDetectorTool::m_devVersion
bool m_devVersion
Definition: src/PixelDetectorTool.h:54
PixelDetectorFactory.h
InDetDD::AthenaComps::setGeoDbTagSvc
void setGeoDbTagSvc(IGeoDbTagSvc *)
Definition: InDetDDAthenaComps.cxx:22
PixelDetectorTool::PixelDetectorTool
PixelDetectorTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: src/PixelDetectorTool.cxx:36
InDetDD::AthenaComps::setDetStore
void setDetStore(StoreGateSvc *)
Definition: InDetDDAthenaComps.cxx:17
PixelGeoModelAthenaComps.h
GeoModelExperiment.h
PixelDetectorFactorySR1::create
virtual void create(GeoPhysVol *world)
Definition: PixelDetectorFactorySR1.cxx:105
PixelSwitches::setDBM
void setDBM(bool flag=false)
Definition: PixelSwitches.cxx:43
InDetDD_Defs.h
PixelDetectorManager.h
IRDBAccessSvc.h
Definition of the abstract IRDBAccessSvc interface.
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
PixelDetectorTool::create
virtual StatusCode create() override final
Create the Detector Node corresponding to this tool.
Definition: src/PixelDetectorTool.cxx:70
ClassID_traits.h
a traits class that associates a CLID to a type T It also detects whether T inherits from Gaudi DataO...
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
AlignableTransformContainer.h
DecodeVersionKey
This is a helper class to query the version tags from GeoModelSvc and determine the appropriate tag a...
Definition: DecodeVersionKey.h:18
ClassID_traits
Default, invalid implementation of ClassID_traits.
Definition: Control/AthenaKernel/AthenaKernel/ClassID_traits.h:40
test_pyathena.parent
parent
Definition: test_pyathena.py:15
DecodeVersionKey::tag
const std::string & tag() const
Return version tag.
Definition: DecodeVersionKey.cxx:91
GeoModelTool
Definition: GeoModelTool.h:17
InDetDD::AthenaComps::setRDBAccessSvc
void setRDBAccessSvc(IRDBAccessSvc *)
Definition: InDetDDAthenaComps.cxx:27
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
IRDBRecordset_ptr
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
Definition: IRDBAccessSvc.h:25
PixelDetectorTool::m_servicesOnLadder
bool m_servicesOnLadder
Definition: src/PixelDetectorTool.h:47
PixelSwitches::setInitialLayout
void setInitialLayout(bool flag)
Definition: PixelSwitches.cxx:29
PixelSwitches::setServices
void setServices(bool flag)
Definition: PixelSwitches.cxx:19
PixelDetectorFactoryDC2::getDetectorManager
virtual const InDetDD::PixelDetectorManager * getDetectorManager() const
Definition: PixelDetectorFactoryDC2.cxx:184
PixelSwitches::setIBL
void setIBL(bool flag=true)
Definition: PixelSwitches.cxx:40
PixelSwitches::setServicesOnLadder
void setServicesOnLadder(bool flag)
Definition: PixelSwitches.cxx:22
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
PixelDetectorTool::m_geometryDBSvc
ServiceHandle< IGeometryDBSvc > m_geometryDBSvc
Definition: src/PixelDetectorTool.h:60
InDetDD::PixelDetectorManager
Definition: PixelDetectorManager.h:47
CaloCellTimeCorrFiller.folderName
string folderName
Definition: CaloCellTimeCorrFiller.py:20
PixelSwitches.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
PixelDetectorTool::m_buildDBM
bool m_buildDBM
Definition: src/PixelDetectorTool.h:55
InDetDD::InDetDetectorManager::align
StatusCode align(IOVSVC_CALLBACK_ARGS) const
PixelGeoModelAthenaComps::setBCM
void setBCM(IGeoSubDetTool *bcmTool)
Definition: PixelGeoModelAthenaComps.cxx:17
PixelGeoModelAthenaComps::setServiceBuilderTool
void setServiceBuilderTool(IInDetServMatBuilderTool *serviceBuilderTool)
Definition: PixelGeoModelAthenaComps.cxx:41
DataHandle< CondAttrListCollection >
PixelDetectorFactory::create
virtual void create(GeoPhysVol *world)
Definition: PixelDetectorFactory.cxx:112
PixelDetectorFactorySR1
Definition: PixelDetectorFactorySR1.h:18
DecodeVersionKey.h
PixelDetectorTool::m_tweakIBLDist
bool m_tweakIBLDist
Definition: src/PixelDetectorTool.h:52
GeoModelExperiment::addManager
void addManager(const GeoVDetectorManager *)
Definition: GeoModelExperiment.cxx:40
PixelSwitches::setDynamicAlignFolders
void setDynamicAlignFolders(const bool useDynAlignFolders)
Definition: PixelSwitches.cxx:46
PixelGeoModelAthenaComps
Class to hold various Athena components.
Definition: PixelGeoModelAthenaComps.h:16
IRDBRecord.h
Definition of the abstract IRDBRecord interface.
IGeoModelTool
Definition: IGeoModelTool.h:12
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
IRDBRecord::isFieldNull
virtual bool isFieldNull(const std::string &fieldName) const =0
Check if the field value is NULL.
PixelDetectorTool::m_services
bool m_services
Definition: src/PixelDetectorTool.h:46
IRDBRecord
IRDBRecord is one record in the IRDBRecordset object.
Definition: IRDBRecord.h:27
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
InDetDD::AthenaComps::setGeometryDBSvc
void setGeometryDBSvc(IGeometryDBSvc *)
Definition: InDetDDAthenaComps.cxx:32
PixelDetectorTool::align
virtual StatusCode align(IOVSVC_CALLBACK_ARGS) override
Definition: src/PixelDetectorTool.cxx:428
InDetDD::SiDetectorManager
Definition: SiDetectorManager.h:60
PixelDetectorFactoryLite
Definition: PixelDetectorFactoryLite.h:28
PixelGeoModelAthenaComps::setBLM
void setBLM(IGeoSubDetTool *blmTool)
Definition: PixelGeoModelAthenaComps.cxx:29
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
PixelDetectorTool.h
I
#define I(x, y, z)
Definition: MD5.cxx:116
IRDBRecordset.h
Definition of the abstract IRDBRecordset interface.
PixelDetectorFactoryLite::getDetectorManager
virtual const InDetDD::PixelDetectorManager * getDetectorManager() const override
Definition: PixelDetectorFactoryLite.h:43
PixelDetectorFactoryDC2::create
virtual void create(GeoPhysVol *world)
Definition: PixelDetectorFactoryDC2.cxx:120
checker_macros.h
Define macros for attributes used to control the static checker.
PixelSwitches::setAlignable
void setAlignable(bool flag)
Definition: PixelSwitches.cxx:37
PixelID
Definition: PixelID.h:67
SG::DataProxy
Definition: DataProxy.h:45
PixelDetectorFactoryLite.h
beamspotnt.calc
calc
Definition: bin/beamspotnt.py:1252
PixelSwitches::setDC1Geometry
void setDC1Geometry(bool flag)
Definition: PixelSwitches.cxx:33
IGeoDbTagSvc.h
PixelDetectorTool::m_athenaComps
PixelGeoModelAthenaComps * m_athenaComps
Definition: src/PixelDetectorTool.h:64
PixelDetectorTool::m_manager
const InDetDD::PixelDetectorManager * m_manager
Definition: src/PixelDetectorTool.h:61
PixelDetectorTool::m_alignable
bool m_alignable
Definition: src/PixelDetectorTool.h:51
PixelDetectorTool::clear
virtual StatusCode clear() override final
Definition: src/PixelDetectorTool.cxx:309
ServiceHandle< IGeoDbTagSvc >
PixelDetectorTool::m_serviceBuilderTool
PublicToolHandle< IInDetServMatBuilderTool > m_serviceBuilderTool
Definition: src/PixelDetectorTool.h:59
DataProxy.h