ATLAS Offline Software
Loading...
Searching...
No Matches
DBPixelGeoManager.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef PIXELGEOMODEL_DBPIXELGEOMANAGER_H
6#define PIXELGEOMODEL_DBPIXELGEOMANAGER_H
7
10#include "GeoModelKernel/GeoDefinitions.h"
11#include <string>
12#include <map>
13#include <vector>
14#include <memory>
17
18class IRDBRecord;
19class IRDBAccessSvc;
23class PixelStaveTypes;
24class GeoMaterial;
25class PixelID;
26class IGeometryDBSvc;
27
28namespace InDetDD {
29 class PairIndexMap;
31 class SiCommonItems;
32}
33
35 private:
36
37
38 // Database tables
79
80 //DBM
82 //IRDBRecordset_ptr DBMSpacing;
85 //IRDBRecordset_ptr DBMRod;
86 //IRDBRecordset_ptr DBMMainPlate;
87 //IRDBRecordset_ptr DBMVslide;
89 //IRDBRecordset_ptr DBMFlex;
90 //IRDBRecordset_ptr DBMServices;
92
93 // eta, phi, layer/disk, side (EC)
97 int m_side;
99
100 // number or general service elements
102
103 // flag to build also the services
106
107 // flag to indicate initial layout (2nd layer and disk missing)
109
110 // flag to force B-layer to have 300um pixels and be 200um thick
112
113 // control whether callbacks get registered
115
116 // IBL
117 bool m_ibl;
119
120 // DBM
121 bool m_dbm;
122
123 // Flag set to true if no parts are listed in placement table - ie indicates actully all are present.
124 bool m_allPartsPresent = false;
125
126 // Class holding items that only one instance is needed for all detector elements.
128
129 // the det descr manager...
131
132 //the material manager
133 std::unique_ptr<InDetMaterialManager> m_pMatMgr;
134
135 // Distorted material manager. Access to tables for distorting
136 // the material. Extra volumes, modified volumes, etc
137 std::unique_ptr<InDetDD::DistortedMaterialManager> m_distortedMatManager;
138
139 // Legacy tables
140 std::unique_ptr<PixelLegacyManager> m_legacyManager;
141
142 // version tag
143 std::string m_versionTag{};
144
145 // top level placements
146 std::unique_ptr<TopLevelPlacements> m_placements;
147
148 // material map
149 std::unique_ptr<PixelMaterialMap> m_materialMap;
150
151 // Stave types
152 std::unique_ptr<PixelStaveTypes> m_pixelStaveTypes;
153
154 // ganged pixel index map
155 std::unique_ptr<std::map<int,std::vector<int> > > m_gangedIndexMap;
156
157 // frame element index map
158 std::unique_ptr<std::map<int,std::vector<int> > > m_frameElementMap;
159
160
161 // Map between etaModule,type and index in PixelStaveZ table
162 std::unique_ptr<InDetDD::PairIndexMap> m_zPositionMap;
163
164 // db version
166
167 // default length unit set according to db version (Gaudi::Units::mm or Gaudi::Units::cm)
169
170 public:
171
174
175 void init();
176
177 //
178 // GET THE OTHER MANAGERS FROM STOREGATE
179 // -------------------------------------
180
181 // Get the material manager:
182 virtual InDetMaterialManager* getMaterialManager() override;
183
184 // PixelDetectorManager
186
187 // DistortedMaterialManager
189
190 // Access to legacy tables
191 virtual PixelLegacyManager * legacyManager() override;
192
193
194 //
195 // VERSION INFORMATION
196 // -------------------
197 virtual std::string versionTag() const override {return m_versionTag;}
198 virtual std::string versionName() const override;
199 virtual std::string versionDescription() const override;
200 virtual std::string versionLayout() const override;
201
202 //
203 // BUILDING DEFINITIONS
204 // --------------------
205
206 // Do I want the services?
207 virtual void SetServices(bool isservice) override {m_services = isservice;}
208 virtual bool DoServices() override;
209
210 // Do I want the services on ladder ? (Omega + Al tube + cables T0 + pigtails + connectors)
211 virtual void SetServicesOnLadder(bool isservice) override {m_servicesOnLadder = isservice;}
212 virtual bool DoServicesOnLadder() override;
213
214 // Initial layout (2nd layer missing)
215 virtual void SetInitialLayout(bool flag) override {m_initialLayout = flag;}
216 virtual bool InitialLayout() const override;
217
218 // DC1 Geometry. 300 um long pixels and 200 um thick sensor in B layer.
219 virtual void SetDC1Geometry(bool flag) override;
220 virtual bool DC1Geometry() const override;
221
222 // Control whether callbacks get registered
223 virtual void SetAlignable(bool flag) override {m_alignable = flag;}
224 virtual bool Alignable() const override;
225
226 // IBL
227 virtual void SetIBL(bool flag) override {m_ibl = flag;}
228 virtual bool ibl() const override {return m_ibl;}
229
230 // DBM
231 virtual void SetDBMFlag(bool flag) override {m_dbm = flag;}
232 virtual bool dbm() const override {return m_dbm;}
233
234 virtual void SetIBLPlanarModuleNumber(int nbPlanarModule) override { m_PlanarModuleNumber=nbPlanarModule; };
235 virtual void SetIBL3DModuleNumber(int nb3DModule) override { m_3DModuleNumber=nb3DModule; };
236
237 //
238 // BUILDER HELPERS
239 // ----------------
240
241 virtual void SetEta(int eta) override {m_eta = eta;}
242 virtual void SetPhi(int phi) override {m_phi = phi;}
243 virtual int Eta() override {return m_eta;}
244 virtual int Phi() override {return m_phi;}
245
246 // What am I building?
247 virtual bool isBarrel() override;
248 virtual bool isEndcap() override;
249 virtual void SetBarrel() override;
250 virtual void SetEndcap() override;
251
252 // building DBM
253 virtual bool isDBM() override;
254 virtual void SetPartsDBM() override;
255
256 // The layer/disk barrel/endcap can be changed by these function.
257 virtual void SetCurrentLD(int i) override;
258 virtual int GetLD() override {return m_currentLD;}
259 virtual std::string getLD_Label() override;
260
261 // Which layers/disks are present?
262 virtual bool isLDPresent() override;
263
264 // The side
265 virtual void SetPos() override {m_side = 1;}
266 virtual void SetNeg() override {m_side = -1;}
267 virtual int GetSide() override {return m_side;}
268 virtual bool isAside() override {return m_side>0;}
269 virtual bool isCside() override {return m_side<0;}
270 virtual void setDiskFront() override { m_diskFrontBack &= 0x3; m_diskFrontBack |= 0x4; }
271 virtual void setDiskBack() override { m_diskFrontBack &= 0x3; m_diskFrontBack |= 0x8; }
272 virtual bool isDiskFront() const override { return m_diskFrontBack & 0x4; }
273 virtual bool isDiskBack() const override { return m_diskFrontBack & 0x8; }
274
275 bool isInnermostPixelLayer() {return (isBarrel() && m_currentLD == 0);}
276
277 //
278 // DETECTOR PARAMTERS
279 // ------------------
280
281
282 // Version Number, for the Barrel/EndCap
283 virtual int PixelBarrelMajorVersion() override;
284 virtual int PixelBarrelMinorVersion() override;
285 virtual int PixelEndcapMajorVersion() override;
286 virtual int PixelEndcapMinorVersion() override;
287
288
289 virtual int dbVersion() override {return m_dbVersion;}
290 bool useLegacy() {return m_dbVersion < 4;}
291
292 // Si Board
293 virtual double PixelBoardWidth(bool isModule3D=false) override;
294 virtual double PixelBoardLength(bool isModule3D=false) override;
295 virtual double PixelBoardThickness(bool isModule3D=false) override;
296 virtual double PixelBoardActiveLength(bool isModule3D=false) override;
297
298 // Hybrid
299 virtual double PixelHybridWidth(bool isModule3D=false) override;
300 virtual double PixelHybridLength(bool isModule3D=false) override;
301 virtual double PixelHybridThickness(bool isModule3D=false) override;
302
303 // Fe Chips (PixelModule)
304 virtual double PixelChipWidth(bool isModule3D=false) override;
305 virtual double PixelChipLength(bool isModule3D=false) override;
306 virtual double PixelChipGap(bool isModule3D=false) override;
307 virtual double PixelChipOffset(bool isModule3D=false) override;
308 virtual double PixelChipThickness(bool isModule3D=false) override;
309
310 // Module services
311 virtual int PixelModuleServiceNumber() override;
312 virtual double PixelModuleServiceLength(int svc) override;
313 virtual double PixelModuleServiceWidth(int svc) override;
314 virtual double PixelModuleServiceThick(int svc) override;
315 virtual double PixelModuleServiceOffsetX(int svc) override;
316 virtual double PixelModuleServiceOffsetY(int svc) override;
317 virtual double PixelModuleServiceOffsetZ(int svc) override;
318 virtual int PixelModuleServiceModuleType(int svc) override;
319 virtual int PixelModuleServiceFullSize(int svc) override;
320 virtual std::string PixelModuleServiceName(int svc) override;
321 virtual std::string PixelModuleServiceMaterial(int svc) override;
322
323 // Disk Carbon Structure
324 // Being replaced by PixelDiskSupportRMin etc methods
325 virtual double PixelECCarbonRMin(std::string) override;
326 virtual double PixelECCarbonRMax(std::string) override;
327 virtual double PixelECCarbonThickness(std::string) override;
328 virtual int PixelECCarbonMaterialTypeNum(std::string) override;
329
330 // Services
331 virtual std::string PixelServiceName(const std::string &, int) override;
332 virtual bool PixelServiceZsymm(const std::string &, int) override;
333 virtual double PixelServiceRMin(const std::string &, int) override;
334 virtual double PixelServiceRMax(const std::string &, int) override;
335 virtual double PixelServiceRMin2(const std::string &, int) override;
336 virtual double PixelServiceRMax2(const std::string &, int) override;
337 virtual double PixelServiceZMin(const std::string &, int) override;
338 virtual double PixelServiceZMax(const std::string &, int) override;
339 virtual double PixelServicePhiLoc(const std::string &a, int _n) override;
340 virtual double PixelServiceWidth(const std::string &a, int _n) override;
341 virtual int PixelServiceRepeat(const std::string &a, int _n) override;
342 virtual std::string PixelServiceShape(const std::string &a, int _n) override;
343 virtual std::string PixelServiceMaterial(const std::string &, int) override;
344 virtual int PixelServiceLD(const std::string &, int) override;
345 virtual int PixelServiceElements(const std::string &) override;
346 virtual int PixelServiceFrameNum(const std::string &, int) override;
347 virtual int PixelServiceEnvelopeNum(const std::string & type, int index) override;
348 virtual int PixelServiceParentEnvelopeNum(const std::string & type, int index) override;
349 virtual int PixelServiceShift(const std::string & type, int index) override;
350
351
352 virtual IRDBRecordset_ptr getPixelServiceRecordset(const std::string & type) override;
353 std::string getPixelServiceRecordString(const std::string & name, const std::string & type, int index);
354 int getPixelServiceRecordInt(const std::string & name, const std::string & type, int index);
355 double getPixelServiceRecordDouble(const std::string & name, const std::string & type, int index);
356 bool getPixelServiceRecordTestField(const std::string & name, const std::string & type, int index);
357
358 // Pixel container
359 virtual double PixelRMin() override;
360 virtual double PixelRMax() override;
361 virtual double PixelHalfLength() override;
362
363 // Pixel Envelope
364 virtual bool PixelSimpleEnvelope() override;
365 virtual unsigned int PixelEnvelopeNumPlanes() override;
366 virtual double PixelEnvelopeZ(int i) override;
367 virtual double PixelEnvelopeRMin(int i) override;
368 virtual double PixelEnvelopeRMax(int i) override;
369
370 // Pixel Barrel (from PixelBarrelGeneral)
371 virtual int PixelBarrelNLayer() override;
372 virtual double PixelBarrelRMin() override;
373 virtual double PixelBarrelRMax() override;
374 virtual double PixelBarrelHalfLength() override;
375
376
377 virtual bool oldFrame() override;
378 virtual bool detailedFrame() override;
379 virtual int PixelFrameSections() override;
380 virtual double PixelFrameRMinSide(int sectionIndex) override;
381 virtual double PixelFrameRMaxSide(int sectionIndex) override;
382 virtual double PixelFrameSideWidth(int sectionIndex) override;
383 virtual double PixelFrameZMin(int sectionIndex) override;
384 virtual double PixelFrameZMax(int sectionIndex) override;
385 virtual double PixelFramePhiStart(int sectionIndex) override;
386 virtual int PixelFrameNumSides(int sectionIndex) override;
387 virtual bool PixelFrameMirrorSides(int sectionIndex) override;
388 virtual std::string PixelFrameSideMaterial(int sectionIndex) override;
389 virtual std::string PixelFrameCornerMaterial(int sectionIndex) override;
390
391 virtual int PixelFrameNumSideElements(int sectionIndex) override;
392 virtual double PixelFrameElementZMin1(int sectionIndex, int element) override;
393 virtual double PixelFrameElementZMin2(int sectionIndex, int element) override;
394 virtual double PixelFrameElementZMax1(int sectionIndex, int element) override;
395 virtual double PixelFrameElementZMax2(int sectionIndex, int element) override;
396
397 // helper functions
398 int PixelFrameSectionFromIndex(int sectionIndex);
399 void makeFrameIndexMap();
400 int getFrameElementIndex(int sectionIndex, int element);
401
402 // Pixel Layers/Ladder Geometry
403 virtual int PixelStaveIndex(int layer) override;
404 virtual int PixelStaveLayout() override;
405 virtual int PixelStaveAxe() override;
406 virtual double PixelLayerRadius() override;
407 virtual double PixelLayerGlobalShift() override;
408 virtual double PixelLadderLength() override;
409 virtual double PixelLadderWidthClearance() override;
410 virtual double PixelLadderThicknessClearance() override;
411 virtual double PixelLadderThickness() override;
412 virtual double PixelLadderTilt() override;
413 virtual double PixelLadderServicesX() override;
414 virtual double PixelLadderServicesY() override;
415 virtual double PixelLadderCableOffsetX() override;
416 virtual double PixelLadderCableOffsetY() override;
417
418 // Stave support (IBL)
419 virtual GeoTrf::Vector3D IBLStaveRotationAxis() override;
420 virtual double IBLStaveRadius() override;
421 virtual double IBLStaveFacePlateThickness() override;
422 virtual double IBLStaveMechanicalStaveWidth() override;
423 virtual double IBLStaveMechanicalStaveEndBlockLength() override;
424 virtual double IBLStaveMechanicalStaveEndBlockFixPoint() override;
425 virtual double IBLStaveMechanicalStaveEndBlockOmegaOverlap() override;
426 virtual double IBLStaveLength() override;
427 virtual double IBLStaveMechanicalStaveOffset(bool isModule3D=false) override;
428 virtual double IBLStaveMechanicalStaveModuleOffset() override;
429 virtual double IBLStaveTubeOuterDiameter() override;
430 virtual double IBLStaveTubeInnerDiameter() override;
431 virtual double IBLStaveTubeMiddlePos() override;
432 virtual double IBLStaveFlexLayerThickness() override;
433 virtual double IBLStaveFlexBaseThickness() override;
434 virtual double IBLStaveFlexWidth() override;
435 virtual double IBLStaveFlexOffset() override;
436 virtual double IBLStaveOmegaThickness() override;
437 virtual double IBLStaveOmegaEndCenterX() override;
438 virtual double IBLStaveOmegaEndCenterY() override;
439 virtual double IBLStaveOmegaEndRadius() override;
440 virtual double IBLStaveOmegaEndAngle() override;
441 virtual double IBLStaveOmegaMidCenterX() override;
442 virtual double IBLStaveOmegaMidRadius() override;
443 virtual double IBLStaveOmegaMidAngle() override;
444 virtual int IBLStaveModuleNumber() override;
445 virtual int IBLStaveModuleNumber_AllPlanar() override;
446 virtual double IBLStaveModuleGap() override;
447 virtual int IBLStaveModuleType() override;
448 virtual double IBLStaveFacePlateGreaseThickness() override;
449 virtual double IBLStaveFacePlateGlueThickness() override;
450 virtual double IBLStaveTubeGlueThickness() override;
451 virtual double IBLStaveOmegaGlueThickness() override;
452 virtual double IBLSupportRingWidth() override;
453 virtual double IBLSupportRingInnerRadius() override;
454 virtual double IBLSupportRingOuterRadius() override;
455 virtual double IBLSupportMechanicalStaveRingFixPoint() override;
456 virtual double IBLSupportMidRingWidth() override;
457 virtual double IBLSupportMidRingInnerRadius() override;
458 virtual double IBLSupportMidRingOuterRadius() override;
459 virtual double IBLFlexMiddleGap() override;
460 virtual bool IBLFlexAndWingDefined() override;
461 virtual double IBLFlexDoglegLength() override;
462 virtual double IBLStaveFlexWingWidth() override;
463 virtual double IBLStaveFlexWingThick() override;
464 virtual double IBLFlexDoglegRatio() override;
465 virtual double IBLFlexDoglegHeight(int iHeight) override;
466 virtual double IBLFlexDoglegDY() override;
467 virtual double IBLFlexPP0Z(int iPos) override;
468 virtual double IBLFlexPP0Rmin(int iPos) override;
469 virtual double IBLFlexPP0Rmax(int iPos) override;
470 virtual std::string IBLFlexMaterial(int iPos, const std::string& flexType) override;
471 virtual double IBLServiceGetMinRadialPosition(const std::string& srvName, const std::string& srvType,
472 double srvZmin, double srvZmax) override;
473 virtual double IBLServiceGetMaxRadialPosition(const std::string& srvName, const std::string& srvType,
474 double srvZmin, double srvZmax) override;
475
476 // Simple ladder services
477 virtual double PixelLadderSupportThickness() override;
478 virtual double PixelLadderSupportWidth() override;
479 virtual double PixelLadderSupportLength() override;
480
481 // Bent modules
482 virtual double PixelLadderBentStaveAngle() override;
483 virtual int PixelBentStaveNModule() override;
484 virtual double PixelLadderModuleDeltaZ() override;
485
486 virtual int PixelBiStaveType(int layer, int phi) override;
487 virtual int NPixelSectors() override;
488 virtual double PhiOfModuleZero() override;
489
490 virtual int PixelNModule() override;
491 virtual double PixelModuleDrDistance() override;
492 virtual double PixelModuleAngle() override;
493 virtual double PixelModuleZPosition(int) override;
494 virtual double PixelModuleShiftFlag(int) override;
495 virtual double PixelModuleAngleSign(int) override;
496
497 virtual double PixelModuleStaggerDistance() override;
498 virtual int PixelModuleStaggerSign(int etaModule) override;
499 virtual int PixelModuleEtaFromIndex(int index) override;
500 virtual int PixelModuleIndexFromEta(int etaModule) override;
501 virtual bool allowSkipEtaZero() override;
502 virtual bool centerModule(int etaModule) override;
503
504 double PixelModuleZPositionTabulated(int etaModule, int type);
505
506
507 // Barrel LAYER CABLES
508 virtual int PixelCableElements() override;
509 virtual int PixelCableLayerNum(int index) override;
510 virtual int PixelCableBiStaveNum(int index) override;
511 virtual double PixelCableZStart(int index) override;
512 virtual double PixelCableZEnd(int index) override;
513 virtual double PixelCableWidth(int index) override;
514 virtual double PixelCableThickness(int index) override;
515 virtual double PixelCableStackOffset(int index) override;
516 virtual double PixelCableWeight(int index) override;
517 virtual std::string PixelCableLabel(int index) override;
518
519
520 // Pixel Endcap
521 virtual int PixelEndcapNDisk() override;
522
523 // Pixel Endcap Container
524 virtual double PixelEndcapRMin() override;
525 virtual double PixelEndcapRMax() override;
526 virtual double PixelEndcapZMin() override;
527 virtual double PixelEndcapZMax() override;
528 virtual int PixelEndcapNSupportFrames() override;
529
530 // Pixel Disks
531 virtual double PixelDiskZPosition() override;
532 virtual double PixelECSiDz1() override;
533 virtual double PixelECSiDz2() override;
534 //double PixelDiskRMin();
535 virtual int PixelECNSectors1() override;
536 virtual int PixelECNSectors2() override;
537
538 // Endcap CABLES
539 virtual double PixelECCablesRMin() override;
540 virtual double PixelECCablesRMax() override;
541 virtual double PixelECCablesThickness() override;
542 virtual double PixelECCablesDistance() override;
543
544
545 // TMT
546 virtual int PixelTMTNumParts() override;
547 virtual double PixelTMTWidthX1(int iPart) override;
548 virtual double PixelTMTWidthX2(int iPart) override;
549 virtual double PixelTMTWidthY(int iPart) override;
550 virtual double PixelTMTBaseX1(int iPart) override;
551 virtual double PixelTMTBaseX2(int iPart) override;
552 virtual double PixelTMTPosY(int iPart) override;
553 virtual double PixelTMTPosZ1(int iPart) override;
554 virtual double PixelTMTPosZ2(int iPart) override;
555 virtual bool PixelTMTPerModule(int iPart) override;
556
557 // Omega parameters
558 virtual double PixelOmegaUpperBendX() override;
559 virtual double PixelOmegaUpperBendY() override;
560 virtual double PixelOmegaUpperBendRadius() override;
561 virtual double PixelOmegaLowerBendX() override;
562 virtual double PixelOmegaLowerBendY() override;
563 virtual double PixelOmegaLowerBendRadius() override;
564 virtual double PixelOmegaWallThickness() override;
565 virtual double PixelOmegaLength() override;
566 virtual double PixelOmegaStartY() override;
567 virtual double PixelOmegaEndY() override;
568
569 // Al Tube
570 virtual double PixelAlTubeUpperBendX() override;
571 virtual double PixelAlTubeUpperBendY() override;
572 virtual double PixelAlTubeUpperBendRadius() override;
573 virtual double PixelAlTubeLowerBendX() override;
574 virtual double PixelAlTubeLowerBendY() override;
575 virtual double PixelAlTubeLowerBendRadius() override;
576 virtual double PixelAlTubeWallThickness() override;
577 virtual double PixelAlTubeLength() override;
578
579 // Glue
580 virtual int PixelNumOmegaGlueElements() override;
581 virtual double PixelOmegaGlueStartX(int index) override;
582 virtual double PixelOmegaGlueThickness(int index) override;
583 virtual double PixelOmegaGlueStartY(int index) override;
584 virtual double PixelOmegaGlueEndY(int index) override;
585 virtual double PixelOmegaGlueLength(int index) override;
586 virtual double PixelOmegaGluePosZ(int index) override;
587 virtual int PixelOmegaGlueTypeNum(int index) override;
588
589 // Fluid
590 virtual double PixelFluidZ1(int index) override;
591 virtual double PixelFluidZ2(int index) override;
592 virtual double PixelFluidThick1(int index) override;
593 virtual double PixelFluidThick2(int index) override;
594 virtual double PixelFluidWidth(int index) override;
595 virtual double PixelFluidX(int index) override;
596 virtual double PixelFluidY(int index) override;
597 virtual int PixelFluidType(int index) override;
598 virtual int PixelFluidNumTypes() override;
599 virtual int PixelFluidIndex(int type) override;
600 virtual std::string PixelFluidMat(int index) override;
601 virtual int PixelFluidOrient(int layer, int phi) override;
602
603 // Pigtail
604 virtual double PixelPigtailThickness() override;
605 virtual double PixelPigtailStartY() override;
606 virtual double PixelPigtailEndY() override;
607 virtual double PixelPigtailWidthZ() override;
608 virtual double PixelPigtailFlatWidthZ() override;
609 virtual double PixelPigtailPosX() override;
610 virtual double PixelPigtailPosZ() override;
611 virtual double PixelPigtailBendX() override;
612 virtual double PixelPigtailBendY() override;
613 virtual double PixelPigtailBendRMin() override;
614 virtual double PixelPigtailBendRMax() override;
615 virtual double PixelPigtailBendPhiMin() override;
616 virtual double PixelPigtailBendPhiMax() override;
617 virtual double PixelPigtailEnvelopeLength() override;
618
619 // Connector
620 virtual int PixelNumConnectorElements() override;
621 virtual double PixelConnectorWidthX(int index) override;
622 virtual double PixelConnectorWidthY(int index) override;
623 virtual double PixelConnectorWidthZ(int index) override;
624 virtual double PixelConnectorPosX(int index) override;
625 virtual double PixelConnectorPosY(int index) override;
626 virtual double PixelConnectorPosZ(int index) override;
627
628 //
629 //DBM
630 //
631
632
633 // tilting angle of the telescope
634 double DBMAngle() override;
635
636 // Telescope dimension
637 virtual double DBMTelescopeX() override;
638 virtual double DBMTelescopeY() override;
639 virtual double DBMTelescopeZ() override;
640
641 // 3-layers unit
642 virtual double DBMModuleCageY() override;
643 virtual double DBMModuleCageZ() override;
644
645 // layer spacing
646 virtual double DBMSpacingZ() override;
647 virtual double DBMSpacingRadial() override;
648
649 // bracket unit
650 virtual double DBMBracketX() override; // width of the bracket unit
651 virtual double DBMBracketY() override; // total height of the bracket unit
652 virtual double DBMBracketZ() override; // total thickness of the bracket unit,
653 // back trapezoid block with window
654 virtual double DBMTrapezBackTheta() override;
655 virtual double DBMTrapezBackX() override;
656 virtual double DBMTrapezBackY() override;
657 virtual double DBMTrapezBackShortZ() override;
658 // bracket window
659 virtual double DBMBrcktWindowX() override;
660 virtual double DBMBrcktWindowY() override;
661 // bracket front volume
662 virtual double DBMBrcktTopBlockZ() override;
663 virtual double DBMBrcktSideBlockX() override;
664 virtual double DBMBrcktSideBlockY() override;
665 // back locking box
666 virtual double DBMBrcktLockZ() override;
667 virtual double DBMBrcktLockY() override;
668 // window offset, from bottom of back trapezoid to bottom of window; in the front side
669 virtual double DBMBrcktWindowOffset() override;
670 //center of trapezoid block in z-direction
671 virtual double DBMBrcktWindowCenterZ() override;
672 // cooling fin beside the bracket unit
673 virtual double DBMBrcktFinLongZ() override;
674 virtual double DBMBrcktFinHeight() override;
675 virtual double DBMBrcktFinThick() override;
676 virtual double DBMBrcktFinPos() override;
677
678 // gap between V-slide and first main plate
679 virtual double DBMSpace() override;
680
681 // DBM module
682 virtual double DBMDiamondX() override; // only diamond dimension
683 virtual double DBMDiamondY() override;
684 virtual double DBMDiamondZ() override;
685 virtual double DBMFEI4X() override; // FE-I4 dimension
686 virtual double DBMFEI4Y() override;
687 virtual double DBMFEI4Z() override;
688 virtual double DBMCeramicX() override; // ceramic
689 virtual double DBMCeramicY() override;
690 virtual double DBMCeramicZ() override;
691 virtual double DBMAirGap() override; // air gap between diamond and FE-I4 chip
692 virtual double DBMKaptonZ() override; //Kapton
693
694 // main plate, on which is mounted the sensor module
695 virtual double DBMMainPlateX() override; //dimension in x-direction or width
696 virtual double DBMMainPlateY() override; //y-direction or height
697 virtual double DBMMainPlateZ() override; //z-direction or thickness
698 virtual double DBMMPlateWindowWidth() override; // window width in the main plate
699 virtual double DBMMPlateWindowHeight() override; // window height
700 virtual double DBMMPlateWindowPos() override; // window position from bottom of the main plate
701 // cooling side Plate
702 virtual double DBMCoolingSidePlateX() override;
703 virtual double DBMCoolingSidePlateY() override;
704 virtual double DBMCoolingSidePlateZ() override;
705 // position of side plate, parallel to side plate axis,
706 // measured from the back of the V-slide to the front of the side plate
707 virtual double DBMCoolingSidePlatePos() override;
708
709 // flex support
710 virtual double DBMFlexSupportX() override;
711 virtual double DBMFlexSupportY() override;
712 virtual double DBMFlexSupportZ() override;
713 virtual double DBMFlexSupportOffset() override;
714
715 // rods
716 virtual double DBMRodRadius() override;
717 virtual double DBMMPlateRod2RodY() override; // vertical distance bewteen center of rods
718 virtual double DBMMPlateRod2RodX() override; // horizontal distance bewteen center of rods
719
720
721 // radius and thickness of PP0 board
722 virtual double DBMPP0RIn() override;
723 virtual double DBMPP0ROut() override;
724 virtual double DBMPP0Thick() override;
725
726
727 //
728 // Design Parameter
729 //
730
731 // Allow for more than one readout type in the future
732 int designType(bool isModule3D=false);
733 int designType3D();
734
735 virtual int DesignReadoutSide(bool isModule3D=false) override;
736
737 virtual double DesignRPActiveArea(bool isModule3D=false) override;
738 virtual double DesignZActiveArea(bool isModule3D=false) override;
739
740 virtual int DesignCircuitsPhi(bool isModule3D=false) override;
741 virtual int DesignCircuitsEta(bool isModule3D=false) override;
742
743 virtual int DesignNumChipsPhi(bool isModule3D=false) override;
744 virtual int DesignNumChipsEta(bool isModule3D=false) override;
745
746 virtual int DesignDiodesPhiTotal(bool isModule3D=false) override;
747 virtual int DesignDiodesEtaTotal(bool isModule3D=false) override;
748
749 virtual int DesignCellColumnsPerCircuit(bool isModule3D=false) override;
750 virtual int DesignCellRowsPerCircuit(bool isModule3D=false) override;
751 virtual int DesignDiodeColumnsPerCircuit(bool isModule3D=false) override;
752 virtual int DesignDiodeRowsPerCircuit(bool isModule3D=false) override;
753
754 virtual int DesignNumRowsPerChip(bool isModule3D=false) override;
755 virtual int DesignNumColsPerChip(bool isModule3D=false) override;
756
757 virtual double DesignPitchRP(bool isModule3D=false) override;
758 virtual double DesignGapRP(bool isModule3D=false) override;
759 virtual double DesignPitchZ(bool isModule3D=false) override;
760 virtual double DesignPitchZLong(bool isModule3D=false) override;
761 virtual double DesignPitchZLongEnd(bool isModule3D=false) override;
762 virtual double DesignGapZ(bool isModule3D=false) override;
763
764 virtual int DesignNumEmptyRowsInGap(bool isModule3D=false) override;
765
766 // Ganged Pixels
767 virtual int NumberOfEmptyRows(bool isModule3D=false) override;
768 virtual int EmptyRows(int index) override;
769 virtual int EmptyRowConnections(int index) override;
770 int GangedType();
771 int GangedTableIndex(int index, int type);
772
773 // CommonItems for Det Elements
774 virtual InDetDD::SiCommonItems * commonItems() override;
775 virtual const InDetDD::SiCommonItems * commonItems() const override;
776 virtual void setCommonItems(InDetDD::SiCommonItems * commonItems) override;
777
778 // ID helper
779 virtual const PixelID * getIdHelper() override;
780
781 // Top Level placements
782 virtual const GeoTrf::Transform3D & partTransform(const std::string & partName) const override;
783 virtual bool partPresent(const std::string & partName) const override;
784
785 virtual std::string getMaterialName(const std::string & volumeName, int layerdisk = 0, int typenum = 0) override;
786
787 // Geometry DB Interface
788 const IGeometryDBSvc * db() const {return athenaComps()->geomDB();}
789
790 virtual double PixelDiskRMin() override;
791 virtual int PixelDiskNumSupports() override;
792 virtual double PixelDiskSupportRMin(int isup) override;
793 virtual double PixelDiskSupportRMax(int isup) override;
794 virtual double PixelDiskSupportThickness(int isup) override;
795 virtual int PixelDiskSupportMaterialTypeNum(int isup) override;
796 virtual int moduleType() override;
797 virtual int moduleType3D() override;
798 int getDiskRingIndex(int disk, int eta);
799 int getDiskRingType(int disk, int eta);
800
802 private:
803
804 double CalculateThickness(double,const std::string&);
805 int determineDbVersion();
806 void addDefaultMaterials();
807 // return default length unit (Gaudi::Units::mm or Gaudi::Units::cm)
808 double mmcm() {return m_defaultLengthUnit;}
809
810};
811
812
813#endif
814
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
Definition of the abstract IRDBAccessSvc interface.
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
static Double_t a
Define macros for attributes used to control the static checker.
virtual double PixelConnectorWidthY(int index) override
virtual void setDiskBack() override
virtual double IBLStaveLength() override
virtual int PixelServiceParentEnvelopeNum(const std::string &type, int index) override
virtual double IBLFlexPP0Rmin(int iPos) override
virtual double PixelChipLength(bool isModule3D=false) override
virtual double IBLStaveFlexWingWidth() override
virtual bool partPresent(const std::string &partName) const override
virtual int PixelServiceRepeat(const std::string &a, int _n) override
virtual double PixelLayerGlobalShift() override
virtual void SetPartsDBM() override
virtual int PixelCableElements() override
virtual double PixelBoardActiveLength(bool isModule3D=false) override
virtual double IBLStaveMechanicalStaveEndBlockFixPoint() override
int getDiskRingType(int disk, int eta)
std::unique_ptr< InDetDD::DistortedMaterialManager > m_distortedMatManager
virtual double PixelECCarbonRMin(std::string) override
virtual double DBMCeramicY() override
virtual double PixelModuleShiftFlag(int) override
virtual double DBMSpacingRadial() override
virtual double PixelPigtailBendPhiMax() override
virtual int DesignCellColumnsPerCircuit(bool isModule3D=false) override
IRDBRecordset_ptr m_PixelFrame
virtual double DBMMPlateWindowPos() override
virtual double DBMTrapezBackTheta() override
virtual InDetDD::SiCommonItems * commonItems() override
virtual double PixelConnectorWidthZ(int index) override
virtual double DBMPP0ROut() override
virtual int NumberOfEmptyRows(bool isModule3D=false) override
virtual double PixelHybridWidth(bool isModule3D=false) override
int GangedTableIndex(int index, int type)
virtual int PixelOmegaGlueTypeNum(int index) override
virtual double PixelBoardLength(bool isModule3D=false) override
virtual double DBMModuleCageZ() override
virtual double PixelChipOffset(bool isModule3D=false) override
virtual double PixelChipThickness(bool isModule3D=false) override
IRDBRecordset_ptr m_PixelStaveZ
virtual std::string versionDescription() const override
virtual double PixelECSiDz1() override
virtual double DBMBrcktWindowX() override
bool getPixelServiceRecordTestField(const std::string &name, const std::string &type, int index)
virtual double PixelFrameElementZMin2(int sectionIndex, int element) override
virtual double PixelDiskZPosition() override
InDetDD::PixelDetectorManager * m_pDDmgr
virtual double IBLStaveMechanicalStaveEndBlockLength() override
virtual double PixelOmegaUpperBendY() override
virtual double PixelCableWidth(int index) override
virtual int PixelServiceShift(const std::string &type, int index) override
virtual double PixelLadderSupportLength() override
virtual double PixelPigtailPosZ() override
virtual bool PixelFrameMirrorSides(int sectionIndex) override
virtual int PixelBiStaveType(int layer, int phi) override
virtual double PixelConnectorWidthX(int index) override
virtual int NPixelSectors() override
virtual double PixelPigtailPosX() override
virtual int PixelModuleServiceNumber() override
virtual void setCommonItems(InDetDD::SiCommonItems *commonItems) override
IRDBRecordset_ptr m_scalingTable
virtual std::string getMaterialName(const std::string &volumeName, int layerdisk=0, int typenum=0) override
virtual double PixelAlTubeUpperBendY() override
virtual int dbVersion() override
virtual bool PixelSimpleEnvelope() override
virtual int PixelEndcapNSupportFrames() override
virtual void SetPhi(int phi) override
int getFrameElementIndex(int sectionIndex, int element)
virtual double IBLStaveOmegaMidRadius() override
virtual double PixelPigtailBendX() override
virtual double PixelBoardWidth(bool isModule3D=false) override
virtual int PixelCableLayerNum(int index) override
virtual int PixelFrameSections() override
virtual double PixelOmegaUpperBendX() override
virtual int PixelBarrelMinorVersion() override
virtual double PixelServiceRMin(const std::string &, int) override
virtual double PixelCableWeight(int index) override
virtual double PixelFrameRMaxSide(int sectionIndex) override
virtual int EmptyRows(int index) override
virtual bool DC1Geometry() const override
IRDBRecordset_ptr m_PixelIBLFlexMaterial
double DBMAngle() override
virtual double DBMFEI4Z() override
virtual double PixelTMTBaseX1(int iPart) override
virtual double DesignPitchZLongEnd(bool isModule3D=false) override
virtual double DBMMPlateRod2RodY() override
virtual std::string versionName() const override
virtual int PixelNModule() override
virtual int PixelServiceEnvelopeNum(const std::string &type, int index) override
virtual double PixelLadderCableOffsetX() override
virtual double PixelFluidX(int index) override
virtual double PixelDiskSupportRMin(int isup) override
int getPixelServiceRecordInt(const std::string &name, const std::string &type, int index)
virtual double PixelServiceRMin2(const std::string &, int) override
virtual double PixelConnectorPosX(int index) override
virtual double PixelEndcapRMin() override
virtual double PixelDiskRMin() override
IRDBRecordset_ptr m_PixelBarrelService
virtual double DBMTrapezBackY() override
virtual int PixelFluidType(int index) override
virtual double DBMDiamondY() override
virtual double PixelOmegaUpperBendRadius() override
IRDBRecordset_ptr m_PixelFluid
virtual double IBLServiceGetMinRadialPosition(const std::string &srvName, const std::string &srvType, double srvZmin, double srvZmax) override
virtual double DBMBracketX() override
virtual double PixelLayerRadius() override
virtual int IBLStaveModuleType() override
virtual double PixelEnvelopeRMin(int i) override
virtual double DesignGapZ(bool isModule3D=false) override
virtual double DBMMPlateRod2RodX() override
virtual double DesignRPActiveArea(bool isModule3D=false) override
virtual int GetSide() override
virtual double PixelModuleServiceOffsetX(int svc) override
virtual double DBMBracketY() override
virtual double IBLStaveFacePlateGreaseThickness() override
virtual double PixelOmegaGlueEndY(int index) override
IRDBRecordset_ptr m_PixelOmegaGlue
virtual InDetMaterialManager * getMaterialManager() override
virtual int PixelFrameNumSideElements(int sectionIndex) override
std::unique_ptr< PixelStaveTypes > m_pixelStaveTypes
virtual double PixelHalfLength() override
virtual double PixelModuleDrDistance() override
virtual double IBLStaveOmegaEndRadius() override
virtual int PixelModuleServiceModuleType(int svc) override
virtual double PixelServicePhiLoc(const std::string &a, int _n) override
virtual double PixelTMTWidthX2(int iPart) override
virtual double DBMBrcktWindowOffset() override
virtual int DesignNumChipsEta(bool isModule3D=false) override
virtual std::string PixelCableLabel(int index) override
virtual double DBMCeramicX() override
IRDBRecordset_ptr m_PixelBarrelGeneral
double CalculateThickness(double, const std::string &)
virtual double DBMBrcktLockY() override
virtual void SetEta(int eta) override
virtual std::string PixelServiceMaterial(const std::string &, int) override
virtual double PixelEnvelopeZ(int i) override
virtual double PixelLadderWidthClearance() override
virtual int moduleType3D() override
virtual double DBMKaptonZ() override
virtual int PixelFluidIndex(int type) override
virtual int PixelEndcapNDisk() override
IRDBRecordset_ptr m_PixelPigtail
virtual double DBMTelescopeZ() override
IRDBRecordset_ptr m_PixelGangedPixels
IRDBRecordset_ptr m_PixelRing
virtual double IBLStaveModuleGap() override
virtual double DBMCoolingSidePlatePos() override
std::unique_ptr< InDetMaterialManager > m_pMatMgr
virtual double PixelFrameElementZMax1(int sectionIndex, int element) override
virtual double DesignPitchRP(bool isModule3D=false) override
virtual double IBLSupportMidRingInnerRadius() override
virtual double IBLSupportMidRingWidth() override
virtual void SetPos() override
virtual double DBMTelescopeX() override
virtual std::string PixelFrameSideMaterial(int sectionIndex) override
int PixelFrameSectionFromIndex(int sectionIndex)
virtual int GetLD() override
virtual double IBLStaveTubeOuterDiameter() override
virtual void SetAlignable(bool flag) override
virtual std::string PixelServiceShape(const std::string &a, int _n) override
const IGeometryDBSvc * db() const
virtual double IBLStaveMechanicalStaveOffset(bool isModule3D=false) override
virtual double PixelOmegaGluePosZ(int index) override
virtual double DBMCoolingSidePlateZ() override
virtual double PixelAlTubeUpperBendRadius() override
virtual double PixelTMTBaseX2(int iPart) override
virtual int PixelModuleIndexFromEta(int etaModule) override
virtual double DBMMPlateWindowHeight() override
IRDBRecordset_ptr m_DBMBracket
virtual double DBMCoolingSidePlateX() override
IRDBRecordset_ptr m_PixelOmega
virtual double PixelServiceWidth(const std::string &a, int _n) override
virtual unsigned int PixelEnvelopeNumPlanes() override
IRDBRecordset_ptr m_PixelIBLFlex
virtual double DesignPitchZ(bool isModule3D=false) override
IRDBRecordset_ptr m_weightTable
virtual double IBLFlexDoglegLength() override
int designType(bool isModule3D=false)
IRDBRecordset_ptr m_PixelConnector
virtual double PixelBarrelHalfLength() override
IRDBRecordset_ptr m_DBMCage
IRDBRecordset_ptr m_PixelEnvelopeService
virtual double IBLFlexDoglegDY() override
virtual int DesignCellRowsPerCircuit(bool isModule3D=false) override
virtual int IBLStaveModuleNumber_AllPlanar() override
virtual double PixelHybridLength(bool isModule3D=false) override
virtual double PixelPigtailEnvelopeLength() override
virtual bool centerModule(int etaModule) override
virtual double PixelEndcapZMax() override
IRDBRecordset_ptr m_staveTypeTable
virtual double DBMFlexSupportZ() override
virtual int DesignCircuitsEta(bool isModule3D=false) override
IRDBRecordset_ptr m_PixelIBLStave
virtual int PixelModuleEtaFromIndex(int index) override
virtual int DesignNumChipsPhi(bool isModule3D=false) override
virtual double DesignGapRP(bool isModule3D=false) override
double getPixelServiceRecordDouble(const std::string &name, const std::string &type, int index)
IRDBRecordset_ptr m_PixelTMT
virtual double IBLSupportMechanicalStaveRingFixPoint() override
virtual double PixelLadderTilt() override
virtual double DBMBrcktSideBlockY() override
virtual double PixelAlTubeWallThickness() override
virtual bool allowSkipEtaZero() override
virtual double DBMCeramicZ() override
virtual double PixelEnvelopeRMax(int i) override
IRDBRecordset_ptr m_dbmWeightTable
virtual double PixelModuleAngleSign(int) override
virtual double DBMBrcktFinPos() override
virtual double PixelServiceRMax2(const std::string &, int) override
virtual double IBLStaveOmegaEndCenterX() override
virtual int DesignDiodeRowsPerCircuit(bool isModule3D=false) override
virtual void setDiskFront() override
virtual double DBMBrcktLockZ() override
virtual double PixelBarrelRMin() override
virtual double PixelLadderServicesX() override
std::string getPixelServiceRecordString(const std::string &name, const std::string &type, int index)
virtual double PixelTMTPosY(int iPart) override
virtual double PixelHybridThickness(bool isModule3D=false) override
virtual double PixelModuleServiceOffsetY(int svc) override
virtual double PixelFluidThick1(int index) override
virtual int DesignNumColsPerChip(bool isModule3D=false) override
virtual bool detailedFrame() override
virtual double PixelOmegaLowerBendX() override
virtual double IBLStaveRadius() override
virtual double IBLStaveFlexOffset() override
IRDBRecordset_ptr m_PixelConicalStave
virtual int moduleType() override
virtual double PixelECSiDz2() override
virtual double PixelRMin() override
virtual bool ibl() const override
virtual double DBMMPlateWindowWidth() override
virtual int PixelDiskSupportMaterialTypeNum(int isup) override
IRDBRecordset_ptr m_PixelModule
virtual double IBLSupportRingWidth() override
virtual double DBMModuleCageY() override
virtual std::string PixelModuleServiceName(int svc) override
virtual double PixelModuleServiceLength(int svc) override
virtual double PixelCableZStart(int index) override
virtual std::string IBLFlexMaterial(int iPos, const std::string &flexType) override
virtual double PixelCableZEnd(int index) override
virtual double DBMBrcktFinThick() override
virtual int DesignNumEmptyRowsInGap(bool isModule3D=false) override
virtual void SetIBL(bool flag) override
virtual double PixelECCarbonThickness(std::string) override
virtual int PixelDiskNumSupports() override
virtual int PixelBarrelMajorVersion() override
virtual void SetDBMFlag(bool flag) override
int getDiskRingIndex(int disk, int eta)
virtual double PixelEndcapZMin() override
IRDBRecordset_ptr m_PixelStave
virtual double DesignZActiveArea(bool isModule3D=false) override
virtual std::string PixelFluidMat(int index) override
virtual double DBMBracketZ() override
virtual double PixelModuleStaggerDistance() override
virtual double IBLStaveTubeGlueThickness() override
virtual void SetNeg() override
virtual double DBMFEI4X() override
IRDBRecordset_ptr m_PixelEndcapService
virtual double PixelPigtailStartY() override
virtual int PixelTMTNumParts() override
TMT.
virtual double IBLStaveFacePlateGlueThickness() override
virtual int PixelFluidNumTypes() override
virtual double PixelServiceZMin(const std::string &, int) override
IRDBRecordset_ptr m_PixelFrameSect
virtual double PixelFrameZMin(int sectionIndex) override
virtual double PixelLadderSupportThickness() override
virtual double PixelTMTPosZ2(int iPart) override
virtual double PixelPigtailBendY() override
virtual double IBLSupportRingInnerRadius() override
virtual double DBMAirGap() override
virtual double DBMDiamondX() override
InDetDD::SiCommonItems * m_commonItems
virtual double PixelECCarbonRMax(std::string) override
virtual double PixelOmegaLength() override
virtual double PixelECCablesDistance() override
virtual bool isAside() override
virtual void SetServicesOnLadder(bool isservice) override
virtual double PixelChipWidth(bool isModule3D=false) override
virtual bool isEndcap() override
virtual int PixelEndcapMinorVersion() override
IRDBRecordset_ptr m_PixelReadout
virtual double DBMTrapezBackX() override
virtual double IBLStaveOmegaThickness() override
virtual int Eta() override
virtual bool DoServicesOnLadder() override
virtual int Phi() override
virtual double DBMBrcktTopBlockZ() override
virtual std::string versionLayout() const override
virtual int PixelCableBiStaveNum(int index) override
virtual double PixelBoardThickness(bool isModule3D=false) override
virtual double PixelAlTubeUpperBendX() override
virtual double IBLStaveOmegaMidAngle() override
virtual double PixelFrameElementZMax2(int sectionIndex, int element) override
virtual std::string getLD_Label() override
virtual double PixelPigtailWidthZ() override
std::unique_ptr< InDetDD::PairIndexMap > m_zPositionMap
virtual double PixelAlTubeLowerBendX() override
virtual bool isDiskFront() const override
virtual double DBMMainPlateZ() override
virtual void SetIBLPlanarModuleNumber(int nbPlanarModule) override
virtual PixelLegacyManager * legacyManager() override
virtual double PixelAlTubeLowerBendRadius() override
virtual int PixelNumOmegaGlueElements() override
virtual int PixelServiceElements(const std::string &) override
virtual double PixelModuleZPosition(int) override
virtual double PixelLadderSupportWidth() override
virtual const PixelID * getIdHelper() override
virtual int DesignReadoutSide(bool isModule3D=false) override
IRDBRecordset_ptr m_DBMTelescope
virtual void SetServices(bool isservice) override
virtual void SetEndcap() override
virtual double DBMFlexSupportY() override
virtual int PixelEndcapMajorVersion() override
virtual int PixelServiceFrameNum(const std::string &, int) override
virtual int PixelECNSectors2() override
virtual double PixelFluidThick2(int index) override
virtual int DesignCircuitsPhi(bool isModule3D=false) override
virtual double PixelLadderLength() override
virtual double PixelPigtailEndY() override
virtual double PixelTMTWidthY(int iPart) override
virtual double PixelLadderCableOffsetY() override
virtual double PixelOmegaGlueStartX(int index) override
virtual double PixelLadderModuleDeltaZ() override
virtual double DBMBrcktFinLongZ() override
virtual double DBMBrcktWindowCenterZ() override
virtual double DBMBrcktSideBlockX() override
virtual double PixelAlTubeLength() override
virtual double PixelOmegaStartY() override
virtual int PixelFluidOrient(int layer, int phi) override
virtual double DBMTrapezBackShortZ() override
virtual bool IBLFlexAndWingDefined() override
virtual double DBMCoolingSidePlateY() override
virtual double PixelOmegaEndY() override
virtual double DBMMainPlateX() override
virtual int PixelECNSectors1() override
virtual int DesignDiodesEtaTotal(bool isModule3D=false) override
virtual double IBLStaveOmegaEndAngle() override
virtual double PixelFluidY(int index) override
virtual double DBMMainPlateY() override
virtual std::string PixelServiceName(const std::string &, int) override
IRDBRecordset_ptr m_PixelModuleSvc
virtual double PixelPigtailBendPhiMin() override
IRDBRecordset_ptr m_DBMModule
virtual double DBMPP0RIn() override
virtual int PixelFrameNumSides(int sectionIndex) override
IRDBRecordset_ptr m_materialTable
virtual double DBMRodRadius() override
virtual double PixelOmegaGlueThickness(int index) override
virtual double PixelLadderServicesY() override
IRDBRecordset_ptr m_PixelDiskRing
virtual int PixelModuleStaggerSign(int etaModule) override
virtual double DBMFEI4Y() override
virtual double PixelECCablesRMin() override
IRDBRecordset_ptr m_PixelBarrelCable
virtual int PixelStaveAxe() override
virtual double PixelServiceZMax(const std::string &, int) override
virtual double IBLStaveTubeMiddlePos() override
IRDBRecordset_ptr m_PixelSwitches
virtual double PhiOfModuleZero() override
virtual bool isLDPresent() override
virtual double DBMBrcktWindowY() override
virtual double PixelFrameSideWidth(int sectionIndex) override
virtual std::string versionTag() const override
IRDBRecordset_ptr m_PixelTopLevel
virtual double DBMSpacingZ() override
virtual double PixelModuleAngle() override
virtual double PixelServiceRMax(const std::string &, int) override
virtual double PixelPigtailBendRMax() override
virtual double PixelConnectorPosY(int index) override
virtual InDetDD::DistortedMaterialManager * distortedMatManager() override
virtual void SetBarrel() override
IRDBRecordset_ptr m_PixelEnvelope
virtual bool Alignable() const override
IRDBRecordset_ptr m_PixelEndcapGeneral
virtual double PixelDiskSupportThickness(int isup) override
virtual int PixelModuleServiceFullSize(int svc) override
virtual double IBLSupportMidRingOuterRadius() override
virtual int PixelNumConnectorElements() override
virtual double PixelPigtailFlatWidthZ() override
virtual double PixelTMTPosZ1(int iPart) override
virtual void SetIBL3DModuleNumber(int nb3DModule) override
virtual double PixelChipGap(bool isModule3D=false) override
DBPixelGeoManager(PixelGeoModelAthenaComps *athenaComps)
virtual bool InitialLayout() const override
virtual int EmptyRowConnections(int index) override
virtual double IBLStaveOmegaEndCenterY() override
virtual double IBLStaveMechanicalStaveModuleOffset() override
virtual double PixelECCablesRMax() override
virtual double DBMFlexSupportX() override
virtual double PixelRMax() override
virtual InDetDD::PixelDetectorManager * GetPixelDDManager() override
std::unique_ptr< std::map< int, std::vector< int > > > m_gangedIndexMap
virtual double IBLFlexMiddleGap() override
virtual int DesignNumRowsPerChip(bool isModule3D=false) override
virtual bool isDBM() override
virtual void SetInitialLayout(bool flag) override
virtual double PixelFrameElementZMin1(int sectionIndex, int element) override
virtual int IBLStaveModuleNumber() override
virtual double PixelBarrelRMax() override
virtual IRDBRecordset_ptr getPixelServiceRecordset(const std::string &type) override
virtual double IBLStaveFlexWidth() override
virtual bool isCside() override
virtual const GeoTrf::Transform3D & partTransform(const std::string &partName) const override
virtual double IBLFlexDoglegHeight(int iHeight) override
virtual double IBLStaveFacePlateThickness() override
virtual double DBMDiamondZ() override
double PixelModuleZPositionTabulated(int etaModule, int type)
virtual double IBLStaveTubeInnerDiameter() override
virtual std::string PixelFrameCornerMaterial(int sectionIndex) override
virtual double PixelFluidWidth(int index) override
virtual double PixelECCablesThickness() override
virtual double DBMPP0Thick() override
virtual double DBMSpace() override
virtual double PixelFluidZ1(int index) override
virtual int PixelServiceLD(const std::string &, int) override
virtual double PixelOmegaLowerBendRadius() override
virtual int DesignDiodeColumnsPerCircuit(bool isModule3D=false) override
IRDBRecordset_ptr m_PixelAlTube
virtual double IBLStaveFlexBaseThickness() override
virtual double IBLFlexPP0Rmax(int iPos) override
virtual double IBLFlexDoglegRatio() override
virtual double PixelOmegaLowerBendY() override
virtual double PixelAlTubeLowerBendY() override
IRDBRecordset_ptr m_PixelSimpleService
virtual int PixelStaveLayout() override
virtual double IBLServiceGetMaxRadialPosition(const std::string &srvName, const std::string &srvType, double srvZmin, double srvZmax) override
virtual double IBLStaveMechanicalStaveEndBlockOmegaOverlap() override
virtual double PixelPigtailBendRMin() override
virtual GeoTrf::Vector3D IBLStaveRotationAxis() override
virtual double IBLStaveMechanicalStaveWidth() override
std::unique_ptr< PixelMaterialMap > m_materialMap
virtual double PixelFrameRMinSide(int sectionIndex) override
IRDBRecordset_ptr m_PixelDisk
std::unique_ptr< PixelLegacyManager > m_legacyManager
virtual double PixelPigtailThickness() override
virtual bool DoServices() override
virtual double PixelCableThickness(int index) override
virtual int DesignDiodesPhiTotal(bool isModule3D=false) override
virtual bool oldFrame() override
virtual double PixelLadderBentStaveAngle() override
virtual bool isDiskBack() const override
virtual double IBLStaveOmegaGlueThickness() override
virtual double PixelConnectorPosZ(int index) override
virtual double PixelFluidZ2(int index) override
virtual bool PixelServiceZsymm(const std::string &, int) override
virtual double PixelDiskSupportRMax(int isup) override
IRDBRecordset_ptr m_PixelCommon
virtual bool PixelTMTPerModule(int iPart) override
virtual double IBLStaveFlexWingThick() override
virtual double PixelModuleServiceThick(int svc) override
IRDBRecordset_ptr m_PixelLayer
virtual double PixelOmegaGlueStartY(int index) override
virtual double DesignPitchZLong(bool isModule3D=false) override
IRDBRecordset_ptr m_PixelIBLGlueGrease
virtual double PixelCableStackOffset(int index) override
virtual double DBMBrcktFinHeight() override
std::unique_ptr< std::map< int, std::vector< int > > > m_frameElementMap
virtual void SetDC1Geometry(bool flag) override
virtual int PixelBarrelNLayer() override
virtual double PixelOmegaGlueLength(int index) override
virtual double PixelOmegaWallThickness() override
virtual double PixelModuleServiceOffsetZ(int svc) override
virtual std::string PixelModuleServiceMaterial(int svc) override
virtual bool dbm() const override
virtual int PixelStaveIndex(int layer) override
virtual bool isBarrel() override
virtual double IBLFlexPP0Z(int iPos) override
virtual double DBMTelescopeY() override
virtual double PixelModuleServiceWidth(int svc) override
virtual int PixelBentStaveNModule() override
virtual double PixelLadderThicknessClearance() override
IRDBRecordset_ptr m_PixelIBLSupport
virtual double DBMFlexSupportOffset() override
virtual double IBLStaveFlexLayerThickness() override
virtual double PixelLadderThickness() override
virtual double PixelTMTWidthX1(int iPart) override
virtual double IBLSupportRingOuterRadius() override
virtual double PixelFramePhiStart(int sectionIndex) override
std::unique_ptr< TopLevelPlacements > m_placements
virtual double PixelEndcapRMax() override
virtual int PixelECCarbonMaterialTypeNum(std::string) override
virtual double IBLStaveOmegaMidCenterX() override
virtual double PixelFrameZMax(int sectionIndex) override
virtual void SetCurrentLD(int i) override
Interface class to access geometry database with possibility to override parameters from a text file.
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
IRDBRecord is one record in the IRDBRecordset object.
Definition IRDBRecord.h:27
const IGeometryDBSvc * geomDB() const
Class to store map between pair of two ints and an int.
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated pixel ...
Helper class to concentrate common items, such as the pointer to the IdHelper, the lorentzAngle tool ...
InDetMaterialManager.
Class to hold various Athena components.
PixelGeoModelAthenaComps * athenaComps()
PixelGeometryManager(PixelGeoModelAthenaComps *athenaComps)
This is an Identifier helper class for the Pixel subdetector.
Definition PixelID.h:69
Message Stream Member.
Definition index.py:1