ATLAS Offline Software
DBPixelGeoManager.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 #include "DBPixelGeoManager.h"
6 #include "PixelLegacyManager.h"
7 #include "PixelMaterialMap.h"
8 #include "PixelStaveTypes.h"
12 
13 // to permit access to StoreGate
14 #include "StoreGate/StoreGateSvc.h"
15 
19 #include "GeoModelKernel/GeoMaterial.h"
20 #include "GeoModelKernel/Units.h"
21 
22 //
23 // Get the pixelDD Manager from SG.
24 //
29 
30 //
31 // Distorted material manager
32 //
34 #include "GaudiKernel/SystemOfUnits.h"
35 
37 
38 #include <string>
39 #include <iostream>
40 #include <sstream>
41 
42 using namespace std;
43 
45  : PixelGeometryManager(athenaComps),
46  m_eta(0),
47  m_phi(0),
48  m_currentLD(0),
49  m_BarrelEndcap(0),
50  m_side(0),
51  m_diskFrontBack(0),
52  m_servicesOnLadder(true),
53  m_services(true),
54  m_initialLayout(false),
55  m_dc1Geometry(false),
56  m_alignable(true),
57  m_ibl(false),
58  m_PlanarModuleNumber(0),
59  m_3DModuleNumber(0),
60  m_dbm(false),
61  m_legacyManager(nullptr),
62  m_gangedIndexMap(nullptr),
63  m_frameElementMap(nullptr),
64  m_diskRingIndexMap(nullptr),
65  m_zPositionMap(nullptr),
66  m_dbVersion(0),
67  m_defaultLengthUnit(Gaudi::Units::mm)
68 {
69  m_commonItems = nullptr;
70  m_pDDmgr = nullptr;
71 
72  init();
73 }
74 
75 void
77 {
78  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "Using ORACLE PIXEL GEOMETRY MANAGER" << endmsg;
79 
80  IRDBAccessSvc *rdbSvc = athenaComps()->rdbAccessSvc();
81  const IGeoDbTagSvc *geoDbTag = athenaComps()->geoDbTagSvc();
82 
83  // Get version tag and node for Pixel.
84  DecodeVersionKey versionKey(geoDbTag,"Pixel");
85  const std::string& detectorKey = versionKey.tag();
86  const std::string& detectorNode = versionKey.node();
87 
88  // Get version tag and node for InnerDetector.
89  DecodeVersionKey indetVersionKey(geoDbTag,"InnerDetector");
90 
91  m_versionTag = rdbSvc->getChildTag("Pixel", versionKey.tag(), versionKey.node());
92 
94 //
95 // Gets the structures from the det store
96 //
98 
99  if(msgLvl(MSG::INFO)) {
100  msg(MSG::INFO) << "Retrieving Record Sets from database ..." << endmsg;
101  msg(MSG::INFO) << "Key = " << detectorKey << " Node = " << detectorNode << endmsg;
102  }
103 
104  //atls = rdbSvc->getRecordset("AtlasMother",geoModel->atlasVersion(), "ATLAS");
105  m_PixelSwitches = rdbSvc->getRecordsetPtr("PixelSwitches", detectorKey, detectorNode);
106  m_PixelBarrelGeneral = rdbSvc->getRecordsetPtr("PixelBarrelGeneral", detectorKey, detectorNode);
107  m_PixelBarrelService = rdbSvc->getRecordsetPtr("PixelBarrelService", detectorKey, detectorNode);
108  m_PixelCommon = rdbSvc->getRecordsetPtr("PixelCommon", detectorKey, detectorNode);
109  m_PixelEnvelope = rdbSvc->getRecordsetPtr("PixelEnvelope", detectorKey, detectorNode);
110  m_PixelDisk = rdbSvc->getRecordsetPtr("PixelDisk", detectorKey, detectorNode);
111  m_PixelDiskRing = rdbSvc->getRecordsetPtr("PixelDiskRing", detectorKey, detectorNode);
112  m_PixelRing = rdbSvc->getRecordsetPtr("PixelRing", detectorKey, detectorNode);
113  m_PixelEndcapGeneral = rdbSvc->getRecordsetPtr("PixelEndcapGeneral", detectorKey, detectorNode);
114  m_PixelEndcapService = rdbSvc->getRecordsetPtr("PixelEndcapService", detectorKey, detectorNode);
115  m_PixelEnvelopeService = rdbSvc->getRecordsetPtr("PixelEnvelopeService", detectorKey, detectorNode);
116  m_PixelLayer = rdbSvc->getRecordsetPtr("PixelLayer", detectorKey, detectorNode);
117  m_PixelModule = rdbSvc->getRecordsetPtr("PixelModule", detectorKey, detectorNode);
118  m_PixelModuleSvc = rdbSvc->getRecordsetPtr("PixelModuleSvc", detectorKey, detectorNode);
119  m_PixelStave = rdbSvc->getRecordsetPtr("PixelStave", detectorKey, detectorNode);
120  m_PixelStaveZ = rdbSvc->getRecordsetPtr("PixelStaveZ", detectorKey, detectorNode);
121  m_PixelTopLevel = rdbSvc->getRecordsetPtr("PixelTopLevel", detectorKey, detectorNode);
122  m_PixelReadout = rdbSvc->getRecordsetPtr("PixelReadout", detectorKey, detectorNode);
123  m_PixelGangedPixels = rdbSvc->getRecordsetPtr("GangedPixels", detectorKey, detectorNode);
124  m_PixelBarrelCable = rdbSvc->getRecordsetPtr("PixelBarrelCable", detectorKey, detectorNode);
125  m_PixelTMT = rdbSvc->getRecordsetPtr("PixelTMT", detectorKey, detectorNode);
126  m_PixelOmega = rdbSvc->getRecordsetPtr("PixelOmega", detectorKey, detectorNode);
127  m_PixelOmegaGlue = rdbSvc->getRecordsetPtr("PixelOmegaGlue", detectorKey, detectorNode);
128  m_PixelAlTube = rdbSvc->getRecordsetPtr("PixelAlTube", detectorKey, detectorNode);
129  m_PixelFluid = rdbSvc->getRecordsetPtr("PixelFluid", detectorKey, detectorNode);
130  m_PixelConnector = rdbSvc->getRecordsetPtr("PixelConnector", detectorKey, detectorNode);
131  m_PixelPigtail = rdbSvc->getRecordsetPtr("PixelPigtail", detectorKey, detectorNode);
132  m_PixelSimpleService = rdbSvc->getRecordsetPtr("PixelSimpleService", detectorKey, detectorNode);
133  m_PixelFrame = rdbSvc->getRecordsetPtr("PixelFrame", detectorKey, detectorNode);
134  m_PixelFrameSect = rdbSvc->getRecordsetPtr("PixelFrameSect", detectorKey, detectorNode);
135  m_PixelIBLStave = rdbSvc->getRecordsetPtr("PixelIBLStave" , detectorKey, detectorNode);
136  m_PixelIBLSupport = rdbSvc->getRecordsetPtr("PixelIBLSupport", detectorKey, detectorNode);
137  m_PixelIBLFlex = rdbSvc->getRecordsetPtr("PixelIBLFlex", detectorKey, detectorNode);
138  m_PixelIBLFlexMaterial = rdbSvc->getRecordsetPtr("PixelIBLFlexMaterial", detectorKey, detectorNode);
139  m_PixelIBLGlueGrease = rdbSvc->getRecordsetPtr("PixelIBLGlueGrease", detectorKey, detectorNode);
140  m_PixelConicalStave = rdbSvc->getRecordsetPtr("PixelConicalStave", detectorKey, detectorNode);
141 
142  // Weights table
143  m_weightTable = rdbSvc->getRecordsetPtr("PixelWeights", detectorKey, detectorNode);
144 
145  // Extra Scaling table. This is used for extra material studies. For nominal material the table should be empty.
146  // NB this is at InnerDetector level node.
147  m_scalingTable = rdbSvc->getRecordsetPtr("PixelMatScaling", indetVersionKey.tag(), indetVersionKey.node());
148 
149  // MaterialMap
150  m_materialTable = rdbSvc->getRecordsetPtr("PixelMaterialMap", detectorKey, detectorNode);
151 
152  // Pixel stave types
153  m_staveTypeTable = rdbSvc->getRecordsetPtr("PixelStaveType", detectorKey, detectorNode);
154 
155  // DBM
156  m_DBMTelescope = rdbSvc->getRecordsetPtr("DBMTelescope", detectorKey, detectorNode);
157  m_DBMBracket = rdbSvc->getRecordsetPtr("DBMBracket", detectorKey, detectorNode);
158  m_DBMCage = rdbSvc->getRecordsetPtr("DBMCage", detectorKey, detectorNode);
159  m_DBMModule = rdbSvc->getRecordsetPtr("DBMModule", detectorKey, detectorNode);
160  m_dbmWeightTable = rdbSvc->getRecordsetPtr("DBMMaterials", detectorKey, detectorNode);
161 
163 
164  if(msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "Database version number: " << m_dbVersion << endmsg;
165 
166  if (m_dbVersion < 4) {
167  m_legacyManager = new PixelLegacyManager(rdbSvc, detectorKey, detectorNode);
168  }
169 
170  if(msgLvl(MSG::INFO)) msg(MSG::INFO) << "... Record Sets retrieved." << endmsg;
171 
173 
174  // Set default lenth unit to Gaudi::Units::mm for newer version and Gaudi::Units::cm for older versions
176 
177  // Get the top level placements
179 
180  // If all individual pieces are not present, then actually all are present.
181  m_allPartsPresent = (!m_placements->present("Barrel") && !m_placements->present("EndcapA") && !m_placements->present("EndcapC"));
182 
183  // cache the number of inner frames
184  if (m_dbVersion < 3) {
185  m_barrelInFrames = (*m_PixelBarrelGeneral)[0]->getInt("NFRAMEIN");
186  m_endcapInFrames = (*m_PixelEndcapGeneral)[0]->getInt("NFRAMEIN");
187  } else {
188  m_barrelInFrames = 0;
189  m_endcapInFrames = 0;
190  }
191 
192  //
193  // Get the InDet material manager. This is a wrapper around the geomodel one with some extra functionality to deal
194  // with weights table if it exists
195 
196  m_pMatMgr = new InDetMaterialManager("PixelMaterialManager", athenaComps());
199 
200  // add the DBM weight table
202 
203  // Create material map
205  if (m_materialTable->size() == 0) addDefaultMaterials();
206 
207  // Create stave type map
209 
210 
211  //
212  // Print the version number for the barrel and endcap geometry
213  //
214  //cout << "Instantiating Pixel Detector" << endl;
215  //cout << "Barrel Version " << this->PixelBarrelMajorVersion() << "." << this->PixelBarrelMinorVersion() << endl;
216  //cout << "Endcap Version " << this->PixelEndcapMajorVersion() << "." << this->PixelEndcapMinorVersion() << endl;
217 }
218 
220 {
221  return m_pMatMgr;
222 }
223 
225 {
226  return m_legacyManager;
227 }
228 
229 
231 {
232  delete m_placements;
233  delete m_distortedMatManager;
234  delete m_materialMap;
235  delete m_pixelStaveTypes;
236  delete m_legacyManager;
237  delete m_pMatMgr;
238  delete m_gangedIndexMap;
239  delete m_diskRingIndexMap;
240  delete m_zPositionMap;
241  delete m_frameElementMap;
242 }
243 
244 
247 {
248  return m_commonItems;
249 }
250 
251 
252 const InDetDD::SiCommonItems *
254 {
255  return m_commonItems;
256 }
257 
258 
259 void
261 {
263 }
264 
265 
266 const PixelID *
268 {
269  return athenaComps()->getIdHelper();
270 }
271 
272 
273 const GeoTrf::Transform3D &
274 DBPixelGeoManager::partTransform(const std::string & partName) const
275 {
276  return m_placements->transform(partName);
277 }
278 
279 
280 bool
281 DBPixelGeoManager::partPresent(const std::string & partName) const
282 {
283  // First check if overridden from text file.
284  if (partName == "Barrel") {
285  if (db()->testField("PixelCommon","DOBARREL")) {
286  return db()->getInt("PixelCommon","DOBARREL");
287  }
288  } else if (partName == "EndcapA" || partName == "EndcapC") {
289  if (db()->testField("PixelCommon","DOENDCAPS")) {
290  return db()->getInt("PixelCommon","DOENDCAPS");
291  }
292  }
293  // otherwise check database.
294  return (m_allPartsPresent || m_placements->present(partName));
295 }
296 
298 //
299 // Setting of Layer/Disk and Barrel/EndCap
300 //
303 {
304  if(isBarrel() ) {
305  if(i <= PixelBarrelNLayer()) {
306  m_currentLD=i;
307  } else {
308  msg(MSG::ERROR) << "Layer set out of bounds: " << i << ", Setting it to 0" << endmsg;
309  m_currentLD = 0;
310  }
311  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) <<" Current layer set to " << m_currentLD << endmsg;
312  }
313  if(isEndcap() ) {
314  if (i<= PixelEndcapNDisk() ) {
315  m_currentLD=i;
316  } else {
317  msg(MSG::ERROR) << "Disk set out of bounds: " << i << ", Setting it to 0" << endmsg;
318  m_currentLD = 0;
319  }
320  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) <<" Current disk set to " << m_currentLD << endmsg;
321  }
322  if(isDBM() ) {
323  if (i<= 2 ) {
324  m_currentLD=i;
325  } else {
326  msg(MSG::ERROR) << "DBM: Disk set out of bounds: " << i << ", Setting it to 0" << endmsg;
327  m_currentLD = 0;
328  }
329  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) <<" Current disk set to " << m_currentLD << endmsg;
330  }
331 }
332 
334  //msg(MSG::DEBUG) << "Setting Barrel" << endmsg;
335  m_BarrelEndcap = 0;
336 }
338  m_BarrelEndcap = 1;
339  //msg(MSG::DEBUG) << "Setting Endcap" << endmsg;
340 }
342  m_BarrelEndcap = 2;
343  //msg(MSG::DEBUG) << "Setting DBM" << endmsg;
344 }
346 //
347 // Check if the current layer/disk has to be retrieved
348 // By default in MySQL all the three layers have to be retrieved
349 // If m_initialLayout is true we ignore NOVA for layer/disk 1.
350 // For initial layout layer=1 and disk=1 (2nd layer and disk) is missing.
351 //
354  if(isBarrel()) {
355  if (m_initialLayout && m_currentLD == 1) return false;
356  std::ostringstream A;
357  A << "_" << m_currentLD;
358  // More than 3 layers not yet supported in database so
359  // if not present in text file assume using this layer
360  return db()->getInt(m_PixelBarrelGeneral,"USELAYER"+A.str());
361  }
362  if(isEndcap() ) {
363  if (m_initialLayout && m_currentLD == 1) return false;
364  std::ostringstream A;
365  A << "_" << m_currentLD;
366  // More than 3 disks not yet supported in database so
367  // if not present in text file assume using this disks
368  return db()->getInt(m_PixelEndcapGeneral,"USEDISK"+A.str());
369  }
370  return false;
371 }
372 
373 
375  return m_BarrelEndcap == 0;
376 }
378  return m_BarrelEndcap == 1;
379  return false;
380 }
382  return m_BarrelEndcap == 2;
383 }
384 
386  return m_services;
387 }
389  return m_servicesOnLadder;
390 }
391 
393  return m_initialLayout;
394 }
395 
397  m_dc1Geometry = flag;
399 }
400 
402  return m_dc1Geometry;
403 }
404 
406  return m_alignable;
407 }
408 
409 
411  if(m_pDDmgr == nullptr) {
412  //
413  // retrieve the pointer to the DD manager
414  //
415  StatusCode sc = athenaComps()->detStore()->retrieve(m_pDDmgr);
416  if (sc.isFailure()) {
417  msg(MSG::ERROR) << "Cannot retrieve PixelDetectorManager" << endmsg;
418  }
419  }
420  return m_pDDmgr;
421 }
422 
423 
426  return m_distortedMatManager;
427 }
428 
429 
431 //
432 // Calculate Thickness. This is used for the materials
433 // which thickness is given in % of r.l.
434 //
436 double DBPixelGeoManager::CalculateThickness(double tck,const string& mat) {
437  GeoIntrusivePtr<const GeoMaterial> material{m_pMatMgr->getMaterial(mat)};
438  double rl = material->getRadLength();
439  return -1.*rl*tck/100.;
440 }
441 
443 {
444  int type = 0;
445  if (ibl()) {
446  if (isBarrel()) {
447  type = db()->getInt(m_PixelLayer,"MODULETYPE",m_currentLD);
448  }
449  } else {
450  if(isBarrel()) type = m_currentLD;
452  }
453  return type;
454 }
455 
457 {
458  int type = -1;
459  if (!isBarrel()||m_currentLD>0) return type;
460 
461  if (ibl()) {
462  try {
463  type = db()->getInt(m_PixelLayer,"MODULETYPE3D",m_currentLD);
464  return type;
465  }
466  catch(...)
467  {
468  return moduleType()+1;
469  }
470  }
471 
472  return type;
473 }
474 
475 
476 
478 //
479 // Si Boards Parameters:
480 //
482 double DBPixelGeoManager::PixelBoardWidth(bool isModule3D)
483 {
484  if(ibl()&&isModule3D){
485  return db()->getDouble(m_PixelModule,"BOARDWIDTH",moduleType3D())*mmcm();
486  }
487 
488  return db()->getDouble(m_PixelModule,"BOARDWIDTH",moduleType())*mmcm();
489 }
490 
491 double DBPixelGeoManager::PixelBoardLength(bool isModule3D)
492 {
493  if(ibl()&&isModule3D)
494  return db()->getDouble(m_PixelModule,"BOARDLENGTH",moduleType3D())*mmcm();
495 
496  return db()->getDouble(m_PixelModule,"BOARDLENGTH",moduleType())*mmcm();
497 }
498 
500 {
501  if (m_dc1Geometry && isBarrel() && (m_currentLD == 0)) {
502  return 200*Gaudi::Units::micrometer;
503  }
504 
505  if(ibl()&&isModule3D)
506  return db()->getDouble(m_PixelModule,"BOARDTHICK",moduleType3D())*mmcm();
507  return db()->getDouble(m_PixelModule,"BOARDTHICK",moduleType())*mmcm();
508 }
509 
511 {
512  return DesignZActiveArea(isModule3D);
513 }
514 
515 
517 //
518 // Hybrid Parameters:
519 //
521 double DBPixelGeoManager::PixelHybridWidth(bool isModule3D)
522 {
523  if(ibl()&&isModule3D)
524  return db()->getDouble(m_PixelModule,"HYBRIDWIDTH",moduleType3D())*mmcm();
525 
526  return db()->getDouble(m_PixelModule,"HYBRIDWIDTH",moduleType())*mmcm();
527 }
528 
529 double DBPixelGeoManager::PixelHybridLength(bool isModule3D)
530 {
531  if(ibl()&&isModule3D)
532  return db()->getDouble(m_PixelModule,"HYBRIDLENGTH",moduleType3D())*mmcm();
533 
534  return db()->getDouble(m_PixelModule,"HYBRIDLENGTH",moduleType())*mmcm();
535 }
536 
538 {
539  if(ibl()&&isModule3D)
540  return db()->getDouble(m_PixelModule,"HYBRIDTHICK",moduleType3D())*mmcm();
541 
542  return db()->getDouble(m_PixelModule,"HYBRIDTHICK",moduleType())*mmcm();
543 }
544 
546 //
547 // Chip Parameters:
548 //
550 
551 double DBPixelGeoManager::PixelChipWidth(bool isModule3D)
552 {
553  if(ibl()&&isModule3D)
554  return db()->getDouble(m_PixelModule,"CHIPWIDTH",moduleType3D())*mmcm();
555 
556  return db()->getDouble(m_PixelModule,"CHIPWIDTH",moduleType())*mmcm();
557 }
558 
559 double DBPixelGeoManager::PixelChipLength(bool isModule3D)
560 {
561  if(ibl()&&isModule3D)
562  return db()->getDouble(m_PixelModule,"CHIPLENGTH",moduleType3D())*mmcm();
563 
564  return db()->getDouble(m_PixelModule,"CHIPLENGTH",moduleType())*mmcm();
565 }
566 
567 double DBPixelGeoManager::PixelChipGap(bool isModule3D)
568 {
569  if(ibl()&&isModule3D)
570  return db()->getDouble(m_PixelModule,"CHIPGAP",moduleType3D())*mmcm();
571 
572  return db()->getDouble(m_PixelModule,"CHIPGAP",moduleType())*mmcm();
573 }
574 
575 double DBPixelGeoManager::PixelChipOffset(bool isModule3D)
576 {
577  if(!ibl()||GetLD()!=0||!isBarrel()||!(db()->testField(m_PixelModule,"CHIPOFFSET"))){
578  return 0.;
579  }
580 
581  if(isModule3D)
582  return db()->getDouble(m_PixelModule,"CHIPOFFSET",moduleType3D())*mmcm();
583 
584  return db()->getDouble(m_PixelModule,"CHIPOFFSET",moduleType())*mmcm();
585 }
586 
587 double DBPixelGeoManager::PixelChipThickness(bool isModule3D) {
588  if(ibl()&&isModule3D)
589  return db()->getDouble(m_PixelModule,"CHIPTHICK",moduleType3D())*mmcm();
590 
591  return db()->getDouble(m_PixelModule,"CHIPTHICK",moduleType())*mmcm();
592 }
593 
594 
595 
597 //
598 // Module services
599 //
601 
603 {
604  if(!ibl()||GetLD()>0||!isBarrel()) return 0;
605 
606  if (db()->getTableSize(m_PixelModuleSvc))
607  return db()->getTableSize(m_PixelModuleSvc);
608  return 0;
609 }
610 
612 {
613  return db()->getDouble(m_PixelModuleSvc,"LENGTH",svc)*mmcm();
614 }
615 
617 {
618  return db()->getDouble(m_PixelModuleSvc,"WIDTH",svc)*mmcm();
619 }
620 
622 {
623  return db()->getDouble(m_PixelModuleSvc,"THICK",svc)*mmcm();
624 }
625 
627 {
628  return db()->getDouble(m_PixelModuleSvc,"XOFFSET",svc)*mmcm();
629 }
630 
632 {
633  return db()->getDouble(m_PixelModuleSvc,"YOFFSET",svc)*mmcm();
634 }
635 
637 {
638  return db()->getDouble(m_PixelModuleSvc,"ZOFFSET",svc)*mmcm();
639 }
640 
642 {
643  return db()->getInt(m_PixelModuleSvc,"FULLSIZE",svc);
644 }
645 
647 {
648  return db()->getInt(m_PixelModuleSvc,"MODULE3D",svc)*mmcm();
649 }
650 
652 {
653  return db()->getString(m_PixelModuleSvc,"NAME",svc);
654 }
655 
657 {
658  return db()->getString(m_PixelModuleSvc,"MATERIAL",svc);
659 }
660 
661 
662 
664 //
665 // Pixel Disks carbon structure
666 //
669 
670  int isup=0;
671  if (a == "Inner") {
672  isup = 0;
673  } else if(a == "Central") {
674  isup = 1;
675  } else {
676  isup = 2;
677  }
678 
679  return PixelDiskSupportRMin(isup);
680 }
681 
683  int isup=0;
684  if (a == "Inner") {
685  isup = 0;
686  } else if(a == "Central") {
687  isup = 1;
688  } else {
689  isup = 2;
690  }
691  return PixelDiskSupportRMax(isup);
692 }
693 
695 
696  int isup=0;
697  if (a == "Inner") {
698  isup = 0;
699  } else if(a == "Central") {
700  isup = 1;
701  } else {
702  isup = 2;
703  }
704  return PixelDiskSupportThickness(isup);
705 }
706 
707 
709 
710  if (dbVersion() < 3) return 0;
711  int isup = 0;
712  if (a == "Inner") {
713  isup = 0;
714  } else if(a == "Central") {
715  isup = 1;
716  } else {
717  isup = 2;
718  }
719  return PixelDiskSupportMaterialTypeNum(isup);
720 }
721 
722 
724 //
725 // Central Services
726 //
728 //
729 // This is complicated in the DB...
730 // If Rmin < 0 this means that the cylinder has to be placed only once
731 // So I return RMin with its sign, for further processing by the service
732 // methods.
733 // If RMax is <0 the thickness is given in % of r.l. which have to be
734 // calculated by the method calculatethickness
735 //
736 // If Zmin and Zmax have DIFFERENT sign, then the thickness is given in
737 // % of r.l....
738 //
739 
741  // FIXME
742  /*
743  if (dbVersion() < 3) {
744  if(isBarrel() ) {
745  if(a == "Inside") return (*m_PixelBarrelGeneral)[0]->getInt("NFRAMEIN");
746  if(a == "Outside") return (*m_PixelBarrelGeneral)[0]->getInt("NFRAMEOUT");
747  }
748  if(isEndcap() ) {
749  if(a == "Inside") return (*m_PixelEndcapGeneral)[0]->getInt("NFRAMEIN");
750  if(a == "Outside") return (*m_PixelEndcapGeneral)[0]->getInt("NFRAMEOUT");
751  }
752  return 0;
753  } else {
754  */
755  // a is ignored. Use frame num to distinguish between inside (<1000) and ouside (>=1000).
756  if(type == "simple") return db()->getTableSize(m_PixelSimpleService);
757  if(type == "barrel") return db()->getTableSize(m_PixelBarrelService);
758  if(type == "endcap") return db()->getTableSize(m_PixelEndcapService);
759  if(type == "envelope") return db()->getTableSize(m_PixelEnvelopeService);
760  return 0;
761  //}
762 }
763 
764 // Name used when naming G4/Geo volumes
765 std::string DBPixelGeoManager::PixelServiceName(const std::string & type, int index) {
766 
767  if (useLegacy() || !getPixelServiceRecordTestField("VOLNAME",type,index)) {
768  return "";
769  } else {
770  return getPixelServiceRecordString("VOLNAME",type,index);
771  }
772 }
773 
774 
775 // Flag to say whether volume should be described in both positive and
776 // negative halves.
777 bool DBPixelGeoManager::PixelServiceZsymm(const std::string & type, int index) {
778  if (dbVersion() < 3 || !getPixelServiceRecordTestField("ZSYMM",type,index)) {
779  // If ZSYMM not defined use old logic to determine if volume is
780  // duplicated in both positive and negative halves.
781  double rmin = getPixelServiceRecordDouble("RIN",type,index);
782  double zmin = getPixelServiceRecordDouble("ZIN",type,index);
783  return (rmin>0 && zmin > 0.000001);
784  } else {
785  return getPixelServiceRecordInt("ZSYMM",type,index);
786  }
787 }
788 
789 
790 double DBPixelGeoManager::PixelServiceRMin(const std::string & type, int index) {
791  return std::abs(getPixelServiceRecordDouble("RIN",type,index)) * mmcm();
792 }
793 
794 double DBPixelGeoManager::PixelServiceRMax(const std::string & type, int index) {
795  double rtmp = getPixelServiceRecordDouble("ROUT",type,index);
796  // If this is negative this is the thickness of the cyl in % of r.l.
797  double rmin = PixelServiceRMin(type,index);
798  double rmax = 0;
799  if(rtmp > 0) {
800  rmax = rtmp * mmcm();
801  } else {
802  string material = PixelServiceMaterial(type,index);
803  rmax = rmin + CalculateThickness(rtmp, material);
804  }
805  return rmax;
806 }
807 
808 double DBPixelGeoManager::PixelServiceRMin2(const std::string & type, int index) {
810  return 0;
811  } else {
813  }
814 }
815 
816 double DBPixelGeoManager::PixelServiceRMax2(const std::string & type, int index) {
817  if (!getPixelServiceRecordTestField("ROUT2",type,index)) {
818  return 0;
819  } else {
821  }
822 }
823 
824 double DBPixelGeoManager::PixelServiceZMin(const std::string & type, int index) {
825  return getPixelServiceRecordDouble("ZIN",type,index) * mmcm();
826 }
827 
828 double DBPixelGeoManager::PixelServiceZMax(const std::string & type, int index) {
829  double zout = getPixelServiceRecordDouble("ZOUT",type,index);
830  double zmin = PixelServiceZMin(type,index);
831  double zmax = 0;
832  // If zin and zout are opposite sign then zout is the thickness of the cyl in % of r.l.
833  if(zmin * zout > -0.000000001) {
834  zmax = zout * mmcm();
835  } else {
836  string material = PixelServiceMaterial(type,index);
837  double sign = (zmin > 0) ? 1: -1;
838  zmax = zmin + sign*CalculateThickness(zout, material);
839  }
840  return zmax;
841 }
842 
843 double DBPixelGeoManager::PixelServicePhiLoc(const std::string & type, int index) {
845  return 0;
846  } else {
848  }
849 }
850 
851 double DBPixelGeoManager::PixelServiceWidth(const std::string & type, int index) {
852  if (!getPixelServiceRecordTestField("WIDTH",type,index)) {
853  return 0;
854  } else {
855  // Can be in degree or Gaudi::Units::mm. Leave it to GeoPixelServices to interpret.
856  return getPixelServiceRecordDouble("WIDTH",type,index);
857  }
858 }
859 
860 int DBPixelGeoManager::PixelServiceRepeat(const std::string & type, int index) {
861  if (!getPixelServiceRecordTestField("REPEAT",type,index)) {
862  return 0;
863  } else {
864  return getPixelServiceRecordInt("REPEAT",type,index);
865  }
866 }
867 
868 std::string DBPixelGeoManager::PixelServiceShape(const std::string & type, int index) {
869  if (type == "simple") return "TUBE";
870  if (!getPixelServiceRecordTestField("SHAPE",type,index)) {
871  return "TUBE";
872  } else {
873  return getPixelServiceRecordString("SHAPE",type,index);
874  }
875 }
876 
877 
878 int DBPixelGeoManager::PixelServiceShift(const std::string & type, int index) {
879  if (!getPixelServiceRecordTestField("SHIFT",type,index)) {
880  return 0;
881  } else {
882  return getPixelServiceRecordInt("SHIFT",type,index);
883  }
884 }
885 
886 
887 int DBPixelGeoManager::PixelServiceLD(const std::string & type, int index) {
888  return getPixelServiceRecordInt("LAYERNUM",type,index)-1;
889 }
890 
891 string DBPixelGeoManager::PixelServiceMaterial(const std::string & type, int index) {
892 
893  int imat = 0;
894  if (type != "simple") {
895  imat = getPixelServiceRecordInt("MATERIAL",type,index);
896  }
897  std::string materialName;
898  if (!imat) {
899  materialName = getPixelServiceRecordString("MATERIALNAME",type,index);
900  } else {
901  // Old
902  if(type == "barrel") {
903  string mat[11] = {
904  "std::Berillia",
905  "std::Carbon",
906  "pix::Services",
907  "pix::Titanium",
908  "pix::MatPP11",
909  "pix::MatPP12",
910  "pix::MatPP13",
911  "pix::MatPP14",
912  "pix::MatPP15",
913  "pix::MatPP16",
914  "pix::MatPP17"};
915  materialName = mat[imat-1];
916  }
917  if(type == "endcap") {
918  string mat[4] = {
919  "std::Berillia",
920  "std::Carbon",
921  "pix::ECServices",
922  "pix::Disk"};
923  materialName = mat[imat-1];
924  }
925  }
926  return materialName;
927 }
928 
929 
930 int DBPixelGeoManager::PixelServiceFrameNum(const std::string & type, int index) {
931  // In older version frame num indicated "inside" or "outside"
932  // 0-999: Inside
933  // >=1000: Outside
934  // No frame number in simple table.
935  if (type == "simple") return index+1;
936  int framenum = getPixelServiceRecordInt("FRAMENUM",type,index);
937  if (framenum <= 0) return index+1;
938  if (dbVersion() < 3) {
939  if(type == "barrel") {
940  if (index >= m_barrelInFrames) framenum += 1000;
941  }
942  if(type == "endcap") {
943  if (index >= m_endcapInFrames) framenum += 1000;
944  }
945  }
946  return framenum;
947  // FIXME
948  /*
949  if (dbVersion() < 3) return framenum;
950  if (type == "Inside" && framenum < 1000) return framenum;
951  if (type == "Outside" && framenum >= 1000) return framenum%1000;
952  return -1;
953  */
954 }
955 
956 // Access child/envelope service parameters
958 
959  if (type != "envelope") return 0;
960 
961  try{
962  int envnum = getPixelServiceRecordInt("ENVNUM",type,index);
963  return envnum;
964  }
965  catch(...)
966  {}
967 
968  return 0;
969 }
970 
972 
973  // if (type == "envelope") return 0;
974 
975  if (type == "envelope"){
976  try{
977  int envnum = getPixelServiceRecordInt("ENVPARENT",type,index);
978  return envnum;
979  }
980  catch(...)
981  {}
982  }
983  else {
984 
985  try{
986  int envnum = getPixelServiceRecordInt("ENVELOPE",type,index);
987  return envnum;
988  }
989  catch(...)
990  {
991  }
992  }
993 
994 
995  return 0;
996 }
997 
998 std::string DBPixelGeoManager::getPixelServiceRecordString(const std::string & name, const std::string & type, int index) {
1000  return db()->getString(recordSet, name, index);
1001 }
1002 
1003 int DBPixelGeoManager::getPixelServiceRecordInt(const std::string & name, const std::string & type, int index) {
1005  return db()->getInt(recordSet, name, index);
1006 }
1007 
1008 
1009 double DBPixelGeoManager::getPixelServiceRecordDouble(const std::string & name, const std::string & type, int index) {
1011  return db()->getDouble(recordSet, name, index);
1012 }
1013 
1014 bool DBPixelGeoManager::getPixelServiceRecordTestField(const std::string & name, const std::string & type, int index) {
1015  try {
1017  return db()->testField(recordSet, name, index);
1018  }
1019  catch(...){}
1020  return false;
1021 }
1022 
1023 
1024 // Returns IRDBRecordset
1026  // m_barrelInFrames and m_endcapInFrames should be zero in dbVersion >= 3
1027  IRDBRecordset_ptr recordSet;
1028  if (type == "simple") {
1029  recordSet = m_PixelSimpleService;
1030  } else if(type == "barrel") {
1031  recordSet = m_PixelBarrelService;
1032  //if(type != "Inside") index += m_barrelInFrames;
1033  } else if(type == "endcap") {
1034  recordSet = m_PixelEndcapService;
1035  //if(type != "Inside") index += m_endcapInFrames;
1036  } else if(type == "envelope") {
1037  recordSet = m_PixelEnvelopeService;
1038  //if(type != "Inside") index += m_endcapInFrames;
1039  } else {
1040  msg(MSG::ERROR) << "ERROR: getPixelServiceRecord(), neither Barrel of Endcap selected!" << endmsg;
1041  }
1042  return recordSet;
1043 }
1044 
1046 {
1047  double tck = db()->getDouble(m_PixelDisk,"CABLETHICK",m_currentLD);
1048  if( tck > 0.) {
1049  return tck*mmcm();
1050  } else {
1051  std::string matName = getMaterialName("DiskCable", m_currentLD);
1052  return CalculateThickness(tck,matName);
1053  }
1054 }
1055 
1056 int
1058 {
1059  if (dbVersion() < 3) return m_legacyManager->PixelCableElements();
1060  return db()->getTableSize(m_PixelBarrelCable);
1061 }
1062 
1063 int
1065 {
1066  if (dbVersion() < 3) return 0;
1067  return db()->getInt(m_PixelBarrelCable,"LAYER",index);
1068 }
1069 
1070 int
1072 {
1073  if (dbVersion() < 3) return 0;
1074  return db()->getInt(m_PixelBarrelCable,"BISTAVE",index);
1075 }
1076 
1077 
1078 double
1080 {
1081  if (dbVersion() < 3) return m_legacyManager->PixelCableZStart(index);
1082  return db()->getDouble(m_PixelBarrelCable,"ZSTART",index) * Gaudi::Units::mm;
1083 }
1084 
1085 double
1087 {
1088  if (dbVersion() < 3) return m_legacyManager->PixelCableZEnd(index);
1090 }
1091 
1092 double
1094 {
1095  if (dbVersion() < 3) return m_legacyManager->PixelCableWidth(index);
1096  return db()->getDouble(m_PixelBarrelCable,"WIDTH",index) * Gaudi::Units::mm;
1097 }
1098 
1099 double
1101 {
1102  if (dbVersion() < 3) return m_legacyManager->PixelCableThickness(index);
1103  return db()->getDouble(m_PixelBarrelCable,"THICK",index) * Gaudi::Units::mm;
1104 }
1105 
1106 double
1108 {
1110  return db()->getDouble(m_PixelBarrelCable,"STACKPOS",index) * Gaudi::Units::mm;
1111 }
1112 
1113 double
1115 {
1116  if (dbVersion() < 3) return 0;
1118 }
1119 
1120 std::string
1122 {
1123  if (dbVersion() < 3) return m_legacyManager->PixelCableLabel(index);
1124  return db()->getString(m_PixelBarrelCable,"LABEL",index);
1125 }
1126 
1127 
1128 //
1129 // Version of the Geometry
1130 //
1131 
1133  // This determines a version depending on various changes in the database;
1134  int version = 0;
1135 
1136  if (!(*m_PixelLayer)[0]->isFieldNull("PHIOFMODULEZERO")) version = 1;
1137  if (m_PixelReadout->size() != 0) version = 2;
1138  if (m_weightTable->size() != 0) version = 3;
1139  if (m_PixelTMT->size() != 0) version = 4; // Removed all legacy tables
1140 
1141  return version;
1142 }
1143 
1144 
1145 
1146 std::string DBPixelGeoManager::getMaterialName(const std::string & volumeName, int layerdisk, int typenum) {
1147  return m_materialMap->getMaterial(layerdisk, typenum, volumeName);
1148 }
1149 
1150 
1152  // This is for backward compatibilty. Newer geometies get the
1153  // gets them from the database.
1154  m_materialMap->addMaterial(0,0,"Sensor","std::Silicon");
1155  m_materialMap->addMaterial(0,0,"Chip","pix::Chip");
1156  m_materialMap->addMaterial(0,0,"Hybrid","pix::Hybrid");
1157  m_materialMap->addMaterial(0,0,"Omega","pix::MatOmega");
1158  m_materialMap->addMaterial(0,0,"AlTube","pix::MatAlTube");
1159  m_materialMap->addMaterial(1,0,"AlTube","pix::MatAlTube");
1160  m_materialMap->addMaterial(2,0,"AlTube","pix::MatAlTubeFix");
1161  m_materialMap->addMaterial(0,1,"Fluid","pix::MatCap1");
1162  m_materialMap->addMaterial(0,2,"Fluid","pix::MatCap2");
1163  m_materialMap->addMaterial(0,0,"TMT","pix::MatTMT");
1164  m_materialMap->addMaterial(0,0,"GlueOmegaStave","pix::MatGlue");
1165  m_materialMap->addMaterial(0,0,"Connector","pix::MatConn");
1166  m_materialMap->addMaterial(0,0,"PigtailCyl","pix::MatPigtail");
1167  m_materialMap->addMaterial(0,0,"PigtailFlat","pix::MatPigtail");
1168  m_materialMap->addMaterial(0,0,"Cable","pix::MatT0");
1169  m_materialMap->addMaterial(0,0,"DiskCable","pix::ECCables");
1170  m_materialMap->addMaterial(0,0,"DiskSupport","pix::Disk");
1171  m_materialMap->addMaterial(0,0,"Frame","std::Carbon");
1172  m_materialMap->addMaterial(0,0,"EndCone","std::Carbon");
1173 }
1174 
1176 {
1177  std::ostringstream o;
1178  if(isBarrel()) {
1179  if (m_currentLD == 0) {
1180  o << "BL";
1181  } else {
1182  o << "L" << m_currentLD;
1183  }
1184  } else {
1185  o << "D" << m_currentLD;
1186  }
1187  return o.str();
1188 }
1189 
1191 {
1192  return static_cast<int>((*m_PixelBarrelGeneral)[0]->getDouble("VERSION"));
1193 }
1194 
1196 {
1197  return static_cast<int>(((*m_PixelBarrelGeneral)[0]->getDouble("VERSION") - PixelBarrelMajorVersion())*10 + 0.5);
1198 }
1199 
1201 {
1202  return static_cast<int>((*m_PixelEndcapGeneral)[0]->getDouble("VERSION"));
1203 }
1204 
1206 {
1207  return static_cast<int>(((*m_PixelEndcapGeneral)[0]->getDouble("VERSION") - PixelEndcapMajorVersion())*10 + 0.5);
1208 }
1209 
1210 
1212 {
1213  std::string description;
1214  if (db()->testField(m_PixelSwitches,"DESCRIPTION")) {
1215  description = db()->getString(m_PixelSwitches,"DESCRIPTION");
1216  }
1217  return description;
1218 }
1219 
1221 {
1222  std::string name;
1223  if (db()->testField(m_PixelSwitches,"VERSIONNAME")) {
1224  name = db()->getString(m_PixelSwitches,"VERSIONNAME");
1225  }
1226  return name;
1227 }
1228 
1230 {
1231  std::string layout;
1232  if (db()->testField(m_PixelSwitches,"LAYOUT")) {
1233  layout = db()->getString(m_PixelSwitches,"LAYOUT");
1234  }
1235  return layout;
1236 }
1237 
1238 
1240 {
1241  if (db()->getTableSize(m_PixelEnvelope)) {
1242  double rmin = PixelEnvelopeRMin(0);
1243  for (unsigned int i = 1; i < db()->getTableSize(m_PixelEnvelope); i++) {
1244  rmin = std::min(rmin, PixelEnvelopeRMin(i));
1245  }
1246  return rmin;
1247  } else {
1248  return db()->getDouble(m_PixelCommon,"RMIN")*mmcm();
1249  }
1250 }
1251 
1253 {
1254  if (db()->getTableSize(m_PixelEnvelope)) {
1255  double rmax = PixelEnvelopeRMax(0);
1256  for (unsigned int i = 1; i < db()->getTableSize(m_PixelEnvelope); i++) {
1257  rmax = std::max(rmax, PixelEnvelopeRMax(i));
1258  }
1259  return rmax;
1260  } else {
1261  return db()->getDouble(m_PixelCommon,"RMAX")*mmcm();
1262  }
1263 }
1264 
1266 {
1267 
1268  if (db()->getTableSize(m_PixelEnvelope)) {
1269  // The table should contain only +ve z values.
1270  return PixelEnvelopeZ(db()->getTableSize(m_PixelEnvelope) - 1);
1271  } else {
1272  return db()->getDouble(m_PixelCommon,"HALFLENGTH")*mmcm();
1273  }
1274 }
1275 
1277 {
1278  // Return true if the envelope can be built as a simple tube.
1279  // otherwise it will be built as a PCON.
1280  // True if size is 0 or 1.
1281  return (!(db()->getTableSize(m_PixelEnvelope) > 1));
1282 }
1283 
1285 {
1286  return db()->getTableSize(m_PixelEnvelope);
1287 }
1288 
1290 {
1291  double zmin = db()->getDouble(m_PixelEnvelope,"Z",i) * Gaudi::Units::mm;
1292  if (zmin < 0) msg(MSG::ERROR) << "PixelEnvelope table should only contain +ve z values" << endmsg;
1293  return std::abs(zmin);
1294 }
1295 
1297 {
1298  return db()->getDouble(m_PixelEnvelope,"RMIN",i) * Gaudi::Units::mm;
1299 }
1300 
1302 {
1303  return db()->getDouble(m_PixelEnvelope,"RMAX",i) * Gaudi::Units::mm;
1304 }
1305 
1306 
1308 {
1309  return db()->getInt(m_PixelBarrelGeneral,"NLAYER");
1310 }
1311 
1312 // m_PixelBarrelGeneral
1314 {
1315  return db()->getDouble(m_PixelBarrelGeneral,"RMIN")*mmcm();
1316 }
1317 
1319 {
1320  return db()->getDouble(m_PixelBarrelGeneral,"RMAX")*mmcm();
1321 }
1322 
1324 {
1325  return db()->getDouble(m_PixelBarrelGeneral,"HALFLENGTH")*mmcm();
1326 }
1327 
1328 // Described in general services for later geometries.
1330 {
1331  if (useLegacy()) return m_legacyManager->oldFrame();
1332  return false;
1333 }
1334 
1335 // For new geometry a detailed frame is built.
1337 {
1338  return db()->getTableSize(m_PixelFrame);
1339 }
1340 
1342 {
1343  return db()->getTableSize(m_PixelFrame);
1344 }
1345 
1347 {
1348  return db()->getDouble(m_PixelFrame, "RMINSIDE", sectionIndex) * Gaudi::Units::mm;
1349 }
1350 
1352 {
1353  return db()->getDouble(m_PixelFrame, "RMAXSIDE", sectionIndex) * Gaudi::Units::mm;
1354 }
1355 
1357 {
1358  return db()->getDouble(m_PixelFrame, "SIDEWIDTH", sectionIndex) * Gaudi::Units::mm;
1359 }
1360 
1361 double DBPixelGeoManager::PixelFrameZMin(int sectionIndex)
1362 {
1363  return db()->getDouble(m_PixelFrame, "ZMIN", sectionIndex) * Gaudi::Units::mm;
1364 }
1365 
1366 double DBPixelGeoManager::PixelFrameZMax(int sectionIndex)
1367 {
1368  return db()->getDouble(m_PixelFrame, "ZMAX", sectionIndex) * Gaudi::Units::mm;
1369 }
1370 
1372 {
1373  return db()->getDouble(m_PixelFrame, "PHISTART", sectionIndex) * Gaudi::Units::deg;
1374 }
1375 
1377 {
1378  return db()->getInt(m_PixelFrame, "NUMSIDES", sectionIndex);
1379 }
1380 
1382 {
1383  return db()->getInt(m_PixelFrame, "MIRRORSIDES", sectionIndex);
1384 }
1385 
1386 std::string DBPixelGeoManager::PixelFrameSideMaterial(int sectionIndex)
1387 {
1388  return db()->getString(m_PixelFrame, "SIDEMATERIAL", sectionIndex);
1389 }
1390 
1391 std::string DBPixelGeoManager::PixelFrameCornerMaterial(int sectionIndex)
1392 {
1393  return db()->getString(m_PixelFrame, "CORNERMATERIAL", sectionIndex);
1394 }
1395 
1397 {
1398  return db()->getInt(m_PixelFrame,"SECTION",sectionIndex);
1399 }
1400 
1401 void
1403 {
1404  if (!m_frameElementMap) {
1405  m_frameElementMap = new std::map<int,std::vector<int> >;
1406  for (unsigned int i = 0; i < db()->getTableSize(m_PixelFrameSect); ++i) {
1407  int section = db()->getInt(m_PixelFrameSect,"SECTION",i);
1408  (*m_frameElementMap)[section].push_back(i);
1409  }
1410  }
1411 }
1412 
1413 int DBPixelGeoManager::getFrameElementIndex(int sectionIndex, int element)
1414 {
1415  // make map if it is not already made.
1417 
1418  int section = PixelFrameSectionFromIndex(sectionIndex);
1419 
1420  int newIndex = -1;
1421  std::map<int,std::vector<int> >::const_iterator iter = m_frameElementMap->find(section);
1422  if (iter == m_frameElementMap->end()) {
1423  // Should never be the case as PixelFrameNumSideElements should generally be called first
1424  msg(MSG::ERROR) << "Frame section " << section << " has no elements." << endmsg;
1425  } else {
1426  const std::vector<int> & vec = iter->second;
1427  if (static_cast<unsigned int>(element) >= vec.size()) {
1428  msg(MSG::ERROR) << "Element index " << element << " for section " << section << " out of range." << endmsg;
1429  } else {
1430  newIndex = vec[element];
1431  }
1432  }
1433  return newIndex;
1434 }
1435 
1436 
1438 {
1439  // make map if it is not already made.
1441 
1442  int section = PixelFrameSectionFromIndex(sectionIndex);
1443  int numElements = 0;
1444 
1445  std::map<int,std::vector<int> >::const_iterator iter = m_frameElementMap->find(section);
1446  if (iter == m_frameElementMap->end()) {
1447  msg(MSG::DEBUG) << "Frame section " << section << " has no elements." << endmsg;
1448  } else {
1449  numElements = iter->second.size();
1450  }
1451  return numElements;
1452 }
1453 
1454 double DBPixelGeoManager::PixelFrameElementZMin1(int sectionIndex, int element)
1455 {
1456  int index = getFrameElementIndex(sectionIndex, element);
1457  if (index < 0) return 0; // Error message already printed in getFrameElementIndex.
1458  return db()->getDouble(m_PixelFrameSect, "ZMIN1", index) * Gaudi::Units::mm;
1459 }
1460 
1461 double DBPixelGeoManager::PixelFrameElementZMin2(int sectionIndex, int element)
1462 {
1463  int index = getFrameElementIndex(sectionIndex, element);
1464  if (index < 0) return 0; // Error message already printed in getFrameElementIndex.
1465  return db()->getDouble(m_PixelFrameSect, "ZMIN2", index) * Gaudi::Units::mm;
1466 }
1467 
1468 double DBPixelGeoManager::PixelFrameElementZMax1(int sectionIndex, int element)
1469 {
1470  int index = getFrameElementIndex(sectionIndex, element);
1471  if (index < 0) return 0; // Error message already printed in getFrameElementIndex.
1472  return db()->getDouble(m_PixelFrameSect, "ZMAX1", index) * Gaudi::Units::mm;
1473 }
1474 
1475 double DBPixelGeoManager::PixelFrameElementZMax2(int sectionIndex, int element)
1476 {
1477  int index = getFrameElementIndex(sectionIndex, element);
1478  if (index < 0) return 0; // Error message already printed in getFrameElementIndex.
1479  return db()->getDouble(m_PixelFrameSect, "ZMAX2", index) * Gaudi::Units::mm;
1480 }
1481 
1483 {
1484  if (!ibl()) return 0;
1485  if (!db()->testField(m_PixelLayer,"STAVEINDEX",layer)) return 0;
1486  return db()->getInt(m_PixelLayer,"STAVEINDEX",layer);
1487 }
1488 
1490 {
1491  if (!ibl()) return 0;
1492  int defaultLayout = 0;
1494 
1495  if (!db()->testField(m_PixelStave,"LAYOUT",index)) return defaultLayout;
1496  return db()->getInt(m_PixelStave,"LAYOUT",index);
1497 }
1498 
1500 {
1501  if (!ibl()) return 0;
1503 
1504  if (db()->testField(m_PixelStave,"STAVEAXE",index))
1505  return db()->getInt(m_PixelStave,"STAVEAXE",index);
1506  return 0;
1507 }
1508 
1510 {
1511  double radius = db()->getDouble(m_PixelLayer,"RLAYER",m_currentLD)*mmcm();
1512  if (msgLvl(MSG::DEBUG)) msg(MSG::DEBUG) << "PixelLayerRadius for layer " << m_currentLD
1513  << " is " << radius
1514  << endmsg;
1515  return radius;
1516 }
1517 
1519 {
1520  if (db()->testField(m_PixelLayer,"GBLSHIFT",m_currentLD))
1521  return db()->getDouble(m_PixelLayer,"GBLSHIFT",m_currentLD);
1522  return 0.;
1523 }
1524 
1526 {
1527  if (useLegacy()) return m_legacyManager->PixelLadderLength();
1529  return db()->getDouble(m_PixelStave,"ENVLENGTH",index)*Gaudi::Units::mm;
1530 }
1531 
1533 {
1534  if (useLegacy()) return 0.9*Gaudi::Units::mm;
1536  return db()->getDouble(m_PixelStave,"CLEARANCEY",index)*Gaudi::Units::mm;
1537 }
1538 
1539 // Only used if ladder thickness is automatically calculated it, ie ENVTHICK = 0
1540 // IBL only
1542 {
1544  if (db()->testField(m_PixelStave,"CLEARANCEX",index)) {
1545  return db()->getDouble(m_PixelStave,"CLEARANCEX",index)*Gaudi::Units::mm;
1546  }
1547  return 0.1*Gaudi::Units::mm;
1548 }
1549 
1551 {
1552  if (useLegacy()) return m_legacyManager->PixelLadderThickness(); // 2*1.48972 mm
1554  return db()->getDouble(m_PixelStave,"ENVTHICK",index)*Gaudi::Units::mm;
1555 }
1556 
1558 {
1559  return db()->getDouble(m_PixelLayer,"STAVETILT",m_currentLD)*Gaudi::Units::deg;
1560 }
1561 
1563 {
1564  if (useLegacy()) return m_legacyManager->PixelLadderServicesX(); // 1.48972 mm
1566  return db()->getDouble(m_PixelStave,"SERVICEOFFSETX",index) * Gaudi::Units::mm;
1567 }
1568 
1570 {
1571  if (useLegacy()) return m_legacyManager->PixelLadderServicesY(); // 3mm
1573  return db()->getDouble(m_PixelStave,"SERVICEOFFSETY",index) * Gaudi::Units::mm;
1574 }
1575 
1577 {
1578  if (useLegacy()) return m_legacyManager->PixelLadderCableOffsetX(); // 0
1580  return db()->getDouble(m_PixelStave,"CABLEOFFSETX",index) * Gaudi::Units::mm;
1581 }
1582 
1584 {
1585  if (useLegacy()) return m_legacyManager->PixelLadderCableOffsetY(); // 4mm
1587  return db()->getDouble(m_PixelStave,"CABLEOFFSETY",index) * Gaudi::Units::mm;
1588 }
1589 
1590 // IBL only
1592 {
1594  return db()->getDouble(m_PixelStave,"SUPPORTTHICK",index) * Gaudi::Units::mm;
1595 }
1596 
1597 // IBL only
1599 {
1601  return db()->getDouble(m_PixelStave,"SUPPORTWIDTH",index) * Gaudi::Units::mm;
1602 }
1603 
1604 
1605 
1606 
1607 
1608 // IBL only
1610 {
1611  if (!db()->testFieldTxt(m_PixelConicalStave,"BENTSTAVEANGLE")) return 0;
1613  return db()->getDouble(m_PixelConicalStave,"BENTSTAVEANGLE",index);
1614 }
1615 
1616 // IBL only
1618 {
1619  if (!db()->testFieldTxt(m_PixelConicalStave,"BENTSTAVENMODULE")) return 0;
1621  return db()->getInt(m_PixelConicalStave,"BENTSTAVENMODULE",index);
1622 }
1623 
1625 {
1627  return db()->getDouble(m_PixelStave,"MODULEDZ",index);
1628 }
1629 
1630 // IBL only
1632 {
1634  if (db()->testField(m_PixelStave,"SUPPORTHLENGTH",index)) {
1635  double halflength = db()->getDouble(m_PixelStave,"SUPPORTHLENGTH",index) * Gaudi::Units::mm;
1636  if (halflength > 0) return 2 * halflength;
1637  }
1638  double safety = 0.01*Gaudi::Units::mm;
1639  return PixelLadderLength() - safety;
1640 }
1641 
1642 // IBL detailed stave support only
1643 
1645 {
1646  // set layer to 0 (in order to read read IBL data)
1647  int currentLD_tmp = m_currentLD;
1648  m_currentLD = 0;
1649 
1650  double boardThick = PixelBoardThickness();
1651  double chipThick = PixelChipThickness();
1652  double chipGap = PixelChipGap();
1653 
1654  double xCenterCoolingPipe = boardThick*.5+chipThick+chipGap+ // from sensor sensor to plate
1655  IBLStaveFacePlateThickness() + IBLStaveFacePlateGreaseThickness() + // plate thickness (grease + plate)
1656  IBLStaveTubeMiddlePos(); // from plate to colling pipe center
1657  double yCenterCoolingPipe = IBLStaveMechanicalStaveOffset();
1658  GeoTrf::Vector3D centerCoolingPipe(xCenterCoolingPipe, yCenterCoolingPipe, 0.);
1659 
1660  m_currentLD = currentLD_tmp;
1661  return centerCoolingPipe;
1662 }
1663 
1664 
1666 {
1667  // set layer to 0 (in order to read read IBL data)
1668  int currentLD_tmp = m_currentLD;
1669  m_currentLD = 0;
1670 
1671  // Point that defines the center of the cooling pipe
1672  GeoTrf::Vector3D centerCoolingPipe_inv = -IBLStaveRotationAxis();
1673  GeoTrf::Vector3D origin(0.,0.,0.);
1674  double layerRadius = PixelLayerRadius();
1675  double ladderTilt = PixelLadderTilt();
1676 
1677  // Transforms
1678  GeoTrf::Transform3D staveTrf = GeoTrf::RotateZ3D(ladderTilt)*GeoTrf::Translate3D(centerCoolingPipe_inv.x(),centerCoolingPipe_inv.y(),centerCoolingPipe_inv.z());
1679  GeoTrf::Vector3D sensorPos = staveTrf*origin;
1680 
1681  double yPos = sensorPos.y();
1682  GeoTrf::Vector3D sensorPos_layer(sqrt(layerRadius*layerRadius-yPos*yPos),yPos,0.);
1683 
1684  double staveRadius = sensorPos_layer.x()-sensorPos.x();
1685 
1686  m_currentLD = currentLD_tmp;
1687  return staveRadius;
1688 }
1689 
1690 
1692 {
1693  // int index = PixelStaveIndex(m_currentLD);
1694  int index=0;
1695  if (db()->testField(m_PixelIBLStave,"FACEPLATETHICK",index)) {
1696  double thickness = db()->getDouble(m_PixelIBLStave,"FACEPLATETHICK",index) * Gaudi::Units::mm;
1697  if (thickness > 0) return thickness ;
1698  }
1699  return 0.0;
1700 }
1701 
1703 {
1704  // int index = PixelStaveIndex(m_currentLD);
1705  int index=0;
1706  if (db()->testField(m_PixelIBLStave,"STAVEWIDTH",index)) {
1707  double value = db()->getDouble(m_PixelIBLStave,"STAVEWIDTH",index) * Gaudi::Units::mm;
1708  if (value > 0) return value ;
1709  }
1710  return 0.0;
1711 }
1712 
1714 {
1715  // int index = PixelStaveIndex(m_currentLD);
1716  int index=0;
1717  if (db()->testField(m_PixelIBLStave,"ENDBLOCKLENGTH",index)) {
1718  double value = db()->getDouble(m_PixelIBLStave,"ENDBLOCKLENGTH",index) * Gaudi::Units::mm;
1719  if (value > 0) return value ;
1720  }
1721  return 0.0;
1722 }
1723 
1725 {
1726  // int index = PixelStaveIndex(m_currentLD);
1727  int index=0;
1728  if (db()->testField(m_PixelIBLStave,"ENDBLOCKFIXINGPOS",index)) {
1729  double value = db()->getDouble(m_PixelIBLStave,"ENDBLOCKFIXINGPOS",index) * Gaudi::Units::mm;
1730  return value ;
1731  }
1732  return 0.0;
1733 }
1734 
1736 {
1737  // try and catch (param availbale only if db tag > IBL-03-00-00)
1738  try{
1739  int index=0;
1740  if (db()->testField(m_PixelIBLStave,"ENDBLOCKOMEGAOVERLAP",index)) {
1741  double value = db()->getDouble(m_PixelIBLStave,"ENDBLOCKOMEGAOVERLAP",index) * Gaudi::Units::mm;
1742  return value ;
1743  }
1744  return 0.0;
1745  }
1746  catch(...){}
1747  return 0.;
1748 }
1749 
1751 {
1752  // try and catch (param availbale only if db tag > IBL-03-00-00)
1753  try
1754  {
1755  int index=0;
1756  if (db()->testField(m_PixelIBLStave,"STAVELENGTH",index)) {
1757  double value = db()->getDouble(m_PixelIBLStave,"STAVELENGTH",index) * Gaudi::Units::mm;
1758  return value ;
1759  }
1760  }
1761  catch(...)
1762  {
1763  // FIXME : patch for initial IBL geometry (SES)
1764  // IBL stave length not eqal to other stave length
1765  }
1766 
1767  return 748.0 * Gaudi::Units::mm;
1768 }
1769 
1771 {
1772  // int index = PixelStaveIndex(m_currentLD);
1773  int index=0;
1774  if (!isModule3D&&db()->testField(m_PixelIBLStave,"MODULELATERALOFFSET",index)) {
1775  double value = db()->getDouble(m_PixelIBLStave,"MODULELATERALOFFSET",index) * Gaudi::Units::mm;
1776  return value ;
1777  }
1778  if (isModule3D&&db()->testField(m_PixelIBLStave,"MODULELATERALOFFSET3D",index)) {
1779  double value = db()->getDouble(m_PixelIBLStave,"MODULELATERALOFFSET3D",index) * Gaudi::Units::mm;
1780  return value ;
1781  }
1782  return 0.0;
1783 }
1784 
1786 {
1787  // int index = PixelStaveIndex(m_currentLD);
1788  int index=0;
1789  if (db()->testField(m_PixelIBLStave,"STAVETOMODULEGAP",index)) {
1790  double value = db()->getDouble(m_PixelIBLStave,"STAVETOMODULEGAP",index) * Gaudi::Units::mm;
1791  return value ;
1792  }
1793  return 0.0;
1794 }
1795 
1797 {
1798  // int index = PixelStaveIndex(m_currentLD);
1799  int index=0;
1800  if (db()->testField(m_PixelIBLStave,"TUBEOUTERDIAM",index)) {
1801  double value = db()->getDouble(m_PixelIBLStave,"TUBEOUTERDIAM",index) * Gaudi::Units::mm;
1802  if (value > 0) return value ;
1803  }
1804  return 0.0;
1805 }
1806 
1808 {
1809  // int index = PixelStaveIndex(m_currentLD);
1810  int index=0;
1811  if (db()->testField(m_PixelIBLStave,"TUBEINNERDIAM",index)) {
1812  double value = db()->getDouble(m_PixelIBLStave,"TUBEINNERDIAM",index) * Gaudi::Units::mm;
1813  if (value > 0) return value ;
1814  }
1815  return 0.0;
1816 }
1817 
1819 {
1820  // int index = PixelStaveIndex(m_currentLD);
1821  int index=0;
1822  if (db()->testField(m_PixelIBLStave,"TUBEMIDDLEPOS",index)) {
1823  double value = db()->getDouble(m_PixelIBLStave,"TUBEMIDDLEPOS",index) * Gaudi::Units::mm;
1824  return value ;
1825  }
1826  return 0.0;
1827 }
1828 
1830 {
1831  // int index = PixelStaveIndex(m_currentLD);
1832  int index=0;
1833  if (db()->testField(m_PixelIBLStave,"FLEXLAYERTHICK",index)) {
1834  double value = db()->getDouble(m_PixelIBLStave,"FLEXLAYERTHICK",index) * Gaudi::Units::mm;
1835  if (value > 0) return value ;
1836  }
1837  return 0.0;
1838 }
1839 
1841 {
1842  // int index = PixelStaveIndex(m_currentLD);
1843  int index=0;
1844  if (db()->testField(m_PixelIBLStave,"FLEXBASETHICK",index)) {
1845  double value = db()->getDouble(m_PixelIBLStave,"FLEXBASETHICK",index) * Gaudi::Units::mm;
1846  if (value > 0) return value ;
1847  }
1848  return 0.0;
1849 }
1850 
1852 {
1853  // int index = PixelStaveIndex(m_currentLD);
1854  int index=0;
1855  if (db()->testField(m_PixelIBLStave,"FLEXWIDTH",index)) {
1856  double value = db()->getDouble(m_PixelIBLStave,"FLEXWIDTH",index) * Gaudi::Units::mm;
1857  if (value > 0) return value ;
1858  }
1859  return 0.0;
1860 }
1861 
1863 {
1864  // int index = PixelStaveIndex(m_currentLD);
1865  int index=0;
1866  if (db()->testField(m_PixelIBLStave,"FLEXOFFSET",index)) {
1867  double value = db()->getDouble(m_PixelIBLStave,"FLEXOFFSET",index) * Gaudi::Units::mm;
1868  return value ;
1869  }
1870  return 0.0;
1871 }
1872 
1873 
1875 {
1876  // int index = PixelStaveIndex(m_currentLD);
1877  int index=0;
1878  if (db()->testField(m_PixelIBLStave,"OMEGATHICK",index)) {
1879  double value = db()->getDouble(m_PixelIBLStave,"OMEGATHICK",index) * Gaudi::Units::mm;
1880  return value ;
1881  }
1882  return 0.0;
1883 }
1884 
1886 {
1887  // int index = PixelStaveIndex(m_currentLD);
1888  int index=0;
1889  if (db()->testField(m_PixelIBLStave,"OMEGAENDCENTERX",index)) {
1890  double value = db()->getDouble(m_PixelIBLStave,"OMEGAENDCENTERX",index) * Gaudi::Units::mm;
1891  return value ;
1892  }
1893  return 0.0;
1894 }
1896 {
1897  // int index = PixelStaveIndex(m_currentLD);
1898  int index=0;
1899  if (db()->testField(m_PixelIBLStave,"OMEGAENDCENTERY",index)) {
1900  double value = db()->getDouble(m_PixelIBLStave,"OMEGAENDCENTERY",index) * Gaudi::Units::mm;
1901  return value ;
1902  }
1903  return 0.0;
1904 }
1906 {
1907  // int index = PixelStaveIndex(m_currentLD);
1908  int index=0;
1909  if (db()->testField(m_PixelIBLStave,"OMEGAENDRADIUS",index)) {
1910  double value = db()->getDouble(m_PixelIBLStave,"OMEGAENDRADIUS",index) * Gaudi::Units::mm;
1911  return value ;
1912  }
1913  return 0.0;
1914 }
1916 {
1917  // int index = PixelStaveIndex(m_currentLD);
1918  int index=0;
1919  if (db()->testField(m_PixelIBLStave,"OMEGAENDANGLE",index)) {
1920  double value = db()->getDouble(m_PixelIBLStave,"OMEGAENDANGLE",index) * Gaudi::Units::deg;
1921  return value ;
1922  }
1923  return 0.0;
1924 }
1925 
1927 {
1928  // int index = PixelStaveIndex(m_currentLD);
1929  int index=0;
1930  if (db()->testField(m_PixelIBLStave,"OMEGAMIDCENTERX",index)) {
1931  double value = db()->getDouble(m_PixelIBLStave,"OMEGAMIDCENTERX",index) * Gaudi::Units::mm;
1932  return value ;
1933  }
1934  return 0.0;
1935 }
1936 
1938 {
1939  // int index = PixelStaveIndex(m_currentLD);
1940  int index=0;
1941  if (db()->testField(m_PixelIBLStave,"OMEGAMIDRADIUS",index)) {
1942  double value = db()->getDouble(m_PixelIBLStave,"OMEGAMIDRADIUS",index) * Gaudi::Units::mm;
1943  return value ;
1944  }
1945  return 0.0;
1946 }
1948 {
1949  // int index = PixelStaveIndex(m_currentLD);
1950  int index=0;
1951  if (db()->testField(m_PixelIBLStave,"OMEGAOPENINGANGLE",index)) {
1952  double value = db()->getDouble(m_PixelIBLStave,"OMEGAOPENINGANGLE",index) * Gaudi::Units::deg;
1953  return value ;
1954  }
1955  return 0.0;
1956 }
1957 
1959 {
1960  // int index = PixelStaveIndex(m_currentLD);
1961  int index=0;
1962  if (db()->testField(m_PixelIBLStave,"NMODULE",index)) {
1963  int value = db()->getInt(m_PixelIBLStave,"NMODULE",index);
1964  if (value > 0) return value ;
1965  }
1966  return 0;
1967 }
1968 
1970 {
1972 
1973 }
1974 
1976 {
1977  // int index = PixelStaveIndex(m_currentLD);
1978  int index=0;
1979  if (db()->testField(m_PixelIBLStave,"MODULEGAP",index)) {
1980  double value = db()->getDouble(m_PixelIBLStave,"MODULEGAP",index) * Gaudi::Units::mm;
1981  if (value > 0) return value ;
1982  }
1983  return 0.0;
1984 }
1985 
1987 {
1988  // int index = PixelStaveIndex(m_currentLD);
1989  int index=0;
1990  if (db()->testField(m_PixelIBLStave,"MODULETYPE",index)) {
1991  int value = db()->getInt(m_PixelIBLStave,"MODULETYPE",index) * Gaudi::Units::mm;
1992  if (value > 0) return value ;
1993  }
1994  return 0;
1995 }
1996 
1998 {
1999  // try and catch (param availbale only if db tag > IBL-03-00-00)
2000  try{
2001  int index=0;
2002  if (db()->testField(m_PixelIBLGlueGrease,"FACEPLATEGREASETHICK",index)) {
2003  double value = db()->getDouble(m_PixelIBLGlueGrease,"FACEPLATEGREASETHICK",index) * Gaudi::Units::mm;
2004  return value ;
2005  }
2006  return 0.;
2007  }
2008  catch(...){}
2009  return 0.;
2010 }
2011 
2013 {
2014  // try and catch (param availbale only if db tag > IBL-03-00-00)
2015  try{
2016  int index=0;
2017  if (db()->testField(m_PixelIBLGlueGrease,"FACEPLATEGLUETHICK",index)) {
2018  double value = db()->getDouble(m_PixelIBLGlueGrease,"FACEPLATEGLUETHICK",index) * Gaudi::Units::mm;
2019  return value ;
2020  }
2021  return 0.;
2022  }
2023  catch(...) {}
2024  return 0.;
2025 }
2026 
2028 {
2029  // try and catch (param availbale only if db tag > IBL-03-00-00)
2030  try{
2031  int index=0;
2032  if (db()->testField(m_PixelIBLGlueGrease,"TUBEGLUETHICK",index)) {
2033  double value = db()->getDouble(m_PixelIBLGlueGrease,"TUBEGLUETHICK",index) * Gaudi::Units::mm;
2034  return value ;
2035  }
2036  return 0.;
2037  }
2038  catch(...) {}
2039  return 0.;
2040 }
2041 
2043 {
2044  // try and catch (param availbale only if db tag > IBL-03-00-00)
2045  try{
2046  int index=0;
2047  if (db()->testField(m_PixelIBLGlueGrease,"OMEGAGLUETHICK",index)) {
2048  double value = db()->getDouble(m_PixelIBLGlueGrease,"OMEGAGLUETHICK",index) * Gaudi::Units::mm;
2049  return value ;
2050  }
2051  return 0.;
2052  }
2053  catch(...){}
2054  return 0.;
2055 }
2056 
2057 
2059 {
2060  // int index = PixelStaveIndex(m_currentLD);
2061  int index=0;
2062  if (db()->testField(m_PixelIBLSupport,"STAVERINGWIDTH",index)) {
2063  double value = db()->getDouble(m_PixelIBLSupport,"STAVERINGWIDTH",index) * Gaudi::Units::mm;
2064  if (value > 0) return value ;
2065  }
2066  return 0.0;
2067 }
2068 
2070 {
2071  // int index = PixelStaveIndex(m_currentLD);
2072  int index=0;
2073  if (db()->testField(m_PixelIBLSupport,"STAVERINGINNERRADIUS",index)) {
2074  double value = db()->getDouble(m_PixelIBLSupport,"STAVERINGINNERRADIUS",index) * Gaudi::Units::mm;
2075  if (value > 0) return value ;
2076  }
2077  return 0.0;
2078 }
2079 
2081 {
2082  // int index = PixelStaveIndex(m_currentLD);
2083  int index=0;
2084  if (db()->testField(m_PixelIBLSupport,"STAVERINGOUTERRADIUS",index)) {
2085  double value = db()->getDouble(m_PixelIBLSupport,"STAVERINGOUTERRADIUS",index) * Gaudi::Units::mm;
2086  if (value > 0) return value ;
2087  }
2088  return 0.0;
2089 }
2090 
2091 
2093 {
2094  // int index = PixelStaveIndex(m_currentLD);
2095  int index=0;
2096  if (db()->testField(m_PixelIBLSupport,"STAVERINGFIXINGPOS",index)) {
2097  double value = db()->getDouble(m_PixelIBLSupport,"STAVERINGFIXINGPOS",index) * Gaudi::Units::mm;
2098  if (value > 0) return value ;
2099  }
2100  return 0.0;
2101 }
2102 
2104 {
2105  // int index = PixelStaveIndex(m_currentLD);
2106  int index=0;
2107  if (db()->testField(m_PixelIBLSupport,"STAVEMIDRINGWIDTH",index)) {
2108  double value = db()->getDouble(m_PixelIBLSupport,"STAVEMIDRINGWIDTH",index) * Gaudi::Units::mm;
2109  if (value > 0) return value ;
2110  }
2111  return 0.0;
2112 }
2113 
2115 {
2116  // int index = PixelStaveIndex(m_currentLD);
2117  int index=0;
2118  if (db()->testField(m_PixelIBLSupport,"STAVEMIDRINGINNERRADIUS",index)) {
2119  double value = db()->getDouble(m_PixelIBLSupport,"STAVEMIDRINGINNERRADIUS",index) * Gaudi::Units::mm;
2120  if (value > 0) return value;
2121  }
2122  return 0.0;
2123 }
2124 
2126 {
2127  // int index = PixelStaveIndex(m_currentLD);
2128  int index=0;
2129  if (db()->testField(m_PixelIBLSupport,"STAVEMIDRINGOUTERRADIUS",index)) {
2130  double value = db()->getDouble(m_PixelIBLSupport,"STAVEMIDRINGOUTERRADIUS",index) * Gaudi::Units::mm;
2131  if (value > 0) return value ;
2132  }
2133  return 0.0;
2134 }
2135 
2137 {
2138  // int index = PixelStaveIndex(m_currentLD);
2139  int index=0;
2140  if (db()->testField(m_PixelIBLFlex,"FLEXMIDGAP",index)) {
2141  double value = db()->getDouble(m_PixelIBLFlex,"FLEXMIDGAP",index) * Gaudi::Units::mm;
2142  return value ;
2143  }
2144  return 0.0;
2145 }
2146 
2148 {
2149  // int index = PixelStaveIndex(m_currentLD);
2150  int index=0;
2151  return db()->testField(m_PixelIBLFlex,"FLEXMIDGAP",index);
2152 }
2153 
2154 
2156 {
2157  // int index = PixelStaveIndex(m_currentLD);
2158  int index=0;
2159  if (db()->testField(m_PixelIBLFlex,"FLEXDOGLEGLENGTH",index)) {
2160  double value = db()->getDouble(m_PixelIBLFlex,"FLEXDOGLEGLENGTH",index) * Gaudi::Units::mm;
2161  return value ;
2162  }
2163  return 0.0;
2164 }
2165 
2166 
2168 {
2169  // int index = PixelStaveIndex(m_currentLD);
2170  int index=0;
2171  if (db()->testField(m_PixelIBLFlex,"FLEXWINGWIDTH",index)) {
2172  double value = db()->getDouble(m_PixelIBLFlex,"FLEXWINGWIDTH",index) * Gaudi::Units::mm;
2173  return value ;
2174  }
2175  return 0.0;
2176 }
2177 
2179 {
2180  // int index = PixelStaveIndex(m_currentLD);
2181  int index=0;
2182  if (db()->testField(m_PixelIBLFlex,"FLEXWINGTHICK",index)) {
2183  double value = db()->getDouble(m_PixelIBLFlex,"FLEXWINGTHICK",index) * Gaudi::Units::mm;
2184  return value ;
2185  }
2186  return 0.0;
2187 }
2188 
2190 {
2191  // int index = PixelStaveIndex(m_currentLD);
2192  int index=0;
2193  if (db()->testField(m_PixelIBLFlex,"FLEXDOGLEGRATIO",index)) {
2194  double value = db()->getDouble(m_PixelIBLFlex,"FLEXDOGLEGRATIO",index) * Gaudi::Units::mm;
2195  return value ;
2196  }
2197  return 0.0;
2198 }
2199 
2201 {
2202  std::ostringstream lname;
2203  lname << "FLEXDOGLEGHEIGHT"<<iHeight;
2204 
2205  // int index = PixelStaveIndex(m_currentLD);
2206  int index=0;
2207  if (db()->testField(m_PixelIBLFlex,lname.str(),index)) {
2208  double value = db()->getDouble(m_PixelIBLFlex,lname.str(),index) * Gaudi::Units::mm;
2209  return value ;
2210  }
2211  return 0.0;
2212 }
2213 
2215 {
2216  // int index = PixelStaveIndex(m_currentLD);
2217  int index=0;
2218  if (db()->testField(m_PixelIBLFlex,"FLEXDOGLEGDY",index)) {
2219  double value = db()->getDouble(m_PixelIBLFlex,"FLEXDOGLEGDY",index) * Gaudi::Units::mm;
2220  return value ;
2221  }
2222  return 0.0;
2223 }
2224 
2226 {
2227  std::ostringstream lname;
2228  lname << "FLEXPP0_Z"<<iPos;
2229 
2230  // int index = PixelStaveIndex(m_currentLD);
2231  int index=0;
2232  if (db()->testField(m_PixelIBLFlex,lname.str(),index)) {
2233  double value = db()->getDouble(m_PixelIBLFlex,lname.str(),index) * Gaudi::Units::mm;
2234  return value ;
2235  }
2236  return 0.0;
2237 }
2238 
2239 
2241 {
2242  std::ostringstream lname;
2243  lname << "FLEXPP0_S"<<iPos<<"RMIN";
2244 
2245  // int index = PixelStaveIndex(m_currentLD);
2246  int index=0;
2247  if (db()->testField(m_PixelIBLFlex,lname.str(),index)) {
2248  double value = db()->getDouble(m_PixelIBLFlex,lname.str(),index) * Gaudi::Units::mm;
2249  return value ;
2250  }
2251  return 0.0;
2252 }
2253 
2255 {
2256  std::ostringstream lname;
2257  lname << "FLEXPP0_S"<<iPos<<"RMAX";
2258 
2259  // int index = PixelStaveIndex(m_currentLD);
2260  int index=0;
2261  if (db()->testField(m_PixelIBLFlex,lname.str(),index)) {
2262  double value = db()->getDouble(m_PixelIBLFlex,lname.str(),index) * Gaudi::Units::mm;
2263  return value ;
2264  }
2265  return 0.0;
2266 }
2267 
2268 
2269 std::string DBPixelGeoManager::IBLFlexMaterial(int iPos, const std::string& flexType)
2270 {
2271 
2272  int nbMaterial=db()->getTableSize(m_PixelIBLFlexMaterial);
2273  int cmptType=0;
2274 
2275  for(int index=0; index<nbMaterial; index++)
2276  {
2277  std::string flexTypeIdx = db()->getString(m_PixelIBLFlexMaterial,"TYPE",index);
2278  if(flexTypeIdx.compare(flexType)==0)
2279  {
2280  cmptType++;
2281  if(iPos==cmptType){
2282  std::string matTypeIdx = db()->getString(m_PixelIBLFlexMaterial,"MATERIALNAME",index);
2283  return matTypeIdx;
2284  }
2285  }
2286  }
2287  return std::string("noMat");
2288 
2289 }
2290 
2291 
2292 double DBPixelGeoManager:: IBLServiceGetMinRadialPosition(const std::string& srvName, const std::string& srvType,
2293  double srvZmin, double srvZmax)
2294 {
2295 
2296  double rmin=99999.;
2297 
2298  int numServices = PixelServiceElements(srvType);
2299  int nbSrv=0;
2300  for(int ii = 0; ii < numServices; ii++) {
2301  // Retrieve/calculate the parameters for the volume.
2302  //
2303  std::string name;
2304  if(srvType=="simple")
2305  name=db()->getString(m_PixelSimpleService,"NAME",ii);
2306  else
2307  name=PixelServiceName(srvType,ii);
2308 
2309  if(name.find(srvName)!=std::string::npos){
2310  double zmin, zmax, r;
2311  int symm;
2312  if(srvType=="simple"){
2315  symm=db()->getInt(m_PixelSimpleService,"ZSYMM",ii);
2317  }
2318  else {
2319  zmin=PixelServiceZMin(srvType, ii);
2320  zmax=PixelServiceZMax(srvType, ii);
2321  symm=PixelServiceZsymm(srvType, ii);
2322  r=PixelServiceRMin(srvType, ii);
2323  }
2324 
2325  bool bZintervalle = false;
2326  if( (srvZmin-zmin)*(srvZmin-zmax)<0 || (srvZmax-zmin)*(srvZmax-zmax)<0 ) bZintervalle=true;
2327  if( symm==1 && ((-srvZmin-zmin)*(-srvZmin-zmax)<0 || (-srvZmax-zmin)*(-srvZmax-zmax)<0) ) bZintervalle=true;
2328 
2329  if(bZintervalle){
2330  if(r<rmin) rmin=r;
2331  nbSrv++;
2332  }
2333  }
2334  }
2335 
2336  if(nbSrv<1)return -1;
2337  return rmin;
2338 
2339 }
2340 
2341 double DBPixelGeoManager:: IBLServiceGetMaxRadialPosition(const std::string& srvName, const std::string& srvType,
2342  double srvZmin, double srvZmax)
2343 {
2344 
2345  double rmax=-1.;
2346  int numServices = PixelServiceElements(srvType);
2347 
2348  int nbSrv=0;
2349  for(int ii = 0; ii < numServices; ii++) {
2350  // Retrieve/calculate the parameters for the volume.
2351  //
2352  std::string name;
2353  if(srvType=="simple")
2354  name=db()->getString(m_PixelSimpleService,"NAME",ii);
2355  else
2356  name=PixelServiceName(srvType,ii);
2357 
2358  if(name.find(srvName)!=std::string::npos){
2359 
2360  double zmin, zmax, r;
2361  int symm;
2362  if(srvType=="simple"){
2365  symm=db()->getInt(m_PixelSimpleService,"ZSYMM",ii);
2367  }
2368  else {
2369  zmin=PixelServiceZMin(srvType, ii);
2370  zmax=PixelServiceZMax(srvType, ii);
2371  symm=PixelServiceZsymm(srvType, ii);
2372  r=PixelServiceRMax(srvType, ii);
2373  }
2374 
2375  bool bZintervalle = false;
2376  if( (srvZmin-zmin)*(srvZmin-zmax)<0 || (srvZmax-zmin)*(srvZmax-zmax)<0 ) bZintervalle=true;
2377  if( symm==1 && ((-srvZmin-zmin)*(-srvZmin-zmax)<0 || (-srvZmax-zmin)*(-srvZmax-zmax)<0) ) bZintervalle=true;
2378 
2379  if(bZintervalle && r>rmax){
2380  rmax=r;
2381  nbSrv++;
2382  }
2383  }
2384  }
2385 
2386  if(nbSrv<1)return -1;
2387  return rmax;
2388 
2389 }
2390 
2392 {
2393  if (m_staveTypeTable->size() == 0) return phi % 2;
2394  return m_pixelStaveTypes->getBiStaveType(layer, phi) % 2;
2395 }
2396 
2398 {
2399  return db()->getInt(m_PixelLayer,"NSECTORS",m_currentLD);
2400 }
2401 
2403 {
2404  // For backward compatibilty first module is at 1/2 a module division
2405  if (!db()->testField(m_PixelLayer,"PHIOFMODULEZERO",m_currentLD)){
2406  if(NPixelSectors()>0) return 180.0*Gaudi::Units::degree/NPixelSectors();
2407  return 0.;
2408  } else {
2409  return db()->getDouble(m_PixelLayer,"PHIOFMODULEZERO",m_currentLD) * Gaudi::Units::degree;
2410  }
2411 }
2412 
2413 
2415 {
2416  int staveIndex = PixelStaveIndex(m_currentLD);
2417  if(ibl() && PixelStaveLayout()>3 && PixelStaveLayout()<7 && m_currentLD==0)
2418  return IBLStaveModuleNumber();
2419  else
2420  return db()->getInt(m_PixelStave,"NMODULE",staveIndex);
2421 
2422 }
2423 
2425 {
2426  int staveIndex = PixelStaveIndex(m_currentLD);
2427  return db()->getDouble(m_PixelStave,"MODULETILT",staveIndex)*Gaudi::Units::deg;
2428 }
2429 
2431 {
2432  int staveIndex = PixelStaveIndex(m_currentLD);
2433  return db()->getDouble(m_PixelStave,"CENTRMODULESHIFT",staveIndex)*mmcm();
2434 }
2435 
2437 {
2438  // ZPOSTYPE 0. Means equi-distant modules.
2439  // ZPOSTYPE != 0. Means tabulated z positions.
2440  int staveIndex = PixelStaveIndex(m_currentLD);
2441  int zPosType = 0;
2442  if (ibl() && db()->testField(m_PixelStave,"ZPOSTYPE",staveIndex)) {
2443  zPosType = db()->getInt(m_PixelStave,"ZPOSTYPE",staveIndex);
2444  }
2445  if (zPosType) {
2446  // Z positions from table
2447  return PixelModuleZPositionTabulated(etaModule, zPosType);
2448  } else {
2449  // Equi-distant modules
2450  int moduleIndex = PixelModuleIndexFromEta(etaModule);
2451  return db()->getDouble(m_PixelStave,"MODULEDZ",staveIndex)*mmcm() * (moduleIndex - 0.5*(PixelNModule()-1));
2452  }
2453 }
2454 
2456 {
2457  if (!m_zPositionMap) {
2459  for (unsigned int indexTmp = 0; indexTmp < db()->getTableSize(m_PixelStaveZ); ++indexTmp) {
2460  int eta_module = db()->getInt(m_PixelStaveZ,"ETAMODULE",indexTmp);
2461  int type_tmp = db()->getInt(m_PixelStaveZ,"TYPE",indexTmp);
2462  m_zPositionMap->add(type_tmp,eta_module,indexTmp);
2463  }
2464  }
2465  int index = m_zPositionMap->find(type, etaModule);
2466  if (index < 0) {
2467  msg(MSG::ERROR) << "Z position not found for etaModule,type = " << etaModule << ", " << type << endmsg;
2468  return 0;
2469  }
2470  return db()->getDouble(m_PixelStaveZ,"ZPOS",index) * Gaudi::Units::mm;
2471 }
2472 
2474 {
2475  if (centerModule(etaModule)) return 1;
2476  return 0.;
2477 }
2478 
2480 {
2481  int staveIndex = PixelStaveIndex(m_currentLD);
2482  if (!ibl() || !db()->testField(m_PixelStave,"STAGGERDIST",staveIndex)) return 0;
2483  return db()->getDouble(m_PixelStave,"STAGGERDIST",staveIndex) * Gaudi::Units::mm;
2484 }
2485 
2487 {
2488  int staveIndex = PixelStaveIndex(m_currentLD);
2489  if (!ibl() || !db()->testField(m_PixelStave,"FIRSTSTAGGER",staveIndex)) return 0;
2490  // FIRSTSTAGGER refers to whether the first module (lowest etavalue) is staggered up (+1) or down(-1)
2491  int firstStagger = db()->getInt(m_PixelStave,"FIRSTSTAGGER",staveIndex);
2492  int moduleIndex = PixelModuleIndexFromEta(etaModule);
2493  return firstStagger * (moduleIndex%2 ? -1 : 1);
2494 }
2495 
2497 {
2498  bool allowSkip = true;
2499  if (ibl()){
2500  int staveIndex = PixelStaveIndex(m_currentLD);
2501  if (db()->testField(m_PixelStave,"NOSKIPZERO",staveIndex)) {
2502  if (db()->getInt(m_PixelStave,"NOSKIPZERO",staveIndex)) allowSkip = false;
2503  }
2504  }
2505  return allowSkip;
2506 }
2507 
2509 {
2510  // There is only a center module if there are an odd number
2511  // of modules. In that case it will be etaModule = 0.
2512  return (etaModule == 0 && PixelNModule()%2);
2513 }
2514 
2516 {
2517  int nModules = PixelNModule();
2518  int etaModule = index-nModules/2;
2519  // If even number of modules skip eta = 0.
2520  // For IBL this behaviour can be disabled.
2521  if (allowSkipEtaZero() && (etaModule >= 0) && !(nModules%2)) etaModule++;
2522  return etaModule;
2523 }
2524 
2526 {
2527  int nModules = PixelNModule();
2528  int index = etaModule + nModules/2;
2529  // If even number of modules skip eta = 0.
2530  // For IBL this behaviour can be disabled.
2531  if (allowSkipEtaZero() && (etaModule >= 0) && (nModules%2 == 0)) index--;
2532  return index;
2533 }
2534 
2535 
2537 {
2538  if (centerModule(etaModule)) return 0;
2539  if(etaModule < 0) return 1.;
2540  return -1.;
2541 }
2542 
2544 {
2545  return db()->getInt(m_PixelEndcapGeneral,"NDISK");
2546 }
2547 
2548 // Endcap container
2550 {
2551  return db()->getDouble(m_PixelEndcapGeneral,"RMIN")*mmcm();
2552 }
2553 
2555 {
2556  return db()->getDouble(m_PixelEndcapGeneral,"RMAX")*mmcm();
2557 }
2558 
2560 {
2561  return db()->getDouble(m_PixelEndcapGeneral,"ZMIN")*mmcm();
2562 }
2563 
2565 {
2566  return db()->getDouble(m_PixelEndcapGeneral,"ZMAX")*mmcm();
2567 }
2568 
2570 {
2571  // Obsolete - retus 0 in recent versions
2572  return (int) db()->getDouble(m_PixelEndcapGeneral,"NFRAME");
2573 }
2574 
2575 // Endcap Inner
2577 {
2578  return db()->getDouble(m_PixelDisk,"ZDISK",m_currentLD)*mmcm();
2579 }
2580 
2582 {
2583  return db()->getDouble(m_PixelDisk,"DZCOUNTER",m_currentLD)*mmcm();
2584 }
2585 
2587 {
2588  return PixelECSiDz1();
2589 }
2590 
2592 {
2593  return db()->getInt(m_PixelDisk,"NMODULE",m_currentLD);
2594 }
2595 
2597 {
2598  return PixelECNSectors1();
2599 }
2600 
2601 // Endcap Cables
2603 {
2604  return db()->getDouble(m_PixelDisk,"RMINCABLE",m_currentLD)*mmcm();
2605 }
2606 
2608 {
2609  return db()->getDouble(m_PixelDisk,"RMAXCABLE",m_currentLD)*mmcm();
2610 }
2611 
2612 
2614 {
2615  return db()->getDouble(m_PixelDisk,"ZCABLE",m_currentLD)*mmcm();
2616 }
2617 
2618 //
2620 //
2622 {
2623  if (useLegacy()) return m_legacyManager->PixelTMTNumParts();
2624  return db()->getTableSize(m_PixelTMT);
2625 }
2626 
2628 {
2629  if (useLegacy()) return m_legacyManager->PixelTMTWidthX1(iPart);
2630  return db()->getDouble(m_PixelTMT,"WIDTHX1",iPart) * Gaudi::Units::mm;
2631 }
2632 
2634 {
2635  if (useLegacy()) return m_legacyManager->PixelTMTWidthX2(iPart);
2636  return db()->getDouble(m_PixelTMT,"WIDTHX2",iPart) * Gaudi::Units::mm;
2637 }
2638 
2640 {
2641  if (useLegacy()) return m_legacyManager->PixelTMTWidthY(iPart);
2642  return db()->getDouble(m_PixelTMT,"WIDTHY",iPart) * Gaudi::Units::mm;
2643 }
2644 
2646 {
2647  if (useLegacy()) return m_legacyManager->PixelTMTBaseX1(iPart);
2648  return db()->getDouble(m_PixelTMT,"BASEX1",iPart) * Gaudi::Units::mm;
2649 }
2650 
2652 {
2653  if (useLegacy()) return m_legacyManager->PixelTMTBaseX2(iPart);
2654  return db()->getDouble(m_PixelTMT,"BASEX2",iPart) * Gaudi::Units::mm;
2655 }
2656 
2658 {
2659  if (useLegacy()) return m_legacyManager->PixelTMTPosY(iPart);
2660  return db()->getDouble(m_PixelTMT,"Y",iPart) * Gaudi::Units::mm;
2661 }
2662 
2664 {
2665  if (useLegacy()) return m_legacyManager->PixelTMTPosZ1(iPart);
2666  return db()->getDouble(m_PixelTMT,"Z1",iPart) * Gaudi::Units::mm;
2667 }
2668 
2670 {
2671  if (useLegacy()) return m_legacyManager->PixelTMTPosZ2(iPart);
2672  return db()->getDouble(m_PixelTMT,"Z2",iPart) * Gaudi::Units::mm;
2673 }
2674 
2676 {
2677  if (useLegacy()) return m_legacyManager->PixelTMTPerModule(iPart);
2678  return db()->getInt(m_PixelTMT,"PERMODULE",iPart);
2679 }
2680 
2681 //
2682 // Omega parameters
2683 //
2685 {
2687  return db()->getDouble(m_PixelOmega,"UPPERBENDX") * Gaudi::Units::mm;
2688 }
2689 
2691 {
2693  return db()->getDouble(m_PixelOmega,"UPPERBENDY") * Gaudi::Units::mm;
2694 }
2695 
2697 {
2699  return db()->getDouble(m_PixelOmega,"UPPERBENDR") * Gaudi::Units::mm;
2700 }
2701 
2703 {
2705  return db()->getDouble(m_PixelOmega,"LOWERBENDX") * Gaudi::Units::mm;
2706 }
2707 
2709 {
2711  return db()->getDouble(m_PixelOmega,"LOWERBENDY") * Gaudi::Units::mm;
2712 }
2713 
2715 {
2717  return db()->getDouble(m_PixelOmega,"LOWERBENDR") * Gaudi::Units::mm;
2718 }
2719 
2721 {
2723  return db()->getDouble(m_PixelOmega,"THICK") * Gaudi::Units::mm;
2724 }
2725 
2727 {
2728  if (useLegacy()) return m_legacyManager->PixelOmegaLength();
2729  return db()->getDouble(m_PixelOmega,"LENGTH") * Gaudi::Units::mm;
2730 }
2731 
2733 {
2734  if (useLegacy()) return m_legacyManager->PixelOmegaStartY();
2735  return db()->getDouble(m_PixelOmega,"STARTY") * Gaudi::Units::mm;
2736 }
2737 
2739 {
2740  if (useLegacy()) return m_legacyManager->PixelOmegaEndY();
2741  return db()->getDouble(m_PixelOmega,"ENDY") * Gaudi::Units::mm;
2742 }
2743 
2744 //
2745 // Al Tube
2746 //
2747 
2749 {
2751  return db()->getDouble(m_PixelAlTube,"UPPERBENDX") * Gaudi::Units::mm;
2752 }
2753 
2755 {
2757  return db()->getDouble(m_PixelAlTube,"UPPERBENDY") * Gaudi::Units::mm;
2758 }
2759 
2761 {
2763  return db()->getDouble(m_PixelAlTube,"UPPERBENDR") * Gaudi::Units::mm;
2764 }
2765 
2767 {
2769  return db()->getDouble(m_PixelAlTube,"LOWERBENDX") * Gaudi::Units::mm;
2770 }
2771 
2773 {
2775  return db()->getDouble(m_PixelAlTube,"LOWERBENDY") * Gaudi::Units::mm;
2776 }
2777 
2779 {
2781  return db()->getDouble(m_PixelAlTube,"LOWERBENDR") * Gaudi::Units::mm;
2782 }
2783 
2785 {
2787  return db()->getDouble(m_PixelAlTube,"THICK") * Gaudi::Units::mm;
2788 }
2789 
2791 {
2792  if (useLegacy()) return m_legacyManager->PixelAlTubeLength();
2793  return db()->getDouble(m_PixelAlTube,"LENGTH") * Gaudi::Units::mm;
2794 }
2795 
2796 //
2797 // Glue
2798 //
2799 
2801 {
2803  return db()->getTableSize(m_PixelOmegaGlue);
2804 }
2805 
2807 {
2809  return db()->getDouble(m_PixelOmegaGlue,"STARTX",index) * Gaudi::Units::mm;
2810 }
2811 
2813 {
2815  return db()->getDouble(m_PixelOmegaGlue,"THICK",index) * Gaudi::Units::mm;
2816 }
2817 
2819 {
2821  return db()->getDouble(m_PixelOmegaGlue,"STARTY",index) * Gaudi::Units::mm;
2822 }
2823 
2825 {
2827  return db()->getDouble(m_PixelOmegaGlue,"ENDY",index) * Gaudi::Units::mm;
2828 }
2829 
2831 {
2833  return db()->getDouble(m_PixelOmegaGlue,"LENGTH",index) * Gaudi::Units::mm;
2834 }
2835 
2837 {
2840 }
2841 
2843 {
2845  return db()->getInt(m_PixelOmegaGlue,"TYPENUM",index);
2846 }
2847 
2848 
2849 //
2850 // Fluid
2851 //
2853 {
2854  if (useLegacy()) return m_legacyManager->PixelFluidZ1(index);
2855  return db()->getDouble(m_PixelFluid,"Z1",index) * Gaudi::Units::mm;
2856 }
2857 
2859 {
2860  if (useLegacy()) return m_legacyManager->PixelFluidZ2(index);
2861  return db()->getDouble(m_PixelFluid,"Z2",index) * Gaudi::Units::mm;
2862 }
2863 
2865 {
2867  return db()->getDouble(m_PixelFluid,"THICK1",index) * Gaudi::Units::mm;
2868 }
2869 
2870 
2872 {
2874  return db()->getDouble(m_PixelFluid,"THICK2",index) * Gaudi::Units::mm;
2875 }
2876 
2878 {
2880  return db()->getDouble(m_PixelFluid,"WIDTH",index) * Gaudi::Units::mm;
2881 }
2882 
2883 
2885 {
2886  if (useLegacy()) return m_legacyManager->PixelFluidX(index);
2887  return db()->getDouble(m_PixelFluid,"X",index) * Gaudi::Units::mm;
2888 }
2889 
2891 {
2892  if (useLegacy()) return m_legacyManager->PixelFluidY(index);
2893  return db()->getDouble(m_PixelFluid,"Y",index) * Gaudi::Units::mm;
2894 }
2895 
2897 {
2899  return db()->getInt(m_PixelFluid,"TYPE",index);
2900 }
2901 
2903 {
2904  if (useLegacy()) return m_legacyManager->PixelFluidNumTypes();
2905  return db()->getTableSize(m_PixelFluid);
2906 }
2907 
2909 {
2910  for (int i = 0; i < PixelFluidNumTypes(); i++) {
2911  if (type == PixelFluidType(i)) return i;
2912  }
2913  msg(MSG::ERROR) << "Unrecognized fluid volume type: " << type << endmsg;
2914  return -1;
2915 }
2916 
2918  int matType = 0;
2919  if (useLegacy()) {
2921  } else {
2922  matType = db()->getInt(m_PixelFluid,"MATTYPE",index);
2923  }
2924  return getMaterialName("Fluid", 0, matType);
2925 }
2926 
2928 {
2931 }
2932 
2933 //
2934 // Pigtail
2935 //
2937 {
2939  return db()->getDouble(m_PixelPigtail,"THICK") * Gaudi::Units::mm;
2940 }
2941 
2943 {
2944  if (useLegacy()) return m_legacyManager->PixelPigtailStartY();
2945  return db()->getDouble(m_PixelPigtail,"STARTY") * Gaudi::Units::mm;
2946 }
2947 
2949 {
2950  if (useLegacy()) return m_legacyManager->PixelPigtailEndY();
2951  return db()->getDouble(m_PixelPigtail,"ENDY") * Gaudi::Units::mm;
2952 }
2953 
2955 {
2956  if (useLegacy()) return m_legacyManager->PixelPigtailWidthZ();
2957  return db()->getDouble(m_PixelPigtail,"WIDTHZ") * Gaudi::Units::mm;
2958 }
2959 
2960 // Different width from the curved section in old geometry
2962 {
2964  return PixelPigtailWidthZ();
2965 }
2966 
2968 {
2969  if (useLegacy()) return m_legacyManager->PixelPigtailPosX();
2970  return db()->getDouble(m_PixelPigtail,"X") * Gaudi::Units::mm;
2971 }
2972 
2974 {
2975  if (useLegacy()) return m_legacyManager->PixelPigtailPosZ();
2976  return db()->getDouble(m_PixelPigtail,"Z") * Gaudi::Units::mm;
2977 }
2978 
2980 {
2981  if (useLegacy()) return m_legacyManager->PixelPigtailBendX();
2982  return db()->getDouble(m_PixelPigtail,"BENDX") * Gaudi::Units::mm;
2983 }
2984 
2986 {
2987  if (useLegacy()) return m_legacyManager->PixelPigtailBendY();
2988  return db()->getDouble(m_PixelPigtail,"BENDY") * Gaudi::Units::mm;
2989 }
2990 
2992 {
2994  return db()->getDouble(m_PixelPigtail,"BENDRMIN") * Gaudi::Units::mm;
2995 }
2996 
2998 {
3001 }
3002 
3004 {
3006  return db()->getDouble(m_PixelPigtail,"BENDPHIMIN") * Gaudi::Units::deg;
3007 }
3008 
3010 {
3012  return db()->getDouble(m_PixelPigtail,"BENDPHIMAX") * Gaudi::Units::deg;
3013 }
3014 
3016 {
3018  return db()->getDouble(m_PixelPigtail,"ENVLENGTH") * Gaudi::Units::mm;
3019 }
3020 
3021 //
3022 // Connector
3023 //
3025 {
3027  return db()->getTableSize(m_PixelConnector);
3028 }
3029 
3031 {
3033  return db()->getDouble(m_PixelConnector,"WIDTHX",index) * Gaudi::Units::mm;
3034 }
3035 
3037 {
3039  return db()->getDouble(m_PixelConnector,"WIDTHY",index) * Gaudi::Units::mm;
3040 }
3041 
3043 {
3045  return db()->getDouble(m_PixelConnector,"WIDTHZ",index) * Gaudi::Units::mm;
3046 }
3047 
3049 {
3052 }
3053 
3055 {
3058 }
3059 
3061 {
3064 }
3065 
3066 //
3067 // Design
3068 //
3069 
3070 
3071 int DBPixelGeoManager::designType(bool isModule3D)
3072 {
3073 
3074  if(isModule3D) return designType3D();
3075 
3076  if (dbVersion() < 2) {
3077  return 0; // Not used
3078  } else {
3079  if (m_PixelReadout->size() == 0) {
3080  msg(MSG::ERROR) << "ERROR in PixelReadout size. Should not occur!" << endmsg;
3081  return 0;
3082  } else if (m_PixelReadout->size() == 1 && !ibl()) {
3083  return 0;
3084  } else { // Only in IBL
3085  return db()->getInt(m_PixelModule,"DESIGNTYPE",moduleType());
3086  }
3087  }
3088 }
3089 
3090 
3092 {
3093 
3094  if (dbVersion() < 2) {
3095  return 0; // Not used
3096  }
3097  else {
3098  if (m_PixelReadout->size() == 0) {
3099  msg(MSG::ERROR) << "ERROR in PixelReadout size. Should not occur!" << endmsg;
3100  return 0;
3101  } else if (m_PixelReadout->size() == 1 && !ibl()) {
3102  return 0;
3103  } else { // Only in IBL
3104  int type = db()->getInt(m_PixelModule,"DESIGNTYPE",moduleType3D());
3105  return type;
3106  }
3107  }
3108 }
3109 
3111 {
3112  if (dbVersion() < 2) {
3113  return -1;
3114  } else {
3115  int type = designType((ibl()&&isModule3D));
3116 
3117  return db()->getInt(m_PixelReadout,"READOUTSIDE",type);
3118  }
3119 }
3120 
3122 {
3123  if (dbVersion() < 2) {
3125  } else {
3126  int type = designType((ibl()&&isModule3D));
3127 
3128  return db()->getInt(m_PixelReadout,"NCHIPSPHI",type);
3129  }
3130 }
3131 
3132 
3134  {
3135  if (dbVersion() < 2) {
3137  } else {
3138  int type = designType((ibl()&&isModule3D));
3139 
3140  return db()->getInt(m_PixelReadout,"NCHIPSETA",type);
3141  }
3142 }
3143 
3145 {
3146  if (dbVersion() < 2) {
3148  } else {
3149  int type = designType((ibl()&&isModule3D));
3150 
3151  return db()->getInt(m_PixelReadout,"ROWSPERCHIP",type);
3152  }
3153 }
3154 
3156 {
3157  if (dbVersion() < 2) {
3159  } else {
3160  int type = designType((ibl()&&isModule3D));
3161 
3162  return db()->getInt(m_PixelReadout,"COLSPERCHIP",type);
3163  }
3164 }
3165 
3166 
3168 {
3169  if (dbVersion() < 2) {
3171  } else {
3172  return DesignNumChipsPhi(isModule3D) * (DesignNumRowsPerChip(isModule3D)+DesignNumEmptyRowsInGap(isModule3D)) - DesignNumEmptyRowsInGap(isModule3D);
3173  }
3174 }
3175 
3177 {
3178  if (dbVersion() < 2) {
3180  } else {
3181  return DesignNumChipsEta(isModule3D) * DesignNumColsPerChip(isModule3D);
3182  }
3183 }
3184 
3185 
3187 {
3188  return DesignNumChipsPhi(isModule3D) * DesignNumRowsPerChip(isModule3D);
3189 }
3190 
3192 {
3193  return DesignNumColsPerChip(isModule3D);
3194 }
3195 
3197 {
3198  return DesignDiodesPhiTotal(isModule3D);
3199 }
3200 
3202 {
3203  return DesignNumColsPerChip(isModule3D);
3204 }
3205 
3207 {
3208  // Could determine it from m_gangedIndexMap but expect it to be filled correctly in PixelReadoutTable
3209  if (dbVersion() < 2) {
3211  } else {
3212  int type=designType((ibl()&&isModule3D));
3213 
3214  return db()->getInt(m_PixelReadout,"EMPTYROWS",type);
3215  }
3216 }
3217 
3218 // Ganged Pixels
3220 {
3221  // type 0 means no ganged pixels
3222  if (!ibl()) return 1;
3223  if (ibl()) {
3224  return db()->getInt(m_PixelReadout,"GANGEDTYPE",designType());
3225  } else {
3226  int type = 1;
3227  if (db()->testField(m_PixelReadout,"GANGEDTYPE",designType())) {
3228  type = db()->getInt(m_PixelReadout,"GANGEDTYPE",designType());
3229  }
3230  return type;
3231  }
3232 }
3233 
3234 
3236 {
3237  // There is only one type for standard ATLAS so we just return the index.
3238  if (!ibl()) return index;
3239 
3240  if (!m_gangedIndexMap) {
3241  // First time we create the map
3242  m_gangedIndexMap = new std::map<int,std::vector<int> >;
3243  for (unsigned int i = 0; i < db()->getTableSize(m_PixelGangedPixels); i++){
3244  int testType = 1;
3245  if (db()->testField(m_PixelGangedPixels,"TYPE",i)) {
3246  testType = db()->getInt(m_PixelGangedPixels,"TYPE",i);
3247  }
3248  (*m_gangedIndexMap)[testType].push_back(i);
3249  }
3250  }
3251 
3252  int newIndex = -1;
3253  std::map<int,std::vector<int> >::const_iterator iter = m_gangedIndexMap->find(type);
3254  if (iter == m_gangedIndexMap->end()) {
3255  msg(MSG::ERROR) << "Ganged pixel type " << type << " not found." << endmsg;
3256  } else {
3257  const std::vector<int> & vec = iter->second;
3258  if (index < 0 || static_cast<unsigned int>(index) >= vec.size()) {
3259  msg(MSG::ERROR) << "Ganged pixel index " << index << " for type " << type << " out of range." << endmsg;
3260  } else {
3261  newIndex = vec[index];
3262  }
3263  }
3264  return newIndex;
3265 }
3266 
3268 {
3269  return DesignNumEmptyRowsInGap(isModule3D);
3270 }
3271 
3273 {
3274  if (dbVersion() < 2) {
3275  return m_legacyManager->EmptyRows(index);
3276  } else {
3277  int newIndex = GangedTableIndex(index, GangedType());
3278  if (newIndex >= 0) {
3279  return db()->getInt(m_PixelGangedPixels,"EMPTYROW",newIndex);
3280  } else {
3281  return 0;
3282  }
3283  }
3284 }
3285 
3287 {
3288  if (dbVersion() < 2) {
3290  } else {
3291  int newIndex = GangedTableIndex(index, GangedType());
3292  if (newIndex >= 0) {
3293  return db()->getInt(m_PixelGangedPixels,"CONNECTROW",newIndex);
3294  } else {
3295  return 0;
3296  }
3297  }
3298 }
3299 
3300 
3302 {
3303  if (dbVersion() < 2) {
3305  } else {
3306  // All layers assumed to be the same.
3307  return DesignPitchRP(isModule3D) * ((DesignNumRowsPerChip(isModule3D)+DesignNumEmptyRowsInGap(isModule3D)) * DesignNumChipsPhi(isModule3D) - DesignNumEmptyRowsInGap(isModule3D));
3308  }
3309 }
3310 
3312 {
3313  if (dbVersion() < 2) {
3315  } else {
3316  // All layers assumed to be the same.
3317  return (DesignPitchZ(isModule3D) * (DesignNumColsPerChip(isModule3D) - 2) + 2 * DesignPitchZLong(isModule3D)) * DesignNumChipsEta(isModule3D) + 2 * (DesignPitchZLongEnd(isModule3D) - DesignPitchZLong(isModule3D));
3318  }
3319 }
3320 
3321 double DBPixelGeoManager::DesignPitchRP(bool isModule3D)
3322 {
3323  if (dbVersion() < 2) {
3325  } else {
3326  int type = designType((ibl()&&isModule3D));
3327  return db()->getDouble(m_PixelReadout,"PITCHPHI",type) * Gaudi::Units::mm;
3328  }
3329 }
3330 
3331 double DBPixelGeoManager::DesignPitchZ(bool isModule3D)
3332 {
3333  if (dbVersion() < 2) {
3335  } else {
3336  int type = designType((ibl()&&isModule3D));
3337  return db()->getDouble(m_PixelReadout,"PITCHETA",type) * Gaudi::Units::mm;
3338  }
3339 }
3340 
3342 {
3343  // Defaults to DesignPitchZ if not specified or is zero.
3344  if (dbVersion() < 2) {
3346  } else {
3347  int type = designType((ibl()&&isModule3D));
3348  double pitch = db()->getDouble(m_PixelReadout,"PITCHETALONG",type) * Gaudi::Units::mm;
3349  if (pitch == 0) pitch = DesignPitchZ(isModule3D);
3350  return pitch;
3351  }
3352 }
3353 
3355 {
3356  // Defaults to DesignPitchZLongEnd if not specified or is zero.
3357  if (!ibl()) { // This check is not really needed once the field is in the database.
3358  return DesignPitchZLong(isModule3D);
3359  } else {
3360  int type = designType((ibl()&&isModule3D));
3361  double pitch = 0;
3362  if (db()->testField(m_PixelReadout,"PITCHETAEND",type)) {
3363  pitch = db()->getDouble(m_PixelReadout,"PITCHETAEND",type) * Gaudi::Units::mm;
3364  }
3365  if (pitch == 0) pitch = DesignPitchZLong(isModule3D);
3366  return pitch;
3367  }
3368 }
3369 
3370 
3371 double DBPixelGeoManager::DesignGapRP(bool isModule3D)
3372 {
3373  if (dbVersion() < 2) {
3374  return m_legacyManager->DesignGapRP();
3375  } else {
3376  return DesignNumEmptyRowsInGap(isModule3D) * DesignPitchRP(isModule3D);
3377  }
3378 }
3379 
3380 double DBPixelGeoManager::DesignGapZ(bool isModule3D)
3381 {
3382  if (dbVersion() < 2) {
3383  return m_legacyManager->DesignGapZ();
3384  } else {
3385  return 2. * (DesignPitchZLong(isModule3D) - DesignPitchZ(isModule3D));
3386  }
3387 }
3388 
3389 int DBPixelGeoManager::DesignCircuitsPhi(bool /* isModule3D */)
3390 {
3391  //
3392  // This should be (*pdch)[0]->getDouble("NRPCHIP"), but in the current
3393  // design we prefer to have one chip in the rphi direction
3394  // and define the connections for the pixels in the gap
3395  return 1;
3396 }
3397 
3399 {
3400  return DesignNumChipsEta(isModule3D);
3401 }
3402 
3403 
3404 
3405 // Endcap
3407 {
3408  return db()->getDouble(m_PixelDisk,"RIDISK",m_currentLD)*mmcm();
3409 }
3410 
3412 
3413 //
3414 // endcap rings
3415 //
3417  // Hardwire for now
3418  return 3;
3419 }
3420 
3422  std::ostringstream field;
3423  field <<"SUP"<< isup+1 <<"RMIN";
3424  return db()->getDouble(m_PixelDisk,field.str(),m_currentLD)*mmcm();
3425 }
3426 
3428  std::ostringstream field;
3429  field <<"SUP"<< isup+1 <<"RMAX";
3430  return db()->getDouble(m_PixelDisk,field.str(),m_currentLD)*mmcm();
3431 }
3432 
3433 
3434 // SLHC only (TODO: does not look like it)
3436 
3437  std::ostringstream prefix;
3438  prefix <<"SUP"<< isup+1 <<"THICK";
3439 
3440  bool found = false;
3441  double tck = 0;
3442 
3443  // First check text file
3444  // default support thickness
3445  if (db()->testFieldTxt(m_PixelDisk,"SUP_THICK")) {
3446  tck = db()->getDouble(m_PixelDisk,"SUP_THICK");
3447  found = true;
3448  }
3449  // overwrites if found
3450  if (db()->testFieldTxt(m_PixelDisk,prefix.str(),m_currentLD)) {
3451  tck = db()->getDouble(m_PixelDisk,prefix.str(),m_currentLD);
3452  found = true;
3453  }
3454 
3455  // Now check database
3456  if (!found) tck = db()->getDouble(m_PixelDisk,prefix.str(),m_currentLD);
3457 
3458  if(tck>0.) {
3459  return tck * mmcm();
3460  } else { // radlen
3462  std::string matName = getMaterialName("DiskSupport", m_currentLD, typeNum);
3463  return CalculateThickness(tck, matName);
3464  }
3465 }
3466 
3467 // SLHC only (TODO: does not look like it)
3469 
3470  if (dbVersion() < 3) return 0;
3471 
3472  std::ostringstream prefix;
3473  prefix <<"SUP"<< isup+1 <<"MAT";
3474 
3475  int imat = 0;
3476  bool found = false;
3477  // default material type
3478  if (db()->testFieldTxt(m_PixelDisk,"SUP_MAT")) {
3479  imat = db()->getInt(m_PixelDisk,"SUP_MAT");
3480  found = true;
3481  }
3482  // overwrites if found
3483  if (db()->testFieldTxt(m_PixelDisk,prefix.str(),m_currentLD)) {
3484  imat = db()->getInt(m_PixelDisk,prefix.str(),m_currentLD);
3485  found = true;
3486  }
3487 
3488  if (!found) {
3489  imat = db()->getInt(m_PixelDisk,prefix.str(),m_currentLD);
3490  }
3491  return imat;
3492 }
3493 
3494 
3495 //
3496 //*** DBM Parameters with local database ***//
3497 //
3498 
3499 // return angle of the telescope
3501  return db()->getDouble(m_DBMTelescope,"ANGLE")*Gaudi::Units::deg;
3502 }
3503 
3504 // return dimension of the DBM telescope
3506  return db()->getDouble(m_DBMTelescope,"WIDTH")*Gaudi::Units::mm;
3507 }
3509  return db()->getDouble(m_DBMTelescope,"HEIGHT")*Gaudi::Units::mm;
3510 }
3512  return db()->getDouble(m_DBMTelescope,"LENGTH")*Gaudi::Units::mm;
3513 }
3514 
3515 // return height and length of the module cage having a 3-layers structure
3517  return db()->getDouble(m_DBMTelescope,"CAGE_HEIGHT")*Gaudi::Units::mm;
3518 }
3520  return db()->getDouble(m_DBMTelescope,"CAGE_LENGTH")*Gaudi::Units::mm;
3521 }
3522 
3523 // return layer spacing
3525  return db()->getDouble(m_DBMCage,"ZSPACING")*Gaudi::Units::mm;
3526 }
3528  if (m_currentLD == 0)
3529  return db()->getDouble(m_DBMCage,"RADIAL_SPACE_0")*Gaudi::Units::mm;
3530  else if (m_currentLD == 1)
3531  return db()->getDouble(m_DBMCage,"RADIAL_SPACE_1")*Gaudi::Units::mm;
3532  else if (m_currentLD == 2)
3533  return db()->getDouble(m_DBMCage,"RADIAL_SPACE_2")*Gaudi::Units::mm;
3534  else {
3535  msg(MSG::WARNING) << "DBMSpacingRadial() is not found" << endmsg;
3536  return 0.;
3537  }
3538 }
3539 // return dimension of bracket unit
3541  return db()->getDouble(m_DBMBracket,"WIDTH")*Gaudi::Units::mm;
3542 }
3544  return db()->getDouble(m_DBMBracket,"HEIGHT")*Gaudi::Units::mm;
3545 }
3547  return db()->getDouble(m_DBMBracket,"THICKNESS")*Gaudi::Units::mm;
3548 }
3550  return db()->getDouble(m_DBMBracket,"TRAPEZBACK_THETA")*Gaudi::Units::deg;
3551 }
3553  return db()->getDouble(m_DBMBracket,"TRAPEZBACK_WIDTH")*Gaudi::Units::mm;
3554 }
3556  return db()->getDouble(m_DBMBracket,"TRAPEZBACK_HEIGHT")*Gaudi::Units::mm;
3557 }
3559  return db()->getDouble(m_DBMBracket,"TRAPEZBACK_ZSHORT")*Gaudi::Units::mm;
3560 }
3562  return db()->getDouble(m_DBMBracket,"WINDOW_WIDTH")*Gaudi::Units::mm;
3563 }
3565  return db()->getDouble(m_DBMBracket,"WINDOW_HEIGHT")*Gaudi::Units::mm;
3566 }
3568  return db()->getDouble(m_DBMBracket,"WINDOW_OFFSET")*Gaudi::Units::mm;
3569 }
3571  return db()->getDouble(m_DBMBracket,"WINDOW_CENTERZ")*Gaudi::Units::mm;
3572 }
3574  return db()->getDouble(m_DBMBracket,"TOPBLOCK_THICK")*Gaudi::Units::mm;
3575 }
3577  return db()->getDouble(m_DBMBracket,"SIDEBLOCK_WIDTH")*Gaudi::Units::mm;
3578 }
3580  return db()->getDouble(m_DBMBracket,"SIDEBLOCK_HEIGHT")*Gaudi::Units::mm;
3581 }
3583  return db()->getDouble(m_DBMBracket,"LOCK_THICK")*Gaudi::Units::mm;
3584 }
3586  return db()->getDouble(m_DBMBracket,"LOCK_HEIGHT")*Gaudi::Units::mm;
3587 }
3589  return db()->getDouble(m_DBMBracket,"COOLINGFIN_ZLONG")*Gaudi::Units::mm;
3590 }
3592  return db()->getDouble(m_DBMBracket,"COOLINGFIN_HEIGHT")*Gaudi::Units::mm;
3593 }
3595  return db()->getDouble(m_DBMBracket,"COOLINGFIN_THICK")*Gaudi::Units::mm;
3596 }
3598  return db()->getDouble(m_DBMBracket,"COOLINGFIN_POS")*Gaudi::Units::mm;
3599 }
3600 
3601 // return spacing between V-slide and first layer
3603  return db()->getDouble(m_DBMCage,"SPACING1")*Gaudi::Units::mm;
3604 }
3605 
3606 // return dimensions of the main plate
3608  return db()->getDouble(m_DBMCage,"MAINPLATE_WIDTH")*Gaudi::Units::mm;
3609 }
3611  return db()->getDouble(m_DBMCage,"MAINPLATE_HEIGHT")*Gaudi::Units::mm;
3612 }
3614  return db()->getDouble(m_DBMCage,"MAINPLATE_THICK")*Gaudi::Units::mm;
3615 }
3617  return db()->getDouble(m_DBMCage,"MPWINDOW_WIDTH")*Gaudi::Units::mm;
3618 }
3620  return db()->getDouble(m_DBMCage,"MPWINDOW_HEIGHT")*Gaudi::Units::mm;
3621 }
3623  return db()->getDouble(m_DBMCage,"MPWINDOW_POS")*Gaudi::Units::mm;
3624 }
3625 // return dimensions of aluminium side plates
3627  return db()->getDouble(m_DBMCage,"SIDEPLATE_THICK")*Gaudi::Units::mm;
3628 }
3630  return db()->getDouble(m_DBMCage,"SIDEPLATE_HEIGHT")*Gaudi::Units::mm;
3631 }
3633  return db()->getDouble(m_DBMCage,"SIDEPLATE_LENGTH")*Gaudi::Units::mm;
3634 }
3636  return db()->getDouble(m_DBMCage,"SIDEPLATE_POS")*Gaudi::Units::mm;
3637 }
3638 
3639 // return dimension of sensor, chip and ceramic
3641  return db()->getDouble(m_DBMModule,"DIAMOND_WIDTH")*Gaudi::Units::mm;
3642 }
3644  return db()->getDouble(m_DBMModule,"DIAMOND_HEIGHT")*Gaudi::Units::mm;
3645 }
3647  return db()->getDouble(m_DBMModule,"DIAMOND_THICK")*Gaudi::Units::mm;
3648 }
3650  return db()->getDouble(m_DBMModule,"FEI4_WIDTH")*Gaudi::Units::mm;
3651 }
3653  return db()->getDouble(m_DBMModule,"FEI4_HEIGHT")*Gaudi::Units::mm;
3654 }
3656  return db()->getDouble(m_DBMModule,"FEI4_THICK")*Gaudi::Units::mm;
3657 }
3659  return db()->getDouble(m_DBMModule,"CERAMIC_WIDTH")*Gaudi::Units::mm;
3660 }
3662  return db()->getDouble(m_DBMModule,"CERAMIC_HEIGHT")*Gaudi::Units::mm;
3663 }
3665  return db()->getDouble(m_DBMModule,"CERAMIC_THICK")*Gaudi::Units::mm;
3666 }
3668  return db()->getDouble(m_DBMModule,"AIR_GAP")*Gaudi::Units::mm;
3669 }
3671  return db()->getDouble(m_DBMModule,"KAPTONZ")*Gaudi::Units::mm;
3672 }
3673 
3674 // flex support
3676  return db()->getDouble(m_DBMCage,"FLEXSUPP_WIDTH")*Gaudi::Units::mm;
3677 }
3679  return db()->getDouble(m_DBMCage,"FLEXSUPP_HEIGHT")*Gaudi::Units::mm;
3680 }
3682  return db()->getDouble(m_DBMCage,"FLEXSUPP_THICK")*Gaudi::Units::mm;
3683 }
3685  return db()->getDouble(m_DBMCage, "FLEXSUPP_OFFSET")*Gaudi::Units::mm;
3686 }
3687 
3688 // return radius of supporting rod
3690  return db()->getDouble(m_DBMCage,"ROD_RADIUS")*Gaudi::Units::mm;
3691 }
3692 // return distance between center of rods
3694  return db()->getDouble(m_DBMCage,"ROD2ROD_VERT")*Gaudi::Units::mm;
3695 }
3697  return db()->getDouble(m_DBMCage,"ROD2ROD_HOR")*Gaudi::Units::mm;
3698 }
3699 
3700 // radius and thickness of PP0 board
3702  return db()->getDouble(m_DBMTelescope,"PP0_RIN")*Gaudi::Units::mm;
3703 }
3705  return db()->getDouble(m_DBMTelescope,"PP0_ROUT")*Gaudi::Units::mm;
3706 }
3708  return db()->getDouble(m_DBMTelescope,"PP0_THICK")*Gaudi::Units::mm;
3709 }
3710 
3711 
DBPixelGeoManager::PixelPigtailFlatWidthZ
virtual double PixelPigtailFlatWidthZ() override
Definition: DBPixelGeoManager.cxx:2961
DBPixelGeoManager::DBMBrcktFinLongZ
virtual double DBMBrcktFinLongZ() override
Definition: DBPixelGeoManager.cxx:3588
DBPixelGeoManager::PixelConnectorPosZ
virtual double PixelConnectorPosZ(int index) override
Definition: DBPixelGeoManager.cxx:3060
PixelLegacyManager::DesignDiodesPhiTotal
int DesignDiodesPhiTotal(bool isBLayer)
Definition: PixelLegacyManager.cxx:866
DBPixelGeoManager::PixelBoardActiveLength
virtual double PixelBoardActiveLength(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:510
PixelLegacyManager::PixelTMTWidthY
double PixelTMTWidthY(int iPart)
Definition: PixelLegacyManager.cxx:447
DBPixelGeoManager::PixelECCarbonRMin
virtual double PixelECCarbonRMin(std::string) override
Definition: DBPixelGeoManager.cxx:668
PixelStaveTypes::getBiStaveType
int getBiStaveType(int layer, int phiModule) const
Definition: PixelStaveTypes.cxx:57
DBPixelGeoManager::IBLSupportMidRingInnerRadius
virtual double IBLSupportMidRingInnerRadius() override
Definition: DBPixelGeoManager.cxx:2114
DBPixelGeoManager::PixelOmegaUpperBendY
virtual double PixelOmegaUpperBendY() override
Definition: DBPixelGeoManager.cxx:2690
DBPixelGeoManager::PixelStaveLayout
virtual int PixelStaveLayout() override
Definition: DBPixelGeoManager.cxx:1489
DBPixelGeoManager::DBMTelescopeY
virtual double DBMTelescopeY() override
Definition: DBPixelGeoManager.cxx:3508
PixelLegacyManager::PixelPigtailPosX
double PixelPigtailPosX()
Definition: PixelLegacyManager.cxx:744
DBPixelGeoManager::PixelAlTubeLowerBendX
virtual double PixelAlTubeLowerBendX() override
Definition: DBPixelGeoManager.cxx:2766
DBPixelGeoManager::PixelECCablesThickness
virtual double PixelECCablesThickness() override
Definition: DBPixelGeoManager.cxx:1045
DBPixelGeoManager::DBMTrapezBackTheta
virtual double DBMTrapezBackTheta() override
Definition: DBPixelGeoManager.cxx:3549
DBPixelGeoManager::DesignDiodeColumnsPerCircuit
virtual int DesignDiodeColumnsPerCircuit(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:3201
InDetMaterialManager::addWeightTable
void addWeightTable(const IRDBRecordset_ptr &weightTable, const std::string &space="")
Definition: InDetMaterialManager.cxx:321
beamspotman.r
def r
Definition: beamspotman.py:676
DBPixelGeoManager::designType
int designType(bool isModule3D=false)
Definition: DBPixelGeoManager.cxx:3071
DBPixelGeoManager::PixelModuleZPositionTabulated
double PixelModuleZPositionTabulated(int etaModule, int type)
Definition: DBPixelGeoManager.cxx:2455
PixelLegacyManager::PixelOmegaLength
double PixelOmegaLength()
Definition: PixelLegacyManager.cxx:532
DBPixelGeoManager::PixelModuleServiceName
virtual std::string PixelModuleServiceName(int svc) override
Definition: DBPixelGeoManager.cxx:651
DBPixelGeoManager::PixelFrameElementZMax1
virtual double PixelFrameElementZMax1(int sectionIndex, int element) override
Definition: DBPixelGeoManager.cxx:1468
DBPixelGeoManager::IBLStaveMechanicalStaveEndBlockFixPoint
virtual double IBLStaveMechanicalStaveEndBlockFixPoint() override
Definition: DBPixelGeoManager.cxx:1724
DBPixelGeoManager::DBMPP0ROut
virtual double DBMPP0ROut() override
Definition: DBPixelGeoManager.cxx:3704
DBPixelGeoManager::IBLStaveModuleType
virtual int IBLStaveModuleType() override
Definition: DBPixelGeoManager.cxx:1986
DBPixelGeoManager::PixelModuleServiceOffsetY
virtual double PixelModuleServiceOffsetY(int svc) override
Definition: DBPixelGeoManager.cxx:631
DBPixelGeoManager::PixelOmegaGlueLength
virtual double PixelOmegaGlueLength(int index) override
Definition: DBPixelGeoManager.cxx:2830
DBPixelGeoManager::m_barrelInFrames
int m_barrelInFrames
Definition: DBPixelGeoManager.h:100
DBPixelGeoManager::PixelOmegaGlueTypeNum
virtual int PixelOmegaGlueTypeNum(int index) override
Definition: DBPixelGeoManager.cxx:2842
DBPixelGeoManager::PixelFluidType
virtual int PixelFluidType(int index) override
Definition: DBPixelGeoManager.cxx:2896
DBPixelGeoManager::PixelECNSectors2
virtual int PixelECNSectors2() override
Definition: DBPixelGeoManager.cxx:2596
DBPixelGeoManager::centerModule
virtual bool centerModule(int etaModule) override
Definition: DBPixelGeoManager.cxx:2508
DBPixelGeoManager::IBLSupportMidRingOuterRadius
virtual double IBLSupportMidRingOuterRadius() override
Definition: DBPixelGeoManager.cxx:2125
DBPixelGeoManager::NumberOfEmptyRows
virtual int NumberOfEmptyRows(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:3267
DBPixelGeoManager::PixelEndcapNDisk
virtual int PixelEndcapNDisk() override
Definition: DBPixelGeoManager.cxx:2543
DBPixelGeoManager::IBLStaveTubeMiddlePos
virtual double IBLStaveTubeMiddlePos() override
Definition: DBPixelGeoManager.cxx:1818
DBPixelGeoManager::IBLStaveFlexWingWidth
virtual double IBLStaveFlexWingWidth() override
Definition: DBPixelGeoManager.cxx:2167
DBPixelGeoManager::PixelEndcapRMin
virtual double PixelEndcapRMin() override
Definition: DBPixelGeoManager.cxx:2549
DBPixelGeoManager::PixelBarrelRMax
virtual double PixelBarrelRMax() override
Definition: DBPixelGeoManager.cxx:1318
DBPixelGeoManager::PixelLadderBentStaveAngle
virtual double PixelLadderBentStaveAngle() override
Definition: DBPixelGeoManager.cxx:1609
DBPixelGeoManager::IBLFlexDoglegDY
virtual double IBLFlexDoglegDY() override
Definition: DBPixelGeoManager.cxx:2214
DBPixelGeoManager::PixelConnectorWidthZ
virtual double PixelConnectorWidthZ(int index) override
Definition: DBPixelGeoManager.cxx:3042
DBPixelGeoManager::makeFrameIndexMap
void makeFrameIndexMap()
Definition: DBPixelGeoManager.cxx:1402
DBPixelGeoManager::DBMFlexSupportX
virtual double DBMFlexSupportX() override
Definition: DBPixelGeoManager.cxx:3675
DBPixelGeoManager::m_diskRingIndexMap
InDetDD::PairIndexMap * m_diskRingIndexMap
Definition: DBPixelGeoManager.h:161
DBPixelGeoManager::PixelTMTNumParts
virtual int PixelTMTNumParts() override
TMT.
Definition: DBPixelGeoManager.cxx:2621
PixelMaterialMap::addMaterial
void addMaterial(int layerdisk, int typenum, const std::string &volumeName, const std::string &materialName)
Definition: PixelMaterialMap.cxx:63
DBPixelGeoManager::PixelTMTWidthX2
virtual double PixelTMTWidthX2(int iPart) override
Definition: DBPixelGeoManager.cxx:2633
PixelLegacyManager::DesignGapRP
double DesignGapRP()
Definition: PixelLegacyManager.cxx:944
DBPixelGeoManager::IBLFlexPP0Rmax
virtual double IBLFlexPP0Rmax(int iPos) override
Definition: DBPixelGeoManager.cxx:2254
DBPixelGeoManager::m_PixelConnector
IRDBRecordset_ptr m_PixelConnector
Definition: DBPixelGeoManager.h:64
PixelLegacyManager::PixelOmegaStartY
double PixelOmegaStartY()
Definition: PixelLegacyManager.cxx:537
max
#define max(a, b)
Definition: cfImp.cxx:41
DBPixelGeoManager::legacyManager
virtual PixelLegacyManager * legacyManager() override
Definition: DBPixelGeoManager.cxx:224
DBPixelGeoManager::m_PixelTMT
IRDBRecordset_ptr m_PixelTMT
Definition: DBPixelGeoManager.h:59
PixelLegacyManager::PixelAlTubeLowerBendRadius
double PixelAlTubeLowerBendRadius()
Definition: PixelLegacyManager.cxx:576
DBPixelGeoManager::IBLFlexMiddleGap
virtual double IBLFlexMiddleGap() override
Definition: DBPixelGeoManager.cxx:2136
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
IGeometryDBSvc.h
DBPixelGeoManager::PixelServiceMaterial
virtual std::string PixelServiceMaterial(const std::string &, int) override
Definition: DBPixelGeoManager.cxx:891
DBPixelGeoManager::PixelOmegaUpperBendX
virtual double PixelOmegaUpperBendX() override
Definition: DBPixelGeoManager.cxx:2684
IRDBAccessSvc::getRecordsetPtr
virtual IRDBRecordset_ptr getRecordsetPtr(const std::string &node, const std::string &tag, const std::string &tag2node="", const std::string &connName="ATLASDD")=0
Provides access to the Recordset object containing HVS-tagged data.
PixelLegacyManager::DesignNumChipsEta
int DesignNumChipsEta()
Definition: PixelLegacyManager.cxx:845
PixelLegacyManager::PixelFluidThick2
double PixelFluidThick2(int index)
Definition: PixelLegacyManager.cxx:663
DBPixelGeoManager::m_PixelEnvelope
IRDBRecordset_ptr m_PixelEnvelope
Definition: DBPixelGeoManager.h:43
DBPixelGeoManager::PixelECSiDz2
virtual double PixelECSiDz2() override
Definition: DBPixelGeoManager.cxx:2586
PixelGeometryManager
Definition: PixelGeometryManager.h:28
DBPixelGeoManager::PixelChipLength
virtual double PixelChipLength(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:559
DBPixelGeoManager::versionDescription
virtual std::string versionDescription() const override
Definition: DBPixelGeoManager.cxx:1211
PixelLegacyManager::PixelLadderThickness
double PixelLadderThickness()
Definition: PixelLegacyManager.cxx:299
DBPixelGeoManager::DesignDiodesPhiTotal
virtual int DesignDiodesPhiTotal(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:3167
PixelGeometryManager::msg
MsgStream & msg(MSG::Level lvl) const
Definition: PixelGeometryManager.h:611
DBPixelGeoManager::m_PixelFrame
IRDBRecordset_ptr m_PixelFrame
Definition: DBPixelGeoManager.h:66
TopLevelPlacements
Definition: TopLevelPlacements.h:18
DBPixelGeoManager::determineDbVersion
int determineDbVersion()
Definition: DBPixelGeoManager.cxx:1132
PixelLegacyManager::PixelLadderLength
double PixelLadderLength()
Definition: PixelLegacyManager.cxx:304
DBPixelGeoManager::PixelFrameRMinSide
virtual double PixelFrameRMinSide(int sectionIndex) override
Definition: DBPixelGeoManager.cxx:1346
PixelLegacyManager::PixelAlTubeWallThickness
double PixelAlTubeWallThickness()
Definition: PixelLegacyManager.cxx:581
DBPixelGeoManager::m_PixelBarrelService
IRDBRecordset_ptr m_PixelBarrelService
Definition: DBPixelGeoManager.h:40
DBPixelGeoManager::PixelAlTubeLowerBendY
virtual double PixelAlTubeLowerBendY() override
Definition: DBPixelGeoManager.cxx:2772
PixelLegacyManager::PixelTMTPosZ1
double PixelTMTPosZ1(int iPart)
Definition: PixelLegacyManager.cxx:477
DBPixelGeoManager::NPixelSectors
virtual int NPixelSectors() override
Definition: DBPixelGeoManager.cxx:2397
TopLevelPlacements::transform
const GeoTrf::Transform3D & transform(const std::string &partName) const
Definition: TopLevelPlacements.cxx:26
DBPixelGeoManager::PixelDiskNumSupports
virtual int PixelDiskNumSupports() override
Definition: DBPixelGeoManager.cxx:3416
DBPixelGeoManager::PixelNumOmegaGlueElements
virtual int PixelNumOmegaGlueElements() override
Definition: DBPixelGeoManager.cxx:2800
DBPixelGeoManager::m_pixelStaveTypes
PixelStaveTypes * m_pixelStaveTypes
Definition: DBPixelGeoManager.h:151
PixelLegacyManager::PixelLadderCableOffsetY
double PixelLadderCableOffsetY()
Definition: PixelLegacyManager.cxx:325
DBPixelGeoManager::PixelServiceWidth
virtual double PixelServiceWidth(const std::string &a, int _n) override
Definition: DBPixelGeoManager.cxx:851
DBPixelGeoManager::PixelLadderThickness
virtual double PixelLadderThickness() override
Definition: DBPixelGeoManager.cxx:1550
DBPixelGeoManager::PixelLadderServicesX
virtual double PixelLadderServicesX() override
Definition: DBPixelGeoManager.cxx:1562
DBPixelGeoManager::PixelFluidZ1
virtual double PixelFluidZ1(int index) override
Definition: DBPixelGeoManager.cxx:2852
DBPixelGeoManager::commonItems
virtual InDetDD::SiCommonItems * commonItems() override
Definition: DBPixelGeoManager.cxx:246
DBPixelGeoManager::IBLServiceGetMaxRadialPosition
virtual double IBLServiceGetMaxRadialPosition(const std::string &srvName, const std::string &srvType, double srvZmin, double srvZmax) override
Definition: DBPixelGeoManager.cxx:2341
PixelLegacyManager::PixelAlTubeLowerBendX
double PixelAlTubeLowerBendX()
Definition: PixelLegacyManager.cxx:566
DBPixelGeoManager::PixelBarrelRMin
virtual double PixelBarrelRMin() override
Definition: DBPixelGeoManager.cxx:1313
DBPixelGeoManager::m_PixelIBLGlueGrease
IRDBRecordset_ptr m_PixelIBLGlueGrease
Definition: DBPixelGeoManager.h:72
PixelAthClusterMonAlgCfg.zmin
zmin
Definition: PixelAthClusterMonAlgCfg.py:176
index
Definition: index.py:1
DBPixelGeoManager::PixelFrameSideMaterial
virtual std::string PixelFrameSideMaterial(int sectionIndex) override
Definition: DBPixelGeoManager.cxx:1386
PixelLegacyManager::PixelCableStackOffset
double PixelCableStackOffset(int index)
Definition: PixelLegacyManager.cxx:379
DBPixelGeoManager::PixelAlTubeLength
virtual double PixelAlTubeLength() override
Definition: DBPixelGeoManager.cxx:2790
PixelLegacyManager::PixelLadderServicesY
double PixelLadderServicesY()
Definition: PixelLegacyManager.cxx:314
DBPixelGeoManager::PixelLadderCableOffsetY
virtual double PixelLadderCableOffsetY() override
Definition: DBPixelGeoManager.cxx:1583
DBPixelGeoManager::GangedTableIndex
int GangedTableIndex(int index, int type)
Definition: DBPixelGeoManager.cxx:3235
DBPixelGeoManager::DBMCeramicY
virtual double DBMCeramicY() override
Definition: DBPixelGeoManager.cxx:3661
PixelLegacyManager::PixelCableZStart
double PixelCableZStart(int index)
Definition: PixelLegacyManager.cxx:351
mat
GeoMaterial * mat
Definition: LArDetectorConstructionTBEC.cxx:53
DBPixelGeoManager::m_staveTypeTable
IRDBRecordset_ptr m_staveTypeTable
Definition: DBPixelGeoManager.h:77
PixelLegacyManager::PixelOmegaEndY
double PixelOmegaEndY()
Definition: PixelLegacyManager.cxx:542
DBPixelGeoManager::PixelCableLayerNum
virtual int PixelCableLayerNum(int index) override
Definition: DBPixelGeoManager.cxx:1064
DBPixelGeoManager::m_PixelSwitches
IRDBRecordset_ptr m_PixelSwitches
Definition: DBPixelGeoManager.h:38
DBPixelGeoManager::PixelPigtailBendPhiMax
virtual double PixelPigtailBendPhiMax() override
Definition: DBPixelGeoManager.cxx:3009
DBPixelGeoManager::IBLStaveMechanicalStaveWidth
virtual double IBLStaveMechanicalStaveWidth() override
Definition: DBPixelGeoManager.cxx:1702
DBPixelGeoManager::partPresent
virtual bool partPresent(const std::string &partName) const override
Definition: DBPixelGeoManager.cxx:281
DBPixelGeoManager::SetBarrel
virtual void SetBarrel() override
Definition: DBPixelGeoManager.cxx:333
InDetDD::DistortedMaterialManager
Definition: DistortedMaterialManager.h:14
PixelLegacyManager::PixelTMTWidthX1
double PixelTMTWidthX1(int iPart)
Definition: PixelLegacyManager.cxx:442
DBPixelGeoManager::DoServicesOnLadder
virtual bool DoServicesOnLadder() override
Definition: DBPixelGeoManager.cxx:388
PixelLegacyManager::PixelCableThickness
double PixelCableThickness(int index)
Definition: PixelLegacyManager.cxx:373
DBPixelGeoManager::DesignZActiveArea
virtual double DesignZActiveArea(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:3311
PixelLegacyManager::PixelTMTNumParts
int PixelTMTNumParts()
TMT.
Definition: PixelLegacyManager.cxx:398
DBPixelGeoManager::PixelOmegaGluePosZ
virtual double PixelOmegaGluePosZ(int index) override
Definition: DBPixelGeoManager.cxx:2836
DBPixelGeoManager::PixelEndcapNSupportFrames
virtual int PixelEndcapNSupportFrames() override
Definition: DBPixelGeoManager.cxx:2569
DBPixelGeoManager::DBMBrcktSideBlockY
virtual double DBMBrcktSideBlockY() override
Definition: DBPixelGeoManager.cxx:3579
DBPixelGeoManager::PixelECCarbonMaterialTypeNum
virtual int PixelECCarbonMaterialTypeNum(std::string) override
Definition: DBPixelGeoManager.cxx:708
DBPixelGeoManager::m_PixelModule
IRDBRecordset_ptr m_PixelModule
Definition: DBPixelGeoManager.h:51
DBPixelGeoManager::DBMTelescopeZ
virtual double DBMTelescopeZ() override
Definition: DBPixelGeoManager.cxx:3511
DBPixelGeoManager::IBLStaveMechanicalStaveEndBlockLength
virtual double IBLStaveMechanicalStaveEndBlockLength() override
Definition: DBPixelGeoManager.cxx:1713
PixelLegacyManager::PixelPigtailEndY
double PixelPigtailEndY()
Definition: PixelLegacyManager.cxx:725
DBPixelGeoManager::PixelServiceZMin
virtual double PixelServiceZMin(const std::string &, int) override
Definition: DBPixelGeoManager.cxx:824
DBPixelGeoManager::PixelServiceRMin
virtual double PixelServiceRMin(const std::string &, int) override
Definition: DBPixelGeoManager.cxx:790
DBPixelGeoManager::PixelTMTWidthY
virtual double PixelTMTWidthY(int iPart) override
Definition: DBPixelGeoManager.cxx:2639
DBPixelGeoManager::PixelFluidMat
virtual std::string PixelFluidMat(int index) override
Definition: DBPixelGeoManager.cxx:2917
DBPixelGeoManager::m_PixelConicalStave
IRDBRecordset_ptr m_PixelConicalStave
Definition: DBPixelGeoManager.h:73
PixelModuleFeMask_create_db.nModules
nModules
Definition: PixelModuleFeMask_create_db.py:47
DBPixelGeoManager::DBMTrapezBackX
virtual double DBMTrapezBackX() override
Definition: DBPixelGeoManager.cxx:3552
DBPixelGeoManager::DBMModuleCageY
virtual double DBMModuleCageY() override
Definition: DBPixelGeoManager.cxx:3516
deg
#define deg
Definition: SbPolyhedron.cxx:17
DBPixelGeoManager::DBMBrcktWindowY
virtual double DBMBrcktWindowY() override
Definition: DBPixelGeoManager.cxx:3564
PixelMaterialMap::getMaterial
std::string getMaterial(int layerdisk, int typenum, const std::string &volumeName) const
Definition: PixelMaterialMap.cxx:39
DBPixelGeoManager::PixelDiskSupportThickness
virtual double PixelDiskSupportThickness(int isup) override
Definition: DBPixelGeoManager.cxx:3435
DBPixelGeoManager::EmptyRowConnections
virtual int EmptyRowConnections(int index) override
Definition: DBPixelGeoManager.cxx:3286
DBPixelGeoManager::PixelDiskSupportRMax
virtual double PixelDiskSupportRMax(int isup) override
Definition: DBPixelGeoManager.cxx:3427
DBPixelGeoManager::PixelPigtailEndY
virtual double PixelPigtailEndY() override
Definition: DBPixelGeoManager.cxx:2948
PixelLegacyManager::PixelPigtailBendY
double PixelPigtailBendY()
Definition: PixelLegacyManager.cxx:759
DBPixelGeoManager::PixelOmegaStartY
virtual double PixelOmegaStartY() override
Definition: DBPixelGeoManager.cxx:2732
DBPixelGeoManager::PixelOmegaUpperBendRadius
virtual double PixelOmegaUpperBendRadius() override
Definition: DBPixelGeoManager.cxx:2696
DBPixelGeoManager::m_PixelEndcapService
IRDBRecordset_ptr m_PixelEndcapService
Definition: DBPixelGeoManager.h:48
PixelGeometryManager::msgLvl
bool msgLvl(MSG::Level lvl) const
Definition: PixelGeometryManager.h:614
DBPixelGeoManager::m_weightTable
IRDBRecordset_ptr m_weightTable
Definition: DBPixelGeoManager.h:74
PixelLegacyManager::PixelOmegaLowerBendRadius
double PixelOmegaLowerBendRadius()
Definition: PixelLegacyManager.cxx:522
DBPixelGeoManager::DesignNumColsPerChip
virtual int DesignNumColsPerChip(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:3155
athena.value
value
Definition: athena.py:122
DBPixelGeoManager::DBMCeramicX
virtual double DBMCeramicX() override
Definition: DBPixelGeoManager.cxx:3658
DBPixelGeoManager::PixelOmegaLength
virtual double PixelOmegaLength() override
Definition: DBPixelGeoManager.cxx:2726
DBPixelGeoManager::PixelServiceZMax
virtual double PixelServiceZMax(const std::string &, int) override
Definition: DBPixelGeoManager.cxx:828
DecodeVersionKey::node
const std::string & node() const
Return the version node.
Definition: DecodeVersionKey.cxx:99
DBPixelGeoManager::PixelTMTPosY
virtual double PixelTMTPosY(int iPart) override
Definition: DBPixelGeoManager.cxx:2657
DBPixelGeoManager::SetCurrentLD
virtual void SetCurrentLD(int i) override
Definition: DBPixelGeoManager.cxx:302
DBPixelGeoManager::m_DBMBracket
IRDBRecordset_ptr m_DBMBracket
Definition: DBPixelGeoManager.h:82
PixelLegacyManager::PixelTMTPerModule
bool PixelTMTPerModule(int iPart)
Definition: PixelLegacyManager.cxx:487
DBPixelGeoManager::PixelFrameCornerMaterial
virtual std::string PixelFrameCornerMaterial(int sectionIndex) override
Definition: DBPixelGeoManager.cxx:1391
DBPixelGeoManager::PixelEndcapZMax
virtual double PixelEndcapZMax() override
Definition: DBPixelGeoManager.cxx:2564
DBPixelGeoManager::m_PixelLayer
IRDBRecordset_ptr m_PixelLayer
Definition: DBPixelGeoManager.h:50
DBPixelGeoManager::getPixelServiceRecordString
std::string getPixelServiceRecordString(const std::string &name, const std::string &type, int index)
Definition: DBPixelGeoManager.cxx:998
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
DBPixelGeoManager::PixelChipOffset
virtual double PixelChipOffset(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:575
DBPixelGeoManager::DBPixelGeoManager
DBPixelGeoManager(PixelGeoModelAthenaComps *athenaComps)
Definition: DBPixelGeoManager.cxx:44
DBPixelGeoManager::DBMFEI4X
virtual double DBMFEI4X() override
Definition: DBPixelGeoManager.cxx:3649
DBPixelGeoManager::allowSkipEtaZero
virtual bool allowSkipEtaZero() override
Definition: DBPixelGeoManager.cxx:2496
DBPixelGeoManager::detailedFrame
virtual bool detailedFrame() override
Definition: DBPixelGeoManager.cxx:1336
DBPixelGeoManager::m_PixelEnvelopeService
IRDBRecordset_ptr m_PixelEnvelopeService
Definition: DBPixelGeoManager.h:49
PixelLegacyManager.h
DBPixelGeoManager::IBLStaveOmegaEndRadius
virtual double IBLStaveOmegaEndRadius() override
Definition: DBPixelGeoManager.cxx:1905
DBPixelGeoManager::PixelLadderSupportThickness
virtual double PixelLadderSupportThickness() override
Definition: DBPixelGeoManager.cxx:1591
DBPixelGeoManager::DBMTrapezBackY
virtual double DBMTrapezBackY() override
Definition: DBPixelGeoManager.cxx:3555
DBPixelGeoManager::DBMPP0RIn
virtual double DBMPP0RIn() override
Definition: DBPixelGeoManager.cxx:3701
DBPixelGeoManager::init
void init()
Definition: DBPixelGeoManager.cxx:76
ReadOfcFromCool.field
field
Definition: ReadOfcFromCool.py:48
DBPixelGeoManager::PixelFrameZMin
virtual double PixelFrameZMin(int sectionIndex) override
Definition: DBPixelGeoManager.cxx:1361
DBPixelGeoManager::PixelModuleAngleSign
virtual double PixelModuleAngleSign(int) override
Definition: DBPixelGeoManager.cxx:2536
DBPixelGeoManager::versionName
virtual std::string versionName() const override
Definition: DBPixelGeoManager.cxx:1220
DBPixelGeoManager::PixelModuleDrDistance
virtual double PixelModuleDrDistance() override
Definition: DBPixelGeoManager.cxx:2430
DBPixelGeoManager::isEndcap
virtual bool isEndcap() override
Definition: DBPixelGeoManager.cxx:377
DBPixelGeoManager::DBMMainPlateZ
virtual double DBMMainPlateZ() override
Definition: DBPixelGeoManager.cxx:3613
DBPixelGeoManager::PixelPigtailPosZ
virtual double PixelPigtailPosZ() override
Definition: DBPixelGeoManager.cxx:2973
DBPixelGeoManager::DesignGapRP
virtual double DesignGapRP(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:3371
PixelLegacyManager::PixelOmegaGlueStartY
double PixelOmegaGlueStartY(int index)
Definition: PixelLegacyManager.cxx:610
DBPixelGeoManager::PixelServiceName
virtual std::string PixelServiceName(const std::string &, int) override
Definition: DBPixelGeoManager.cxx:765
DBPixelGeoManager::m_PixelStaveZ
IRDBRecordset_ptr m_PixelStaveZ
Definition: DBPixelGeoManager.h:54
IGeometryDBSvc::getTableSize
virtual unsigned int getTableSize(IRDBRecordset_ptr recordSet) const =0
DBPixelGeoManager::PixelAlTubeUpperBendY
virtual double PixelAlTubeUpperBendY() override
Definition: DBPixelGeoManager.cxx:2754
DBPixelGeoManager::IBLServiceGetMinRadialPosition
virtual double IBLServiceGetMinRadialPosition(const std::string &srvName, const std::string &srvType, double srvZmin, double srvZmax) override
Definition: DBPixelGeoManager.cxx:2292
DBPixelGeoManager::PixelRMax
virtual double PixelRMax() override
Definition: DBPixelGeoManager.cxx:1252
DBPixelGeoManager::DBMModuleCageZ
virtual double DBMModuleCageZ() override
Definition: DBPixelGeoManager.cxx:3519
PixelLegacyManager::PixelConnectorPosX
double PixelConnectorPosX(int index)
Definition: PixelLegacyManager.cxx:813
DBPixelGeoManager::PixelECNSectors1
virtual int PixelECNSectors1() override
Definition: DBPixelGeoManager.cxx:2591
DBPixelGeoManager::PixelFrameSections
virtual int PixelFrameSections() override
Definition: DBPixelGeoManager.cxx:1341
PixelLegacyManager::PixelOmegaWallThickness
double PixelOmegaWallThickness()
Definition: PixelLegacyManager.cxx:527
DBPixelGeoManager::PixelCableWeight
virtual double PixelCableWeight(int index) override
Definition: DBPixelGeoManager.cxx:1114
DBPixelGeoManager::PixelModuleEtaFromIndex
virtual int PixelModuleEtaFromIndex(int index) override
Definition: DBPixelGeoManager.cxx:2515
DBPixelGeoManager::dbVersion
virtual int dbVersion() override
Definition: DBPixelGeoManager.h:291
DBPixelGeoManager::DesignGapZ
virtual double DesignGapZ(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:3380
PixelLegacyManager::PixelOmegaGlueThickness
double PixelOmegaGlueThickness(int index)
Definition: PixelLegacyManager.cxx:605
DBPixelGeoManager::PixelFrameElementZMin2
virtual double PixelFrameElementZMin2(int sectionIndex, int element) override
Definition: DBPixelGeoManager.cxx:1461
TopLevelPlacements::present
bool present(const std::string &partName) const
Definition: TopLevelPlacements.cxx:35
DBPixelGeoManager::PixelModuleServiceNumber
virtual int PixelModuleServiceNumber() override
Definition: DBPixelGeoManager.cxx:602
DBPixelGeoManager::PixelServiceLD
virtual int PixelServiceLD(const std::string &, int) override
Definition: DBPixelGeoManager.cxx:887
DBPixelGeoManager::DBMCoolingSidePlatePos
virtual double DBMCoolingSidePlatePos() override
Definition: DBPixelGeoManager.cxx:3635
DBPixelGeoManager::mmcm
double mmcm()
Definition: DBPixelGeoManager.h:810
DBPixelGeoManager::m_legacyManager
PixelLegacyManager * m_legacyManager
Definition: DBPixelGeoManager.h:139
DBPixelGeoManager::moduleType
virtual int moduleType() override
Definition: DBPixelGeoManager.cxx:442
DBPixelGeoManager::DBMSpacingZ
virtual double DBMSpacingZ() override
Definition: DBPixelGeoManager.cxx:3524
DBPixelGeoManager::IBLStaveModuleNumber
virtual int IBLStaveModuleNumber() override
Definition: DBPixelGeoManager.cxx:1969
DBPixelGeoManager::moduleType3D
virtual int moduleType3D() override
Definition: DBPixelGeoManager.cxx:456
DBPixelGeoManager::DBMFlexSupportZ
virtual double DBMFlexSupportZ() override
Definition: DBPixelGeoManager.cxx:3681
DBPixelGeoManager::m_PixelTopLevel
IRDBRecordset_ptr m_PixelTopLevel
Definition: DBPixelGeoManager.h:55
DBPixelGeoManager::PixelServiceElements
virtual int PixelServiceElements(const std::string &) override
Definition: DBPixelGeoManager.cxx:740
DBPixelGeoManager::PixelLadderSupportWidth
virtual double PixelLadderSupportWidth() override
Definition: DBPixelGeoManager.cxx:1598
DBPixelGeoManager::PixelOmegaEndY
virtual double PixelOmegaEndY() override
Definition: DBPixelGeoManager.cxx:2738
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
DBPixelGeoManager::DesignNumChipsEta
virtual int DesignNumChipsEta(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:3133
PixelMaterialMap.h
DBPixelGeoManager::DBMBrcktSideBlockX
virtual double DBMBrcktSideBlockX() override
Definition: DBPixelGeoManager.cxx:3576
DBPixelGeoManager::isLDPresent
virtual bool isLDPresent() override
Definition: DBPixelGeoManager.cxx:353
DBPixelGeoManager::m_PixelStave
IRDBRecordset_ptr m_PixelStave
Definition: DBPixelGeoManager.h:53
DBPixelGeoManager::PixelServiceShift
virtual int PixelServiceShift(const std::string &type, int index) override
Definition: DBPixelGeoManager.cxx:878
DBPixelGeoManager::IBLStaveTubeGlueThickness
virtual double IBLStaveTubeGlueThickness() override
Definition: DBPixelGeoManager.cxx:2027
DBPixelGeoManager::PixelLadderSupportLength
virtual double PixelLadderSupportLength() override
Definition: DBPixelGeoManager.cxx:1631
PixelLegacyManager::PixelOmegaUpperBendX
double PixelOmegaUpperBendX()
Definition: PixelLegacyManager.cxx:497
PixelLegacyManager::PixelFluidZ1
double PixelFluidZ1(int index)
Definition: PixelLegacyManager.cxx:639
DBPixelGeoManager::DBMBrcktLockY
virtual double DBMBrcktLockY() override
Definition: DBPixelGeoManager.cxx:3585
DBPixelGeoManager::PixelTMTWidthX1
virtual double PixelTMTWidthX1(int iPart) override
Definition: DBPixelGeoManager.cxx:2627
DBPixelGeoManager::isInnermostPixelLayer
bool isInnermostPixelLayer()
Definition: DBPixelGeoManager.h:277
DBPixelGeoManager::PixelPigtailEnvelopeLength
virtual double PixelPigtailEnvelopeLength() override
Definition: DBPixelGeoManager.cxx:3015
DBPixelGeoManager::DesignNumRowsPerChip
virtual int DesignNumRowsPerChip(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:3144
DBPixelGeoManager::addDefaultMaterials
void addDefaultMaterials()
Definition: DBPixelGeoManager.cxx:1151
DBPixelGeoManager::PixelAlTubeLowerBendRadius
virtual double PixelAlTubeLowerBendRadius() override
Definition: DBPixelGeoManager.cxx:2778
DBPixelGeoManager::PixelFluidIndex
virtual int PixelFluidIndex(int type) override
Definition: DBPixelGeoManager.cxx:2908
DBPixelGeoManager::db
const IGeometryDBSvc * db() const
Definition: DBPixelGeoManager.h:790
DBPixelGeoManager::PixelModuleServiceFullSize
virtual int PixelModuleServiceFullSize(int svc) override
Definition: DBPixelGeoManager.cxx:641
DBPixelGeoManager::m_PixelGangedPixels
IRDBRecordset_ptr m_PixelGangedPixels
Definition: DBPixelGeoManager.h:57
DBPixelGeoManager::PixelCableElements
virtual int PixelCableElements() override
Definition: DBPixelGeoManager.cxx:1057
DBPixelGeoManager::PixelServiceFrameNum
virtual int PixelServiceFrameNum(const std::string &, int) override
Definition: DBPixelGeoManager.cxx:930
DBPixelGeoManager::PixelEndcapZMin
virtual double PixelEndcapZMin() override
Definition: DBPixelGeoManager.cxx:2559
dqt_zlumi_alleff_HIST.A
A
Definition: dqt_zlumi_alleff_HIST.py:110
PixelLegacyManager::PixelTMTBaseX2
double PixelTMTBaseX2(int iPart)
Definition: PixelLegacyManager.cxx:462
IGeometryDBSvc::testField
virtual bool testField(IRDBRecordset_ptr recordSet, const std::string &name, int index=0) const =0
PixelLegacyManager::PixelFluidNumTypes
int PixelFluidNumTypes()
Definition: PixelLegacyManager.cxx:693
DBPixelGeoManager::DBMCoolingSidePlateX
virtual double DBMCoolingSidePlateX() override
Definition: DBPixelGeoManager.cxx:3626
DBPixelGeoManager::DesignNumChipsPhi
virtual int DesignNumChipsPhi(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:3121
DBPixelGeoManager::DBMBrcktWindowX
virtual double DBMBrcktWindowX() override
Definition: DBPixelGeoManager.cxx:3561
DBPixelGeoManager::IBLSupportRingOuterRadius
virtual double IBLSupportRingOuterRadius() override
Definition: DBPixelGeoManager.cxx:2080
DBPixelGeoManager::PixelFrameSideWidth
virtual double PixelFrameSideWidth(int sectionIndex) override
Definition: DBPixelGeoManager.cxx:1356
DBPixelGeoManager::PixelServiceZsymm
virtual bool PixelServiceZsymm(const std::string &, int) override
Definition: DBPixelGeoManager.cxx:777
DBPixelGeoManager::DBMRodRadius
virtual double DBMRodRadius() override
Definition: DBPixelGeoManager.cxx:3689
DBPixelGeoManager::PixelCableBiStaveNum
virtual int PixelCableBiStaveNum(int index) override
Definition: DBPixelGeoManager.cxx:1071
DBPixelGeoManager::PixelCableWidth
virtual double PixelCableWidth(int index) override
Definition: DBPixelGeoManager.cxx:1093
DBPixelGeoManager::DesignDiodeRowsPerCircuit
virtual int DesignDiodeRowsPerCircuit(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:3196
cm
const double cm
Definition: Simulation/ISF/ISF_FastCaloSim/ISF_FastCaloSimParametrization/tools/FCAL_ChannelMap.cxx:25
DBPixelGeoManager::PixelLadderThicknessClearance
virtual double PixelLadderThicknessClearance() override
Definition: DBPixelGeoManager.cxx:1541
DBPixelGeoManager::m_PlanarModuleNumber
int m_PlanarModuleNumber
Definition: DBPixelGeoManager.h:117
DBPixelGeoManager::IBLFlexPP0Z
virtual double IBLFlexPP0Z(int iPos) override
Definition: DBPixelGeoManager.cxx:2225
PixelLegacyManager::PixelFluidX
double PixelFluidX(int index)
Definition: PixelLegacyManager.cxx:678
DBPixelGeoManager::m_PixelRing
IRDBRecordset_ptr m_PixelRing
Definition: DBPixelGeoManager.h:46
PixelLegacyManager::PixelConnectorWidthX
double PixelConnectorWidthX(int index)
Definition: PixelLegacyManager.cxx:798
DBPixelGeoManager::PixelLayerRadius
virtual double PixelLayerRadius() override
Definition: DBPixelGeoManager.cxx:1509
DBPixelGeoManager::PixelLayerGlobalShift
virtual double PixelLayerGlobalShift() override
Definition: DBPixelGeoManager.cxx:1518
DBPixelGeoManager::PixelDiskZPosition
virtual double PixelDiskZPosition() override
Definition: DBPixelGeoManager.cxx:2576
PixelGeometryManager::athenaComps
PixelGeoModelAthenaComps * athenaComps()
Definition: PixelGeometryManager.h:616
DBPixelGeoManager::designType3D
int designType3D()
Definition: DBPixelGeoManager.cxx:3091
DBPixelGeoManager::PixelModuleZPosition
virtual double PixelModuleZPosition(int) override
Definition: DBPixelGeoManager.cxx:2436
DBPixelGeoManager::getPixelServiceRecordTestField
bool getPixelServiceRecordTestField(const std::string &name, const std::string &type, int index)
Definition: DBPixelGeoManager.cxx:1014
DBPixelGeoManager::PixelModuleStaggerSign
virtual int PixelModuleStaggerSign(int etaModule) override
Definition: DBPixelGeoManager.cxx:2486
DBPixelGeoManager::PixelConnectorWidthY
virtual double PixelConnectorWidthY(int index) override
Definition: DBPixelGeoManager.cxx:3036
DBPixelGeoManager::IBLSupportRingInnerRadius
virtual double IBLSupportRingInnerRadius() override
Definition: DBPixelGeoManager.cxx:2069
PixelLegacyManager::PixelAlTubeLowerBendY
double PixelAlTubeLowerBendY()
Definition: PixelLegacyManager.cxx:571
DBPixelGeoManager::getPixelServiceRecordDouble
double getPixelServiceRecordDouble(const std::string &name, const std::string &type, int index)
Definition: DBPixelGeoManager.cxx:1009
DBPixelGeoManager::PixelModuleServiceModuleType
virtual int PixelModuleServiceModuleType(int svc) override
Definition: DBPixelGeoManager.cxx:646
DBPixelGeoManager::DBMBrcktWindowOffset
virtual double DBMBrcktWindowOffset() override
Definition: DBPixelGeoManager.cxx:3567
DBPixelGeoManager::PixelPigtailStartY
virtual double PixelPigtailStartY() override
Definition: DBPixelGeoManager.cxx:2942
DBPixelGeoManager::m_3DModuleNumber
int m_3DModuleNumber
Definition: DBPixelGeoManager.h:117
DBPixelGeoManager::PixelTMTPerModule
virtual bool PixelTMTPerModule(int iPart) override
Definition: DBPixelGeoManager.cxx:2675
DBPixelGeoManager::IBLFlexDoglegRatio
virtual double IBLFlexDoglegRatio() override
Definition: DBPixelGeoManager.cxx:2189
DBPixelGeoManager::~DBPixelGeoManager
~DBPixelGeoManager()
Definition: DBPixelGeoManager.cxx:230
DBPixelGeoManager::PixelDiskRMin
virtual double PixelDiskRMin() override
Definition: DBPixelGeoManager.cxx:3406
DBPixelGeoManager::IBLStaveOmegaEndAngle
virtual double IBLStaveOmegaEndAngle() override
Definition: DBPixelGeoManager.cxx:1915
PixelDetectorManager.h
DBPixelGeoManager::PixelLadderLength
virtual double PixelLadderLength() override
Definition: DBPixelGeoManager.cxx:1525
IRDBAccessSvc.h
Definition of the abstract IRDBAccessSvc interface.
PixelLegacyManager::PixelCableLabel
std::string PixelCableLabel(int index)
Definition: PixelLegacyManager.cxx:386
DBPixelGeoManager::PixelCableLabel
virtual std::string PixelCableLabel(int index) override
Definition: DBPixelGeoManager.cxx:1121
DBPixelGeoManager::partTransform
virtual const GeoTrf::Transform3D & partTransform(const std::string &partName) const override
Definition: DBPixelGeoManager.cxx:274
DBPixelGeoManager::PixelEndcapMinorVersion
virtual int PixelEndcapMinorVersion() override
Definition: DBPixelGeoManager.cxx:1205
IRDBAccessSvc::getChildTag
virtual std::string getChildTag(const std::string &childNode, const std::string &parentTag, const std::string &parentNode, const std::string &connName="ATLASDD")=0
Gets the tag name for the node by giving its parent node tag.
DBPixelGeoManager::PixelFrameNumSides
virtual int PixelFrameNumSides(int sectionIndex) override
Definition: DBPixelGeoManager.cxx:1376
PixelLegacyManager::PixelAlTubeUpperBendX
double PixelAlTubeUpperBendX()
Definition: PixelLegacyManager.cxx:551
DBPixelGeoManager::PixelCableZStart
virtual double PixelCableZStart(int index) override
Definition: DBPixelGeoManager.cxx:1079
DBPixelGeoManager::IBLStaveFacePlateGlueThickness
virtual double IBLStaveFacePlateGlueThickness() override
Definition: DBPixelGeoManager.cxx:2012
DBPixelGeoManager::m_zPositionMap
InDetDD::PairIndexMap * m_zPositionMap
Definition: DBPixelGeoManager.h:164
lumiFormat.i
int i
Definition: lumiFormat.py:92
DBPixelGeoManager::m_PixelPigtail
IRDBRecordset_ptr m_PixelPigtail
Definition: DBPixelGeoManager.h:65
DBPixelGeoManager::PixelLadderTilt
virtual double PixelLadderTilt() override
Definition: DBPixelGeoManager.cxx:1557
PixelLegacyManager::PixelFluidZ2
double PixelFluidZ2(int index)
Definition: PixelLegacyManager.cxx:646
DBPixelGeoManager::useLegacy
bool useLegacy()
Definition: DBPixelGeoManager.h:292
PixelStaveTypes.h
PixelMaterialMap
Definition: PixelMaterialMap.h:17
DBPixelGeoManager::m_PixelCommon
IRDBRecordset_ptr m_PixelCommon
Definition: DBPixelGeoManager.h:42
DBPixelGeoManager::PixelFrameSectionFromIndex
int PixelFrameSectionFromIndex(int sectionIndex)
Definition: DBPixelGeoManager.cxx:1396
DBPixelGeoManager::PixelLadderWidthClearance
virtual double PixelLadderWidthClearance() override
Definition: DBPixelGeoManager.cxx:1532
PixelGeoModelAthenaComps::getIdHelper
const PixelID * getIdHelper() const
Definition: PixelGeoModelAthenaComps.cxx:59
python.CaloCondTools.g
g
Definition: CaloCondTools.py:15
DBPixelGeoManager::DesignCellColumnsPerCircuit
virtual int DesignCellColumnsPerCircuit(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:3191
DBPixelGeoManager::IBLStaveOmegaGlueThickness
virtual double IBLStaveOmegaGlueThickness() override
Definition: DBPixelGeoManager.cxx:2042
IRDBAccessSvc
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
Definition: IRDBAccessSvc.h:45
DBPixelGeoManager::DBMBrcktTopBlockZ
virtual double DBMBrcktTopBlockZ() override
Definition: DBPixelGeoManager.cxx:3573
PixelLegacyManager::PixelLadderServicesX
double PixelLadderServicesX()
Definition: PixelLegacyManager.cxx:309
DBPixelGeoManager::PixelBentStaveNModule
virtual int PixelBentStaveNModule() override
Definition: DBPixelGeoManager.cxx:1617
DBPixelGeoManager::getFrameElementIndex
int getFrameElementIndex(int sectionIndex, int element)
Definition: DBPixelGeoManager.cxx:1413
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
DBPixelGeoManager::IBLStaveTubeOuterDiameter
virtual double IBLStaveTubeOuterDiameter() override
Definition: DBPixelGeoManager.cxx:1796
DBPixelGeoManager::DBMMPlateWindowWidth
virtual double DBMMPlateWindowWidth() override
Definition: DBPixelGeoManager.cxx:3616
DBPixelGeoManager::m_services
bool m_services
Definition: DBPixelGeoManager.h:104
DBPixelGeoManager::PixelBoardLength
virtual double PixelBoardLength(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:491
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
DBPixelGeoManager::InitialLayout
virtual bool InitialLayout() const override
Definition: DBPixelGeoManager.cxx:392
DBPixelGeoManager::IBLSupportMechanicalStaveRingFixPoint
virtual double IBLSupportMechanicalStaveRingFixPoint() override
Definition: DBPixelGeoManager.cxx:2092
DBPixelGeoManager::DBMKaptonZ
virtual double DBMKaptonZ() override
Definition: DBPixelGeoManager.cxx:3670
DBPixelGeoManager::PixelServicePhiLoc
virtual double PixelServicePhiLoc(const std::string &a, int _n) override
Definition: DBPixelGeoManager.cxx:843
DBPixelGeoManager::DoServices
virtual bool DoServices() override
Definition: DBPixelGeoManager.cxx:385
PixelLegacyManager::PixelTMTWidthX2
double PixelTMTWidthX2(int iPart)
Definition: PixelLegacyManager.cxx:437
DecodeVersionKey
This is a helper class to query the version tags from GeoModelSvc and determine the appropriate tag a...
Definition: DecodeVersionKey.h:18
DBPixelGeoManager::EmptyRows
virtual int EmptyRows(int index) override
Definition: DBPixelGeoManager.cxx:3272
DBPixelGeoManager::IBLStaveMechanicalStaveEndBlockOmegaOverlap
virtual double IBLStaveMechanicalStaveEndBlockOmegaOverlap() override
Definition: DBPixelGeoManager.cxx:1735
master.flag
bool flag
Definition: master.py:29
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
DBPixelGeoManager::m_PixelFrameSect
IRDBRecordset_ptr m_PixelFrameSect
Definition: DBPixelGeoManager.h:67
DBPixelGeoManager::PixelOmegaLowerBendX
virtual double PixelOmegaLowerBendX() override
Definition: DBPixelGeoManager.cxx:2702
PixelLegacyManager::PixelConnectorPosY
double PixelConnectorPosY(int index)
Definition: PixelLegacyManager.cxx:818
DBPixelGeoManager::IBLFlexPP0Rmin
virtual double IBLFlexPP0Rmin(int iPos) override
Definition: DBPixelGeoManager.cxx:2240
DBPixelGeoManager::IBLStaveFlexLayerThickness
virtual double IBLStaveFlexLayerThickness() override
Definition: DBPixelGeoManager.cxx:1829
DBPixelGeoManager::DesignReadoutSide
virtual int DesignReadoutSide(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:3110
DBPixelGeoManager::DesignPitchZ
virtual double DesignPitchZ(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:3331
DBPixelGeoManager::PixelEndcapRMax
virtual double PixelEndcapRMax() override
Definition: DBPixelGeoManager.cxx:2554
PixelLegacyManager::DesignPitchRP
double DesignPitchRP(bool isBLayer)
Definition: PixelLegacyManager.cxx:918
DBPixelGeoManager::PixelOmegaWallThickness
virtual double PixelOmegaWallThickness() override
Definition: DBPixelGeoManager.cxx:2720
DBPixelGeoManager::DesignCircuitsEta
virtual int DesignCircuitsEta(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:3398
DBPixelGeoManager::PixelModuleShiftFlag
virtual double PixelModuleShiftFlag(int) override
Definition: DBPixelGeoManager.cxx:2473
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
DBPixelGeoManager::m_materialMap
PixelMaterialMap * m_materialMap
Definition: DBPixelGeoManager.h:148
PixelAthClusterMonAlgCfg.zmax
zmax
Definition: PixelAthClusterMonAlgCfg.py:176
DecodeVersionKey::tag
const std::string & tag() const
Return version tag.
Definition: DecodeVersionKey.cxx:93
sign
int sign(int a)
Definition: TRT_StrawNeighbourSvc.h:127
DBPixelGeoManager::oldFrame
virtual bool oldFrame() override
Definition: DBPixelGeoManager.cxx:1329
DBPixelGeoManager::PixelFrameElementZMin1
virtual double PixelFrameElementZMin1(int sectionIndex, int element) override
Definition: DBPixelGeoManager.cxx:1454
DBPixelGeoManager::IBLStaveRadius
virtual double IBLStaveRadius() override
Definition: DBPixelGeoManager.cxx:1665
PixelLegacyManager::PixelPigtailPosZ
double PixelPigtailPosZ()
Definition: PixelLegacyManager.cxx:749
DBPixelGeoManager::PixelModuleIndexFromEta
virtual int PixelModuleIndexFromEta(int etaModule) override
Definition: DBPixelGeoManager.cxx:2525
DBPixelGeoManager::PixelECCablesRMax
virtual double PixelECCablesRMax() override
Definition: DBPixelGeoManager.cxx:2607
DBPixelGeoManager::PixelHybridLength
virtual double PixelHybridLength(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:529
DBPixelGeoManager::PixelServiceParentEnvelopeNum
virtual int PixelServiceParentEnvelopeNum(const std::string &type, int index) override
Definition: DBPixelGeoManager.cxx:971
DBPixelGeoManager::PixelServiceRMin2
virtual double PixelServiceRMin2(const std::string &, int) override
Definition: DBPixelGeoManager.cxx:808
DBPixelGeoManager::m_defaultLengthUnit
double m_defaultLengthUnit
Definition: DBPixelGeoManager.h:170
PixelLegacyManager::PixelOmegaGlueStartX
double PixelOmegaGlueStartX(int index)
Definition: PixelLegacyManager.cxx:600
DBPixelGeoManager::IBLStaveLength
virtual double IBLStaveLength() override
Definition: DBPixelGeoManager.cxx:1750
DBPixelGeoManager::PixelFluidThick1
virtual double PixelFluidThick1(int index) override
Definition: DBPixelGeoManager.cxx:2864
DBPixelGeoManager::m_gangedIndexMap
std::map< int, std::vector< int > > * m_gangedIndexMap
Definition: DBPixelGeoManager.h:154
DBPixelGeoManager::DBMTelescopeX
virtual double DBMTelescopeX() override
Definition: DBPixelGeoManager.cxx:3505
DBPixelGeoManager::IBLStaveModuleNumber_AllPlanar
virtual int IBLStaveModuleNumber_AllPlanar() override
Definition: DBPixelGeoManager.cxx:1958
PixelLegacyManager::PixelNumConnectorElements
int PixelNumConnectorElements()
Definition: PixelLegacyManager.cxx:793
DBPixelGeoManager::PixelConnectorWidthX
virtual double PixelConnectorWidthX(int index) override
Definition: DBPixelGeoManager.cxx:3030
DBPixelGeoManager::getIdHelper
virtual const PixelID * getIdHelper() override
Definition: DBPixelGeoManager.cxx:267
DBPixelGeoManager::PixelAlTubeWallThickness
virtual double PixelAlTubeWallThickness() override
Definition: DBPixelGeoManager.cxx:2784
DBPixelGeoManager::PixelChipWidth
virtual double PixelChipWidth(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:551
PixelLegacyManager::PixelFluidMatType
int PixelFluidMatType(int index)
Definition: PixelLegacyManager.cxx:698
PixelLegacyManager::EmptyRows
int EmptyRows(int index)
Definition: PixelLegacyManager.cxx:893
PixelLegacyManager::DesignZActiveArea
double DesignZActiveArea()
Definition: PixelLegacyManager.cxx:913
DBPixelGeoManager::DBMSpacingRadial
virtual double DBMSpacingRadial() override
Definition: DBPixelGeoManager.cxx:3527
DBPixelGeoManager::IBLStaveMechanicalStaveOffset
virtual double IBLStaveMechanicalStaveOffset(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:1770
DBPixelGeoManager::SetDC1Geometry
virtual void SetDC1Geometry(bool flag) override
Definition: DBPixelGeoManager.cxx:396
DBPixelGeoManager::PixelBoardThickness
virtual double PixelBoardThickness(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:499
DBPixelGeoManager::m_PixelIBLSupport
IRDBRecordset_ptr m_PixelIBLSupport
Definition: DBPixelGeoManager.h:69
IGeoDbTagSvc
Definition: IGeoDbTagSvc.h:26
DBPixelGeoManager::PixelECCarbonThickness
virtual double PixelECCarbonThickness(std::string) override
Definition: DBPixelGeoManager.cxx:694
python.SystemOfUnits.micrometer
int micrometer
Definition: SystemOfUnits.py:71
DBPixelGeoManager::DBMPP0Thick
virtual double DBMPP0Thick() override
Definition: DBPixelGeoManager.cxx:3707
PixelLegacyManager::PixelFluidY
double PixelFluidY(int index)
Definition: PixelLegacyManager.cxx:683
PixelLegacyManager::DesignGapZ
double DesignGapZ()
Definition: PixelLegacyManager.cxx:949
DBPixelGeoManager::IBLStaveFlexWingThick
virtual double IBLStaveFlexWingThick() override
Definition: DBPixelGeoManager.cxx:2178
DBPixelGeoManager::PixelOmegaLowerBendRadius
virtual double PixelOmegaLowerBendRadius() override
Definition: DBPixelGeoManager.cxx:2714
Handler::svc
AthROOTErrorHandlerSvc * svc
Definition: AthROOTErrorHandlerSvc.cxx:10
DBPixelGeoManager::m_frameElementMap
std::map< int, std::vector< int > > * m_frameElementMap
Definition: DBPixelGeoManager.h:157
DBPixelGeoManager::DBMMPlateWindowPos
virtual double DBMMPlateWindowPos() override
Definition: DBPixelGeoManager.cxx:3622
DBPixelGeoManager::PixelBiStaveType
virtual int PixelBiStaveType(int layer, int phi) override
Definition: DBPixelGeoManager.cxx:2391
DBPixelGeoManager::PixelModuleServiceWidth
virtual double PixelModuleServiceWidth(int svc) override
Definition: DBPixelGeoManager.cxx:616
DBPixelGeoManager::PixelModuleAngle
virtual double PixelModuleAngle() override
Definition: DBPixelGeoManager.cxx:2424
DBPixelGeoManager::IBLSupportMidRingWidth
virtual double IBLSupportMidRingWidth() override
Definition: DBPixelGeoManager.cxx:2103
DBPixelGeoManager::PixelSimpleEnvelope
virtual bool PixelSimpleEnvelope() override
Definition: DBPixelGeoManager.cxx:1276
DBPixelGeoManager::SetEndcap
virtual void SetEndcap() override
Definition: DBPixelGeoManager.cxx:337
DBPixelGeoManager::PixelHybridThickness
virtual double PixelHybridThickness(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:537
DBPixelGeoManager::m_currentLD
int m_currentLD
Definition: DBPixelGeoManager.h:94
PixelLegacyManager::EmptyRowConnections
int EmptyRowConnections(int index)
Definition: PixelLegacyManager.cxx:900
InDetDD::AthenaComps::geoDbTagSvc
const IGeoDbTagSvc * geoDbTagSvc() const
Definition: InDetDDAthenaComps.h:58
DBPixelGeoManager::PixelFrameZMax
virtual double PixelFrameZMax(int sectionIndex) override
Definition: DBPixelGeoManager.cxx:1366
IRDBRecordset_ptr
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
Definition: IRDBAccessSvc.h:25
DBPixelGeoManager::PixelPigtailWidthZ
virtual double PixelPigtailWidthZ() override
Definition: DBPixelGeoManager.cxx:2954
DBPixelGeoManager::m_dbmWeightTable
IRDBRecordset_ptr m_dbmWeightTable
Definition: DBPixelGeoManager.h:90
DBPixelGeoManager::PixelCableStackOffset
virtual double PixelCableStackOffset(int index) override
Definition: DBPixelGeoManager.cxx:1107
DBPixelGeoManager::PixelFrameElementZMax2
virtual double PixelFrameElementZMax2(int sectionIndex, int element) override
Definition: DBPixelGeoManager.cxx:1475
DBPixelGeoManager::IBLStaveOmegaEndCenterY
virtual double IBLStaveOmegaEndCenterY() override
Definition: DBPixelGeoManager.cxx:1895
DBPixelGeoManager::isDBM
virtual bool isDBM() override
Definition: DBPixelGeoManager.cxx:381
DBPixelGeoManager::DBMBrcktWindowCenterZ
virtual double DBMBrcktWindowCenterZ() override
Definition: DBPixelGeoManager.cxx:3570
DBPixelGeoManager::getPixelServiceRecordInt
int getPixelServiceRecordInt(const std::string &name, const std::string &type, int index)
Definition: DBPixelGeoManager.cxx:1003
DBPixelGeoManager::IBLStaveFacePlateThickness
virtual double IBLStaveFacePlateThickness() override
Definition: DBPixelGeoManager.cxx:1691
DBPixelGeoManager::getLD_Label
virtual std::string getLD_Label() override
Definition: DBPixelGeoManager.cxx:1175
DBPixelGeoManager::DBMBrcktFinHeight
virtual double DBMBrcktFinHeight() override
Definition: DBPixelGeoManager.cxx:3591
min
#define min(a, b)
Definition: cfImp.cxx:40
DBPixelGeoManager::DesignDiodesEtaTotal
virtual int DesignDiodesEtaTotal(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:3176
IGeometryDBSvc::getDouble
virtual double getDouble(IRDBRecordset_ptr recordSet, const std::string &name, int index=0) const =0
The following methods will first look in the text file if provided and then look in the database.
DBPixelGeoManager::PixelFrameNumSideElements
virtual int PixelFrameNumSideElements(int sectionIndex) override
Definition: DBPixelGeoManager.cxx:1437
DBPixelGeoManager::PixelPigtailThickness
virtual double PixelPigtailThickness() override
Definition: DBPixelGeoManager.cxx:2936
PixelLegacyManager::PixelPigtailBendRMin
double PixelPigtailBendRMin()
Definition: PixelLegacyManager.cxx:764
DBPixelGeoManager::IBLStaveRotationAxis
virtual GeoTrf::Vector3D IBLStaveRotationAxis() override
Definition: DBPixelGeoManager.cxx:1644
DBPixelGeoManager::DBMBrcktFinPos
virtual double DBMBrcktFinPos() override
Definition: DBPixelGeoManager.cxx:3597
DBPixelGeoManager::m_PixelBarrelCable
IRDBRecordset_ptr m_PixelBarrelCable
Definition: DBPixelGeoManager.h:58
DBPixelGeoManager::m_PixelDisk
IRDBRecordset_ptr m_PixelDisk
Definition: DBPixelGeoManager.h:44
PixelLegacyManager::PixelOmegaGluePosZ
double PixelOmegaGluePosZ(int index)
Definition: PixelLegacyManager.cxx:625
DBPixelGeoManager::DBMDiamondX
virtual double DBMDiamondX() override
Definition: DBPixelGeoManager.cxx:3640
DBPixelGeoManager::PixelConnectorPosY
virtual double PixelConnectorPosY(int index) override
Definition: DBPixelGeoManager.cxx:3054
DBPixelGeoManager::PixelFluidThick2
virtual double PixelFluidThick2(int index) override
Definition: DBPixelGeoManager.cxx:2871
Athena::Units
Definition: Units.h:45
DBPixelGeoManager::IBLStaveFlexBaseThickness
virtual double IBLStaveFlexBaseThickness() override
Definition: DBPixelGeoManager.cxx:1840
DBPixelGeoManager::DBMFlexSupportOffset
virtual double DBMFlexSupportOffset() override
Definition: DBPixelGeoManager.cxx:3684
InDetMaterialManager
InDetMaterialManager.
Definition: InDetMaterialManager.h:34
InDetMaterialManager.h
DBPixelGeoManager::isBarrel
virtual bool isBarrel() override
Definition: DBPixelGeoManager.cxx:374
RCU::Check::typeNum
const int typeNum
Definition: Assert.h:75
DBPixelGeoManager::PixelFramePhiStart
virtual double PixelFramePhiStart(int sectionIndex) override
Definition: DBPixelGeoManager.cxx:1371
DBPixelGeoManager::DBMCeramicZ
virtual double DBMCeramicZ() override
Definition: DBPixelGeoManager.cxx:3664
InDetDD::PixelDetectorManager
Definition: PixelDetectorManager.h:47
DBPixelGeoManager::m_allPartsPresent
bool m_allPartsPresent
Definition: DBPixelGeoManager.h:123
PixelLegacyManager::DesignNumRowsPerChip
int DesignNumRowsPerChip(bool isBLayer)
Definition: PixelLegacyManager.cxx:849
DBPixelGeoManager::PixelFluidWidth
virtual double PixelFluidWidth(int index) override
Definition: DBPixelGeoManager.cxx:2877
PixelLegacyManager::PixelPigtailBendX
double PixelPigtailBendX()
Definition: PixelLegacyManager.cxx:754
DBPixelGeoManager::IBLStaveMechanicalStaveModuleOffset
virtual double IBLStaveMechanicalStaveModuleOffset() override
Definition: DBPixelGeoManager.cxx:1785
DBPixelGeoManager::PixelBarrelNLayer
virtual int PixelBarrelNLayer() override
Definition: DBPixelGeoManager.cxx:1307
DBPixelGeoManager::m_scalingTable
IRDBRecordset_ptr m_scalingTable
Definition: DBPixelGeoManager.h:75
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
InDetDD::SiCommonItems
Definition: SiCommonItems.h:45
DBPixelGeoManager::m_PixelIBLStave
IRDBRecordset_ptr m_PixelIBLStave
Definition: DBPixelGeoManager.h:68
PixelLegacyManager::PixelTMTPosY
double PixelTMTPosY(int iPart)
Definition: PixelLegacyManager.cxx:472
PixelLegacyManager::PixelFluidThick1
double PixelFluidThick1(int index)
Definition: PixelLegacyManager.cxx:653
PixelLegacyManager
Definition: PixelLegacyManager.h:19
DBPixelGeoManager::PixelBarrelMinorVersion
virtual int PixelBarrelMinorVersion() override
Definition: DBPixelGeoManager.cxx:1195
DBPixelGeoManager::ibl
virtual bool ibl() const override
Definition: DBPixelGeoManager.h:230
DBPixelGeoManager::DBMBracketZ
virtual double DBMBracketZ() override
Definition: DBPixelGeoManager.cxx:3546
DBPixelGeoManager::PixelECCablesDistance
virtual double PixelECCablesDistance() override
Definition: DBPixelGeoManager.cxx:2613
DBPixelGeoManager::m_servicesOnLadder
bool m_servicesOnLadder
Definition: DBPixelGeoManager.h:103
DBPixelGeoManager::PixelStaveAxe
virtual int PixelStaveAxe() override
Definition: DBPixelGeoManager.cxx:1499
DBPixelGeoManager::m_PixelOmegaGlue
IRDBRecordset_ptr m_PixelOmegaGlue
Definition: DBPixelGeoManager.h:61
DBPixelGeoManager::PixelConnectorPosX
virtual double PixelConnectorPosX(int index) override
Definition: DBPixelGeoManager.cxx:3048
DBPixelGeoManager::PixelFrameRMaxSide
virtual double PixelFrameRMaxSide(int sectionIndex) override
Definition: DBPixelGeoManager.cxx:1351
DBPixelGeoManager::PixelAlTubeUpperBendRadius
virtual double PixelAlTubeUpperBendRadius() override
Definition: DBPixelGeoManager.cxx:2760
PairIndexMap.h
InDetDD::PairIndexMap::find
int find(int first, int second) const
Definition: PairIndexMap.cxx:14
DBPixelGeoManager::IBLStaveTubeInnerDiameter
virtual double IBLStaveTubeInnerDiameter() override
Definition: DBPixelGeoManager.cxx:1807
DBPixelGeoManager::distortedMatManager
virtual InDetDD::DistortedMaterialManager * distortedMatManager() override
Definition: DBPixelGeoManager.cxx:425
DBPixelGeoManager::PixelPigtailPosX
virtual double PixelPigtailPosX() override
Definition: DBPixelGeoManager.cxx:2967
DBPixelGeoManager::IBLFlexDoglegLength
virtual double IBLFlexDoglegLength() override
Definition: DBPixelGeoManager.cxx:2155
PixelLegacyManager::PixelConnectorPosZ
double PixelConnectorPosZ(int index)
Definition: PixelLegacyManager.cxx:823
DBPixelGeoManager::m_PixelReadout
IRDBRecordset_ptr m_PixelReadout
Definition: DBPixelGeoManager.h:56
DBPixelGeoManager::GetPixelDDManager
virtual InDetDD::PixelDetectorManager * GetPixelDDManager() override
Definition: DBPixelGeoManager.cxx:410
DBPixelGeoManager::PixelTMTPosZ2
virtual double PixelTMTPosZ2(int iPart) override
Definition: DBPixelGeoManager.cxx:2669
DBPixelGeoManager::m_PixelIBLFlexMaterial
IRDBRecordset_ptr m_PixelIBLFlexMaterial
Definition: DBPixelGeoManager.h:71
DBPixelGeoManager::PixelServiceShape
virtual std::string PixelServiceShape(const std::string &a, int _n) override
Definition: DBPixelGeoManager.cxx:868
DBPixelGeoManager::PixelEnvelopeRMax
virtual double PixelEnvelopeRMax(int i) override
Definition: DBPixelGeoManager.cxx:1301
PixelLegacyManager::PixelPigtailBendPhiMax
double PixelPigtailBendPhiMax()
Definition: PixelLegacyManager.cxx:779
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
DBPixelGeoManager::PixelModuleServiceThick
virtual double PixelModuleServiceThick(int svc) override
Definition: DBPixelGeoManager.cxx:621
InDetMaterialManager::addScalingTable
void addScalingTable(const IRDBRecordset_ptr &scalingTable)
Definition: InDetMaterialManager.cxx:431
DBPixelGeoManager::PixelModuleServiceOffsetZ
virtual double PixelModuleServiceOffsetZ(int svc) override
Definition: DBPixelGeoManager.cxx:636
DBPixelGeoManager::PixelPigtailBendY
virtual double PixelPigtailBendY() override
Definition: DBPixelGeoManager.cxx:2985
DBPixelGeoManager.h
DecodeVersionKey.h
PixelStaveTypes::getFluidType
int getFluidType(int layer, int phiModule) const
Definition: PixelStaveTypes.cxx:51
DBPixelGeoManager::setCommonItems
virtual void setCommonItems(InDetDD::SiCommonItems *commonItems) override
Definition: DBPixelGeoManager.cxx:260
ParticleGun_SamplingFraction.radius
radius
Definition: ParticleGun_SamplingFraction.py:96
DBPixelGeoManager::m_versionTag
std::string m_versionTag
Definition: DBPixelGeoManager.h:142
DBPixelGeoManager::PixelECSiDz1
virtual double PixelECSiDz1() override
Definition: DBPixelGeoManager.cxx:2581
DBPixelGeoManager::PixelChipGap
virtual double PixelChipGap(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:567
DBPixelGeoManager::m_distortedMatManager
InDetDD::DistortedMaterialManager * m_distortedMatManager
Definition: DBPixelGeoManager.h:136
PixelLegacyManager::PixelPigtailBendPhiMin
double PixelPigtailBendPhiMin()
Definition: PixelLegacyManager.cxx:774
DBPixelGeoManager::IBLStaveOmegaThickness
virtual double IBLStaveOmegaThickness() override
Definition: DBPixelGeoManager.cxx:1874
DBPixelGeoManager::PixelPigtailBendRMax
virtual double PixelPigtailBendRMax() override
Definition: DBPixelGeoManager.cxx:2997
DBPixelGeoManager::PixelPigtailBendPhiMin
virtual double PixelPigtailBendPhiMin() override
Definition: DBPixelGeoManager.cxx:3003
PlotCalibFromCool.rl
rl
Definition: PlotCalibFromCool.py:529
PixelLegacyManager::DesignPitchZLong
double DesignPitchZLong(bool isBLayer)
Definition: PixelLegacyManager.cxx:938
DBPixelGeoManager::PixelOmegaGlueStartX
virtual double PixelOmegaGlueStartX(int index) override
Definition: DBPixelGeoManager.cxx:2806
DBPixelGeoManager::PixelFrameMirrorSides
virtual bool PixelFrameMirrorSides(int sectionIndex) override
Definition: DBPixelGeoManager.cxx:1381
DBPixelGeoManager::PixelChipThickness
virtual double PixelChipThickness(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:587
PixelLegacyManager::PixelOmegaLowerBendX
double PixelOmegaLowerBendX()
Definition: PixelLegacyManager.cxx:512
PixelLegacyManager::PixelOmegaUpperBendRadius
double PixelOmegaUpperBendRadius()
Definition: PixelLegacyManager.cxx:507
DBPixelGeoManager::DBMAngle
double DBMAngle() override
Definition: DBPixelGeoManager.cxx:3500
DBPixelGeoManager::m_dc1Geometry
bool m_dc1Geometry
Definition: DBPixelGeoManager.h:110
DBPixelGeoManager::PixelHybridWidth
virtual double PixelHybridWidth(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:521
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
DBPixelGeoManager::m_dbVersion
int m_dbVersion
Definition: DBPixelGeoManager.h:167
DBPixelGeoManager::PixelModuleServiceLength
virtual double PixelModuleServiceLength(int svc) override
Definition: DBPixelGeoManager.cxx:611
PixelLegacyManager::PixelPigtailFlatWidthZ
double PixelPigtailFlatWidthZ()
Definition: PixelLegacyManager.cxx:730
PixelLegacyManager::PixelOmegaLowerBendY
double PixelOmegaLowerBendY()
Definition: PixelLegacyManager.cxx:517
get_generator_info.version
version
Definition: get_generator_info.py:33
PixelGeoModelAthenaComps
Class to hold various Athena components.
Definition: PixelGeoModelAthenaComps.h:16
PixelLegacyManager::SetDC1Geometry
void SetDC1Geometry(bool flag)
Definition: PixelLegacyManager.h:70
DBPixelGeoManager::m_PixelIBLFlex
IRDBRecordset_ptr m_PixelIBLFlex
Definition: DBPixelGeoManager.h:70
PixelLegacyManager::PixelCableElements
int PixelCableElements()
Definition: PixelLegacyManager.cxx:345
DBPixelGeoManager::m_PixelOmega
IRDBRecordset_ptr m_PixelOmega
Definition: DBPixelGeoManager.h:60
DBPixelGeoManager::PixelOmegaLowerBendY
virtual double PixelOmegaLowerBendY() override
Definition: DBPixelGeoManager.cxx:2708
PixelLegacyManager::PixelLadderCableOffsetX
double PixelLadderCableOffsetX()
Definition: PixelLegacyManager.cxx:320
DBPixelGeoManager::DBMBrcktFinThick
virtual double DBMBrcktFinThick() override
Definition: DBPixelGeoManager.cxx:3594
DBPixelGeoManager::PixelEnvelopeZ
virtual double PixelEnvelopeZ(int i) override
Definition: DBPixelGeoManager.cxx:1289
DBPixelGeoManager::PixelLadderModuleDeltaZ
virtual double PixelLadderModuleDeltaZ() override
Definition: DBPixelGeoManager.cxx:1624
DeMoScan.index
string index
Definition: DeMoScan.py:362
DBPixelGeoManager::PixelDiskSupportRMin
virtual double PixelDiskSupportRMin(int isup) override
Definition: DBPixelGeoManager.cxx:3421
PixelLegacyManager::PixelConnectorWidthY
double PixelConnectorWidthY(int index)
Definition: PixelLegacyManager.cxx:803
DBPixelGeoManager::DBMSpace
virtual double DBMSpace() override
Definition: DBPixelGeoManager.cxx:3602
DBPixelGeoManager::PixelServiceEnvelopeNum
virtual int PixelServiceEnvelopeNum(const std::string &type, int index) override
Definition: DBPixelGeoManager.cxx:957
DBPixelGeoManager::IBLFlexMaterial
virtual std::string IBLFlexMaterial(int iPos, const std::string &flexType) override
Definition: DBPixelGeoManager.cxx:2269
DBPixelGeoManager::m_pDDmgr
InDetDD::PixelDetectorManager * m_pDDmgr
Definition: DBPixelGeoManager.h:129
DBPixelGeoManager::PixelFluidY
virtual double PixelFluidY(int index) override
Definition: DBPixelGeoManager.cxx:2890
PixelLegacyManager::PixelPigtailThickness
double PixelPigtailThickness()
Definition: PixelLegacyManager.cxx:715
a
TList * a
Definition: liststreamerinfos.cxx:10
DBPixelGeoManager::PixelAlTubeUpperBendX
virtual double PixelAlTubeUpperBendX() override
Definition: DBPixelGeoManager.cxx:2748
DBPixelGeoManager::DC1Geometry
virtual bool DC1Geometry() const override
Definition: DBPixelGeoManager.cxx:401
PixelLegacyManager::PixelFluidWidth
double PixelFluidWidth(int index)
Definition: PixelLegacyManager.cxx:672
IRDBRecord.h
Definition of the abstract IRDBRecord interface.
PixelLegacyManager::PixelNumOmegaGlueElements
int PixelNumOmegaGlueElements()
Definition: PixelLegacyManager.cxx:595
PixelLegacyManager::PixelConnectorWidthZ
double PixelConnectorWidthZ(int index)
Definition: PixelLegacyManager.cxx:808
CondAlgsOpts.found
int found
Definition: CondAlgsOpts.py:101
DBPixelGeoManager::PixelDiskSupportMaterialTypeNum
virtual int PixelDiskSupportMaterialTypeNum(int isup) override
Definition: DBPixelGeoManager.cxx:3468
DBPixelGeoManager::m_PixelAlTube
IRDBRecordset_ptr m_PixelAlTube
Definition: DBPixelGeoManager.h:62
DBPixelGeoManager::DBMFlexSupportY
virtual double DBMFlexSupportY() override
Definition: DBPixelGeoManager.cxx:3678
DBPixelGeoManager::DBMFEI4Z
virtual double DBMFEI4Z() override
Definition: DBPixelGeoManager.cxx:3655
DBPixelGeoManager::DBMBrcktLockZ
virtual double DBMBrcktLockZ() override
Definition: DBPixelGeoManager.cxx:3582
DBPixelGeoManager::DBMCoolingSidePlateZ
virtual double DBMCoolingSidePlateZ() override
Definition: DBPixelGeoManager.cxx:3632
DBPixelGeoManager::IBLStaveFacePlateGreaseThickness
virtual double IBLStaveFacePlateGreaseThickness() override
Definition: DBPixelGeoManager.cxx:1997
DBPixelGeoManager::Alignable
virtual bool Alignable() const override
Definition: DBPixelGeoManager.cxx:405
DBPixelGeoManager::DBMDiamondZ
virtual double DBMDiamondZ() override
Definition: DBPixelGeoManager.cxx:3646
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
PixelLegacyManager::PixelPigtailEnvelopeLength
double PixelPigtailEnvelopeLength()
Definition: PixelLegacyManager.cxx:784
PixelLegacyManager::DesignNumColsPerChip
int DesignNumColsPerChip(bool isBLayer)
Definition: PixelLegacyManager.cxx:857
DBPixelGeoManager::PixelOmegaGlueEndY
virtual double PixelOmegaGlueEndY(int index) override
Definition: DBPixelGeoManager.cxx:2824
PixelLegacyManager::PixelTMTBaseX1
double PixelTMTBaseX1(int iPart)
Definition: PixelLegacyManager.cxx:452
DBPixelGeoManager::IBLFlexAndWingDefined
virtual bool IBLFlexAndWingDefined() override
Definition: DBPixelGeoManager.cxx:2147
DEBUG
#define DEBUG
Definition: page_access.h:11
DBPixelGeoManager::DesignRPActiveArea
virtual double DesignRPActiveArea(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:3301
InDetDD::PairIndexMap
Class to store map between pair of two ints and an int.
Definition: PairIndexMap.h:16
DBPixelGeoManager::PixelNModule
virtual int PixelNModule() override
Definition: DBPixelGeoManager.cxx:2414
PixelLegacyManager::PixelFluidOrient
int PixelFluidOrient(int layer, int phi)
Definition: PixelLegacyManager.cxx:702
PixelLegacyManager::PixelOmegaGlueEndY
double PixelOmegaGlueEndY(int index)
Definition: PixelLegacyManager.cxx:615
PixelLegacyManager::PixelCableWidth
double PixelCableWidth(int index)
Definition: PixelLegacyManager.cxx:367
IGeometryDBSvc::getInt
virtual int getInt(IRDBRecordset_ptr recordSet, const std::string &name, int index=0) const =0
PixelLegacyManager::PixelOmegaGlueTypeNum
int PixelOmegaGlueTypeNum(int index)
Definition: PixelLegacyManager.cxx:630
DBPixelGeoManager::PixelServiceRMax2
virtual double PixelServiceRMax2(const std::string &, int) override
Definition: DBPixelGeoManager.cxx:816
DBPixelGeoManager::PixelEnvelopeNumPlanes
virtual unsigned int PixelEnvelopeNumPlanes() override
Definition: DBPixelGeoManager.cxx:1284
DBPixelGeoManager::PixelFluidNumTypes
virtual int PixelFluidNumTypes() override
Definition: DBPixelGeoManager.cxx:2902
DBPixelGeoManager::m_pMatMgr
InDetMaterialManager * m_pMatMgr
Definition: DBPixelGeoManager.h:132
DBPixelGeoManager::IBLStaveModuleGap
virtual double IBLStaveModuleGap() override
Definition: DBPixelGeoManager.cxx:1975
DBPixelGeoManager::DBMAirGap
virtual double DBMAirGap() override
Definition: DBPixelGeoManager.cxx:3667
DBPixelGeoManager::PixelFluidOrient
virtual int PixelFluidOrient(int layer, int phi) override
Definition: DBPixelGeoManager.cxx:2927
DBPixelGeoManager::m_initialLayout
bool m_initialLayout
Definition: DBPixelGeoManager.h:107
DBPixelGeoManager::IBLStaveOmegaEndCenterX
virtual double IBLStaveOmegaEndCenterX() override
Definition: DBPixelGeoManager.cxx:1885
PixelLegacyManager::DesignDiodesEtaTotal
int DesignDiodesEtaTotal(bool isBLayer)
Definition: PixelLegacyManager.cxx:873
Gaudi
=============================================================================
Definition: CaloGPUClusterAndCellDataMonitorOptions.h:273
DBPixelGeoManager::IBLStaveOmegaMidAngle
virtual double IBLStaveOmegaMidAngle() override
Definition: DBPixelGeoManager.cxx:1947
DBPixelGeoManager::PixelBarrelHalfLength
virtual double PixelBarrelHalfLength() override
Definition: DBPixelGeoManager.cxx:1323
DBPixelGeoManager::DBMFEI4Y
virtual double DBMFEI4Y() override
Definition: DBPixelGeoManager.cxx:3652
DBPixelGeoManager::DBMMPlateWindowHeight
virtual double DBMMPlateWindowHeight() override
Definition: DBPixelGeoManager.cxx:3619
DBPixelGeoManager::PixelEndcapMajorVersion
virtual int PixelEndcapMajorVersion() override
Definition: DBPixelGeoManager.cxx:1200
DBPixelGeoManager::PixelCableThickness
virtual double PixelCableThickness(int index) override
Definition: DBPixelGeoManager.cxx:1100
DBPixelGeoManager::m_PixelEndcapGeneral
IRDBRecordset_ptr m_PixelEndcapGeneral
Definition: DBPixelGeoManager.h:47
DBPixelGeoManager::PixelTMTBaseX2
virtual double PixelTMTBaseX2(int iPart) override
Definition: DBPixelGeoManager.cxx:2651
PixelLegacyManager::PixelPigtailWidthZ
double PixelPigtailWidthZ()
Definition: PixelLegacyManager.cxx:738
DBPixelGeoManager::DBMBracketX
virtual double DBMBracketX() override
Definition: DBPixelGeoManager.cxx:3540
DBPixelGeoManager::DesignCircuitsPhi
virtual int DesignCircuitsPhi(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:3389
DBPixelGeoManager::PixelFluidZ2
virtual double PixelFluidZ2(int index) override
Definition: DBPixelGeoManager.cxx:2858
DBPixelGeoManager::m_DBMCage
IRDBRecordset_ptr m_DBMCage
Definition: DBPixelGeoManager.h:83
DBPixelGeoManager::m_PixelModuleSvc
IRDBRecordset_ptr m_PixelModuleSvc
Definition: DBPixelGeoManager.h:52
DBPixelGeoManager::DesignPitchZLongEnd
virtual double DesignPitchZLongEnd(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:3354
PixelLegacyManager::PixelFluidType
int PixelFluidType(int index)
Definition: PixelLegacyManager.cxx:688
IGeometryDBSvc::getString
virtual std::string getString(IRDBRecordset_ptr recordSet, const std::string &name, int index=0) const =0
DBPixelGeoManager::PixelBarrelMajorVersion
virtual int PixelBarrelMajorVersion() override
Definition: DBPixelGeoManager.cxx:1190
DBPixelGeoManager::PixelModuleServiceOffsetX
virtual double PixelModuleServiceOffsetX(int svc) override
Definition: DBPixelGeoManager.cxx:626
PixelLegacyManager::PixelAlTubeUpperBendRadius
double PixelAlTubeUpperBendRadius()
Definition: PixelLegacyManager.cxx:561
DBPixelGeoManager::PixelEnvelopeRMin
virtual double PixelEnvelopeRMin(int i) override
Definition: DBPixelGeoManager.cxx:1296
PixelLegacyManager::DesignNumChipsPhi
int DesignNumChipsPhi()
Definition: PixelLegacyManager.cxx:839
PixelLegacyManager::DesignRPActiveArea
double DesignRPActiveArea()
Definition: PixelLegacyManager.cxx:907
DBPixelGeoManager::m_materialTable
IRDBRecordset_ptr m_materialTable
Definition: DBPixelGeoManager.h:76
DBPixelGeoManager::DBMCoolingSidePlateY
virtual double DBMCoolingSidePlateY() override
Definition: DBPixelGeoManager.cxx:3629
DBPixelGeoManager::PixelRMin
virtual double PixelRMin() override
Definition: DBPixelGeoManager.cxx:1239
PixelLegacyManager::PixelAlTubeLength
double PixelAlTubeLength()
Definition: PixelLegacyManager.cxx:586
DBPixelGeoManager::PixelOmegaGlueStartY
virtual double PixelOmegaGlueStartY(int index) override
Definition: DBPixelGeoManager.cxx:2818
PixelLegacyManager::oldFrame
bool oldFrame()
Definition: PixelLegacyManager.cxx:62
DBPixelGeoManager::PixelHalfLength
virtual double PixelHalfLength() override
Definition: DBPixelGeoManager.cxx:1265
DBPixelGeoManager::m_PixelSimpleService
IRDBRecordset_ptr m_PixelSimpleService
Definition: DBPixelGeoManager.h:41
DBPixelGeoManager::PixelECCarbonRMax
virtual double PixelECCarbonRMax(std::string) override
Definition: DBPixelGeoManager.cxx:682
TopLevelPlacements.h
DBPixelGeoManager::PixelTMTBaseX1
virtual double PixelTMTBaseX1(int iPart) override
Definition: DBPixelGeoManager.cxx:2645
IRDBRecordset.h
Definition of the abstract IRDBRecordset interface.
DBPixelGeoManager::DBMBracketY
virtual double DBMBracketY() override
Definition: DBPixelGeoManager.cxx:3543
DBPixelGeoManager::m_alignable
bool m_alignable
Definition: DBPixelGeoManager.h:113
DBPixelGeoManager::PixelPigtailBendRMin
virtual double PixelPigtailBendRMin() override
Definition: DBPixelGeoManager.cxx:2991
InDetDD::AthenaComps::detStore
const StoreGateSvc * detStore() const
Definition: InDetDDAthenaComps.h:53
PixelLegacyManager::PixelPigtailBendRMax
double PixelPigtailBendRMax()
Definition: PixelLegacyManager.cxx:769
PixelLegacyManager::PixelTMTPosZ2
double PixelTMTPosZ2(int iPart)
Definition: PixelLegacyManager.cxx:482
section
void section(const std::string &sec)
Definition: TestTriggerMenuAccess.cxx:22
DBPixelGeoManager::DBMTrapezBackShortZ
virtual double DBMTrapezBackShortZ() override
Definition: DBPixelGeoManager.cxx:3558
DBPixelGeoManager::DBMMainPlateY
virtual double DBMMainPlateY() override
Definition: DBPixelGeoManager.cxx:3610
DBPixelGeoManager::PhiOfModuleZero
virtual double PhiOfModuleZero() override
Definition: DBPixelGeoManager.cxx:2402
DBPixelGeoManager::getPixelServiceRecordset
virtual IRDBRecordset_ptr getPixelServiceRecordset(const std::string &type) override
Definition: DBPixelGeoManager.cxx:1025
PixelStaveTypes
Definition: PixelStaveTypes.h:14
DBPixelGeoManager::PixelBoardWidth
virtual double PixelBoardWidth(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:482
InDetMaterialManager::getMaterial
const GeoMaterial * getMaterial(const std::string &materialName)
Get material. First looks for locally defined material and if not found looks in GeoModel material ma...
Definition: InDetMaterialManager.cxx:96
DBPixelGeoManager::IBLSupportRingWidth
virtual double IBLSupportRingWidth() override
Definition: DBPixelGeoManager.cxx:2058
DBPixelGeoManager::DesignNumEmptyRowsInGap
virtual int DesignNumEmptyRowsInGap(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:3206
DBPixelGeoManager::m_PixelBarrelGeneral
IRDBRecordset_ptr m_PixelBarrelGeneral
Definition: DBPixelGeoManager.h:39
InDetDD::AthenaComps::rdbAccessSvc
IRDBAccessSvc * rdbAccessSvc()
Definition: InDetDDAthenaComps.h:74
PixelLegacyManager::PixelOmegaGlueLength
double PixelOmegaGlueLength(int index)
Definition: PixelLegacyManager.cxx:620
PixelLegacyManager::PixelOmegaUpperBendY
double PixelOmegaUpperBendY()
Definition: PixelLegacyManager.cxx:502
PixelLegacyManager::PixelCableZEnd
double PixelCableZEnd(int index)
Definition: PixelLegacyManager.cxx:359
PixelID
Definition: PixelID.h:67
DBPixelGeoManager::SetPartsDBM
virtual void SetPartsDBM() override
Definition: DBPixelGeoManager.cxx:341
DBPixelGeoManager::PixelOmegaGlueThickness
virtual double PixelOmegaGlueThickness(int index) override
Definition: DBPixelGeoManager.cxx:2812
DBPixelGeoManager::m_endcapInFrames
int m_endcapInFrames
Definition: DBPixelGeoManager.h:100
DBPixelGeoManager::m_BarrelEndcap
int m_BarrelEndcap
Definition: DBPixelGeoManager.h:95
DBPixelGeoManager::DBMMainPlateX
virtual double DBMMainPlateX() override
Definition: DBPixelGeoManager.cxx:3607
DBPixelGeoManager::CalculateThickness
double CalculateThickness(double, const std::string &)
Definition: DBPixelGeoManager.cxx:436
DBPixelGeoManager::versionLayout
virtual std::string versionLayout() const override
Definition: DBPixelGeoManager.cxx:1229
StoreGateSvc.h
DBPixelGeoManager::DesignCellRowsPerCircuit
virtual int DesignCellRowsPerCircuit(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:3186
DBPixelGeoManager::PixelNumConnectorElements
virtual int PixelNumConnectorElements() override
Definition: DBPixelGeoManager.cxx:3024
DBPixelGeoManager::DesignPitchRP
virtual double DesignPitchRP(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:3321
PixelLegacyManager::DesignPitchZ
double DesignPitchZ(bool isBLayer)
Definition: PixelLegacyManager.cxx:925
DBPixelGeoManager::PixelModuleServiceMaterial
virtual std::string PixelModuleServiceMaterial(int svc) override
Definition: DBPixelGeoManager.cxx:656
DBPixelGeoManager::PixelModuleStaggerDistance
virtual double PixelModuleStaggerDistance() override
Definition: DBPixelGeoManager.cxx:2479
DBPixelGeoManager::IBLStaveFlexWidth
virtual double IBLStaveFlexWidth() override
Definition: DBPixelGeoManager.cxx:1851
DBPixelGeoManager::PixelStaveIndex
virtual int PixelStaveIndex(int layer) override
Definition: DBPixelGeoManager.cxx:1482
PixelLegacyManager::PixelAlTubeUpperBendY
double PixelAlTubeUpperBendY()
Definition: PixelLegacyManager.cxx:556
DBPixelGeoManager::DBMDiamondY
virtual double DBMDiamondY() override
Definition: DBPixelGeoManager.cxx:3643
DBPixelGeoManager::IBLStaveOmegaMidCenterX
virtual double IBLStaveOmegaMidCenterX() override
Definition: DBPixelGeoManager.cxx:1926
DBPixelGeoManager::PixelPigtailBendX
virtual double PixelPigtailBendX() override
Definition: DBPixelGeoManager.cxx:2979
DBPixelGeoManager::PixelServiceRepeat
virtual int PixelServiceRepeat(const std::string &a, int _n) override
Definition: DBPixelGeoManager.cxx:860
python.SystemOfUnits.degree
tuple degree
Definition: SystemOfUnits.py:106
DBPixelGeoManager::DBMMPlateRod2RodY
virtual double DBMMPlateRod2RodY() override
Definition: DBPixelGeoManager.cxx:3693
InDetDD::PairIndexMap::add
void add(int first, int second, int value)
Definition: PairIndexMap.cxx:9
PixelLegacyManager::PixelPigtailStartY
double PixelPigtailStartY()
Definition: PixelLegacyManager.cxx:720
IGeoDbTagSvc.h
DBPixelGeoManager::m_PixelFluid
IRDBRecordset_ptr m_PixelFluid
Definition: DBPixelGeoManager.h:63
DistortedMaterialManager.h
DBPixelGeoManager::PixelECCablesRMin
virtual double PixelECCablesRMin() override
Definition: DBPixelGeoManager.cxx:2602
DBPixelGeoManager::IBLFlexDoglegHeight
virtual double IBLFlexDoglegHeight(int iHeight) override
Definition: DBPixelGeoManager.cxx:2200
DBPixelGeoManager::PixelServiceRMax
virtual double PixelServiceRMax(const std::string &, int) override
Definition: DBPixelGeoManager.cxx:794
DBPixelGeoManager::IBLStaveFlexOffset
virtual double IBLStaveFlexOffset() override
Definition: DBPixelGeoManager.cxx:1862
DBPixelGeoManager::GetLD
virtual int GetLD() override
Definition: DBPixelGeoManager.h:260
DBPixelGeoManager::getMaterialName
virtual std::string getMaterialName(const std::string &volumeName, int layerdisk=0, int typenum=0) override
Definition: DBPixelGeoManager.cxx:1146
DBPixelGeoManager::m_DBMModule
IRDBRecordset_ptr m_DBMModule
Definition: DBPixelGeoManager.h:87
DBPixelGeoManager::PixelTMTPosZ1
virtual double PixelTMTPosZ1(int iPart) override
Definition: DBPixelGeoManager.cxx:2663
DBPixelGeoManager::PixelFluidX
virtual double PixelFluidX(int index) override
Definition: DBPixelGeoManager.cxx:2884
DBPixelGeoManager::m_PixelDiskRing
IRDBRecordset_ptr m_PixelDiskRing
Definition: DBPixelGeoManager.h:45
DBPixelGeoManager::PixelLadderServicesY
virtual double PixelLadderServicesY() override
Definition: DBPixelGeoManager.cxx:1569
PixelLegacyManager::DesignNumEmptyRowsInGap
int DesignNumEmptyRowsInGap()
Definition: PixelLegacyManager.cxx:881
DBPixelGeoManager::IBLStaveOmegaMidRadius
virtual double IBLStaveOmegaMidRadius() override
Definition: DBPixelGeoManager.cxx:1937
description
std::string description
glabal timer - how long have I taken so far?
Definition: hcg.cxx:88
DBPixelGeoManager::DesignPitchZLong
virtual double DesignPitchZLong(bool isModule3D=false) override
Definition: DBPixelGeoManager.cxx:3341
DBPixelGeoManager::m_DBMTelescope
IRDBRecordset_ptr m_DBMTelescope
Definition: DBPixelGeoManager.h:80
DBPixelGeoManager::m_commonItems
InDetDD::SiCommonItems * m_commonItems
Definition: DBPixelGeoManager.h:126
DBPixelGeoManager::m_placements
TopLevelPlacements * m_placements
Definition: DBPixelGeoManager.h:145
DBPixelGeoManager::PixelLadderCableOffsetX
virtual double PixelLadderCableOffsetX() override
Definition: DBPixelGeoManager.cxx:1576
DBPixelGeoManager::getMaterialManager
virtual InDetMaterialManager * getMaterialManager() override
Definition: DBPixelGeoManager.cxx:219
DBPixelGeoManager::GangedType
int GangedType()
Definition: DBPixelGeoManager.cxx:3219
DBPixelGeoManager::PixelCableZEnd
virtual double PixelCableZEnd(int index) override
Definition: DBPixelGeoManager.cxx:1086
DBPixelGeoManager::DBMMPlateRod2RodX
virtual double DBMMPlateRod2RodX() override
Definition: DBPixelGeoManager.cxx:3696