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