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