11#include "GaudiKernel/SystemOfUnits.h"
28 return m_rdb->brlSki()->getInt(
"SKIFIRSTSTAGGER");
34 return m_rdb->brlSki()->getDouble(
"SKIRADIALSEP") * Gaudi::Units::mm;
40 return m_rdb->brlSkiZSize();
46 return m_rdb->brlSkiZ(
index)->getDouble(
"ZPOSITION") * Gaudi::Units::mm;
52 return m_rdb->brlSkiZ(
index)->getInt(
"MODULEID");
61 return m_rdb->brlLayer(iLayer)->getDouble(
"TILT") * Gaudi::Units::degree;
67 return m_rdb->brlLayer(iLayer)->getInt(
"STEREOSIGN");
74 return m_rdb->brlLayer(iLayer)->getDouble(
"RADIUS") * Gaudi::Units::mm;
80 return m_rdb->brlLayer(iLayer)->getInt(
"SKISPERLAYER");
86 return m_rdb->brlLayer(iLayer)->getDouble(
"BRACKETPHIOFFSET") * Gaudi::Units::deg;
94 if (
m_rdb->brlLayer(iLayer)->isFieldNull(
"PHIOFREFMODULE")) {
95 return 90*Gaudi::Units::deg -
tilt(iLayer);
97 return m_rdb->brlLayer(iLayer)->getDouble(
"PHIOFREFMODULE") * Gaudi::Units::deg;
107 return m_rdb->brlSki()->getDouble(
"BRACKETTHICKNESS") * Gaudi::Units::mm;
113 return m_rdb->brlSki()->getDouble(
"BRACKETWIDTH") * Gaudi::Units::mm;
119 return m_rdb->brlSki()->getDouble(
"BRACKETLENGTH") * Gaudi::Units::mm;
125 return m_rdb->brlSki()->getString(
"BRACKETMATERIAL");
134 return m_rdb->brlSki()->getDouble(
"DOGLEGTHICKNESS") * Gaudi::Units::mm;
140 return m_rdb->brlSki()->getDouble(
"DOGLEGWIDTH") * Gaudi::Units::mm;
146 return m_rdb->brlSki()->getDouble(
"DOGLEGLENGTH") * Gaudi::Units::mm;
152 return m_rdb->brlSki()->getString(
"DOGLEGMATERIAL");
158 return m_rdb->brlSki()->getDouble(
"DOGLEGOFFSETX") * Gaudi::Units::mm;
164 return m_rdb->brlSki()->getDouble(
"DOGLEGOFFSETY") * Gaudi::Units::mm;
173 return m_rdb->brlSki()->getDouble(
"COOLINGBLOCKTHICK") * Gaudi::Units::mm;
179 return m_rdb->brlSki()->getDouble(
"COOLINGBLOCKWIDTH") * Gaudi::Units::mm;
185 return m_rdb->brlSki()->getDouble(
"COOLINGBLOCKLENGTH") * Gaudi::Units::mm;
191 return m_rdb->brlSki()->getString(
"COOLINGBLOCKMATERIAL");
197 return m_rdb->brlSki()->getDouble(
"COOLINGBLOCKOFFSETX") * Gaudi::Units::mm;
203 return m_rdb->brlSki()->getDouble(
"COOLINGBLOCKOFFSETY") * Gaudi::Units::mm;
209 return m_rdb->brlSki()->getDouble(
"COOLINGBLOCKOFFSETZ") * Gaudi::Units::mm;
218 return m_rdb->brlSki()->getDouble(
"COOLINGPIPERADIUS") * Gaudi::Units::mm;
224 return m_rdb->brlSki()->getString(
"COOLINGPIPEMATERIAL");
230 return m_rdb->brlSki()->getDouble(
"COOLINGPIPEOFFSETX") * Gaudi::Units::mm;
236 return m_rdb->brlSki()->getDouble(
"COOLINGPIPEOFFSETY") * Gaudi::Units::mm;
246 return m_rdb->brlSki()->getDouble(
"POWERTAPETHICKNESS") * Gaudi::Units::mm;
252 return m_rdb->brlSki()->getDouble(
"POWERTAPEWIDTH") * Gaudi::Units::mm;
258 return m_rdb->brlSki()->getString(
"POWERTAPEMATERIAL");
264 return m_rdb->brlSki()->getDouble(
"POWERTAPESTARTOFFSET") * Gaudi::Units::mm;
273 return m_rdb->brlSki()->getDouble(
"HARNESSTHICKNESS") * Gaudi::Units::mm;
279 return m_rdb->brlSki()->getDouble(
"HARNESSWIDTH") * Gaudi::Units::mm;
285 return m_rdb->brlSki()->getString(
"HARNESSMATERIAL");
294 return m_rdb->brlServPerLayer(iLayer)->getDouble(
"SUPPORTCYLINNERRAD") * Gaudi::Units::mm;
306 return m_rdb->brlServPerLayer(iLayer)->getDouble(
"SUPPORTCYLDELTAR") * Gaudi::Units::mm;
312 return m_rdb->brlServPerLayer(iLayer)->getString(
"SUPPORTCYLMATERIAL");
322 return m_rdb->brlServPerLayer(iLayer)->getDouble(
"FLANGEDELTAZ") * Gaudi::Units::mm;
328 return m_rdb->brlServPerLayer(iLayer)->getDouble(
"FLANGEDELTAR") * Gaudi::Units::mm;
334 return m_rdb->brlServPerLayer(iLayer)->getString(
"FLANGEMATERIAL");
343 return m_rdb->brlServPerLayer(iLayer)->getDouble(
"CLAMPDELTAZ") * Gaudi::Units::mm;
349 return m_rdb->brlServPerLayer(iLayer)->getDouble(
"CLAMPDELTAR") * Gaudi::Units::mm;
355 return m_rdb->brlServPerLayer(iLayer)->getString(
"CLAMPMATERIAL");
364 return m_rdb->brlServPerLayer(iLayer)->getDouble(
"COOLINGENDDELTAR") * Gaudi::Units::mm;
370 return m_rdb->brlServPerLayer(iLayer)->getString(
"COOLINGENDMATERIAL");
379 return m_rdb->brlServPerLayer(iLayer)->getDouble(
"CLOSEOUTDELTAZ") * Gaudi::Units::mm;
385 return m_rdb->brlServPerLayer(iLayer)->getString(
"CLOSEOUTMATERIAL");
394 return m_rdb->brlServices()->getDouble(
"INTERLINKDELTAZ") * Gaudi::Units::mm;
400 return m_rdb->brlServices()->getDouble(
"INTERLINKINNERRADIUS") * Gaudi::Units::mm;
406 return m_rdb->brlServices()->getDouble(
"INTERLINKOUTERRADIUS") * Gaudi::Units::mm;
412 return m_rdb->brlServices()->getString(
"INTERLINKMATERIAL");
418 if (
m_rdb->brlServices()->isFieldNull(
"INTERLINKDPHI")) {
419 return 360.*Gaudi::Units::deg;
421 return m_rdb->brlServices()->getDouble(
"INTERLINKDPHI") * Gaudi::Units::deg;
427 if (
m_rdb->brlServices()->isFieldNull(
"INTERLINKPHIPOS")) {
430 return m_rdb->brlServices()->getDouble(
"INTERLINKPHIPOS") * Gaudi::Units::deg;
436 if (
m_rdb->brlServices()->isFieldNull(
"INTERLINKNREPEAT")) {
439 return m_rdb->brlServices()->getInt(
"INTERLINKNREPEAT");
445 if (
m_rdb->brlServices()->isFieldNull(
"BEARINGDPHI")) {
448 return m_rdb->brlServices()->getDouble(
"BEARINGDPHI") * Gaudi::Units::deg;
454 if (
m_rdb->brlServices()->isFieldNull(
"BEARINGPHIPOS")) {
457 return m_rdb->brlServices()->getDouble(
"BEARINGPHIPOS") * Gaudi::Units::deg;
463 if (
m_rdb->brlServices()->isFieldNull(
"BEARINGNREPEAT")) {
466 return m_rdb->brlServices()->getInt(
"BEARINGNREPEAT");
472 if (
m_rdb->brlServices()->isFieldNull(
"BEARINGMATERIAL")) {
475 return m_rdb->brlServices()->getString(
"BEARINGMATERIAL");
484 return m_rdb->brlFSISize() > 0;
490 return m_rdb->brlFSI()->getDouble(
"FLANGEINNERRADIUS") * Gaudi::Units::mm;
496 return m_rdb->brlFSI()->getDouble(
"FLANGEOUTERRADIUS") * Gaudi::Units::mm;
502 return m_rdb->brlFSI()->getString(
"FLANGEMATERIAL");
508 return m_rdb->brlFSI()->getDouble(
"FIBREMASKDELTAR") * Gaudi::Units::mm;
514 return m_rdb->brlFSI()->getString(
"FIBREMASKMATERIAL");
520 return m_rdb->brlFSI()->getDouble(
"ENDJEWELRADIALWIDTH") * Gaudi::Units::mm;
526 return m_rdb->brlFSI()->getDouble(
"ENDJEWELRPHIWIDTH") * Gaudi::Units::mm;
532 return m_rdb->brlFSI()->getDouble(
"ENDJEWELLENGTH") * Gaudi::Units::mm;
538 return m_rdb->brlFSI()->getString(
"ENDJEWELMATERIAL");
544 return m_rdb->brlFSILocation(iLayer)->getInt(
"ENDJEWELNREPEAT");
550 return m_rdb->brlFSILocation(iLayer)->getDouble(
"ENDJEWELPHI") * Gaudi::Units::degree;
556 return m_rdb->brlFSILocation(iLayer)->getDouble(
"ENDJEWELZ") * Gaudi::Units::mm;
562 return m_rdb->brlFSI()->getDouble(
"SCORPIONRADIALWIDTH") * Gaudi::Units::mm;
568 return m_rdb->brlFSI()->getDouble(
"SCORPIONRPHIWIDTH") * Gaudi::Units::mm;
574 return m_rdb->brlFSI()->getDouble(
"SCORPIONLENGTH") * Gaudi::Units::mm;
580 return m_rdb->brlFSI()->getString(
"SCORPIONMATERIAL");
586 return m_rdb->brlFSILocation(iLayer)->getInt(
"SCORPIONNREPEAT");
592 return m_rdb->brlFSILocation(iLayer)->getDouble(
"SCORPIONPHI") * Gaudi::Units::degree;
598 return m_rdb->brlFSILocation(iLayer)->getDouble(
"SCORPIONZ") * Gaudi::Units::mm;
608 return m_rdb->brlServices()->getDouble(
"SPIDERDELTAZ") * Gaudi::Units::mm;
614 return m_rdb->brlServices()->getDouble(
"SPIDERINNERRADIUS") * Gaudi::Units::mm;
620 return m_rdb->brlServices()->getDouble(
"SPIDEROUTERRADIUS") * Gaudi::Units::mm;
626 return m_rdb->brlServices()->getString(
"SPIDERMATERIAL");
635 return m_rdb->brlThermalShield()->getDouble(
"INNERRADIUS") * Gaudi::Units::mm;
641 return m_rdb->brlThermalShield()->getDouble(
"OUTERRADIUS") * Gaudi::Units::mm;
647 return m_rdb->brlThermalShield()->getDouble(
"ENDZMAX") * Gaudi::Units::mm;
653 return m_rdb->brlThermalShield()->getDouble(
"CYLTOTALTHICKNESS") * Gaudi::Units::mm;
659 return m_rdb->brlThermalShield()->getDouble(
"CYLINNERWALLTHICK") * Gaudi::Units::mm;
665 return m_rdb->brlThermalShield()->getDouble(
"CYLOUTERWALLTHICK") * Gaudi::Units::mm;
671 return m_rdb->brlThermalShield()->getDouble(
"SPACERZWIDTH") * Gaudi::Units::mm;
677 return m_rdb->brlThermalShield()->getDouble(
"FIRSTSPACERZMIN") * Gaudi::Units::mm;
683 return m_rdb->brlThermalShield()->getDouble(
"ENDCAPCYLTHICKNESS") * Gaudi::Units::mm;
689 return m_rdb->brlThermalShield()->getDouble(
"ENDCAPTHICKNESS") * Gaudi::Units::mm;
695 return m_rdb->brlThermalShield()->getDouble(
"BULKHEADINNERRADIUS") * Gaudi::Units::mm;
701 return m_rdb->brlThermalShield()->getDouble(
"BULKHEADOUTERRADIUS") * Gaudi::Units::mm;
707 return m_rdb->brlThermalShield()->getDouble(
"ENDPANELINNERRADIUS") * Gaudi::Units::mm;
713 return m_rdb->brlThermalShield()->getDouble(
"ENDPANELOUTERRADIUS") * Gaudi::Units::mm;
719 return m_rdb->brlThermalShield()->getString(
"MATERIALSPACER");
725 return m_rdb->brlThermalShield()->getString(
"MATERIALCYL");
731 return m_rdb->brlThermalShield()->getString(
"MATERIALOUTERSECT");
737 return m_rdb->brlThermalShield()->getString(
"MATERIALINNERSECT");
746 return m_rdb->brlServices()->getDouble(
"EMIINNERRADIUS") * Gaudi::Units::mm;
752 return m_rdb->brlServices()->getDouble(
"EMIDELTAR") * Gaudi::Units::mm;
758 return m_rdb->brlServices()->getDouble(
"EMIZMAX") * Gaudi::Units::mm;
764 return m_rdb->brlServices()->getString(
"EMIMATERIAL");
770 return m_rdb->brlServices()->getDouble(
"EMIJOINTDELTAR") * Gaudi::Units::mm;
776 return m_rdb->brlServices()->getDouble(
"EMIJOINTRPHI") * Gaudi::Units::mm;
782 return m_rdb->brlServices()->getString(
"EMIJOINTMATERIAL");
793 return m_rdb->brlServices()->getDouble(
"PIXELATTACHINNERRAD") * Gaudi::Units::mm;
799 return m_rdb->brlServices()->getDouble(
"PIXELATTACHOUTERRAD") * Gaudi::Units::mm;
805 return m_rdb->brlServices()->getDouble(
"PIXELATTACHZMIN") * Gaudi::Units::mm;
811 return m_rdb->brlServices()->getDouble(
"PIXELATTACHDELTAZ") * Gaudi::Units::mm;
817 return m_rdb->brlServices()->getString(
"PIXELATTACHMATERIAL");
826 return m_rdb->brlGeneral()->getInt(
"NUMLAYERS");
832 return m_rdb->brlGeneral()->getDouble(
"INNERRADIUS") * Gaudi::Units::mm;
838 return m_rdb->brlGeneral()->getDouble(
"OUTERRADIUS") * Gaudi::Units::mm;
844 return m_rdb->brlGeneral()->getDouble(
"LENGTH") * Gaudi::Units::mm;
850 return m_rdb->brlGeneral()->getDouble(
"CYLINDERLENGTH") * Gaudi::Units::mm;
856 return m_rdb->brlGeneral()->getDouble(
"ACTIVELENGTH") * Gaudi::Units::mm;
862 return m_rdb->brlGeneral()->isFieldNull(
"CYLINDERLENGTH");
Definition of the abstract IRDBRecord interface.
double thermalShieldBulkheadInnerRadius() const
double spiderOuterRadius() const
double fsiScorpionLength() const
double thermalShieldCylTotalThickness() const
double fsiScorpionZ(int iLayer) const
std::string closeOutMaterial(int iLayer) const
double thermalShieldEndPanelInnerRadius() const
std::string thermalShieldMaterialCyl() const
double cylinderLength() const
std::string thermalShieldMaterialOuterSect() const
std::string coolingEndMaterial(int iLayer) const
double radius(int iLayer) const
double layerPhiOfRefModule(int iLayer) const
std::string doglegMaterial() const
double emiShieldZMax() const
double pixelAttachmentInnerRadius() const
double doglegLength() const
std::string coolingPipeMaterial() const
double pixelAttachmentZMin() const
double fsiFlangeOuterRadius() const
double thermalShieldSpacerZWidth() const
double supportCylInnerRadius(int iLayer) const
double clampDeltaR(int iLayer) const
double coolingBlockLength() const
double harnessWidth() const
double interLinkDeltaZ() const
SCT_BarrelParameters(SCT_DataBase *rdb)
double layerBracketPhiOffset(int iLayer) const
double bearingDeltaPhi() const
double coolingBlockWidth() const
int skiModuleIdentifier(int index) const
double bearingPhiPos() const
std::string pixelAttachmentMaterial() const
double fsiScorpionRPhiWidth() const
double fsiFibreMaskDeltaR() const
double doglegOffsetX() const
double interLinkInnerRadius() const
double thermalShieldInnerRadius() const
double supportCylDeltaR(int iLayer) const
double coolingBlockOffsetZ() const
double coolingBlockOffsetX() const
bool isOldGeometry() const
double powerTapeThickness() const
std::string coolingBlockMaterial() const
std::string fsiFlangeMaterial() const
int skisPerLayer(int iLayer) const
double flangeDeltaZ(int iLayer) const
std::string fsiFibreMaskMaterial() const
double clampDeltaZ(int iLayer) const
std::string bearingMaterial() const
double barrelOuterRadius() const
std::string emiJointMaterial() const
std::string fsiScorpionMaterial() const
double thermalShieldBulkheadOuterRadius() const
double coolingPipeRadius() const
double barrelInnerRadius() const
std::string thermalShieldMaterialSpacer() const
double thermalShieldFirstSpacerZMin() const
double spiderInnerRadius() const
double thermalShieldEndCapCylThickness() const
double powerTapeWidth() const
double fsiScorpionPhi(int iLayer) const
double coolingBlockThickness() const
double powerTapeStartPointOffset() const
double fsiEndJewelZ(int iLayer) const
std::string supportCylMaterial(int iLayer) const
std::string interLinkMaterial() const
std::string emiShieldMaterial() const
double doglegThickness() const
double pixelAttachmentOuterRadius() const
double thermalShieldCylInnerWallThickness() const
double flangeDeltaR(int iLayer) const
double emiShieldDeltaR() const
double coolingPipeOffsetY() const
int interLinkNRepeat() const
std::string fsiEndJewelMaterial() const
double coolingBlockOffsetY() const
double skiRadialSep() const
double fsiEndJewelRPhiWidth() const
int fsiScorpionNRepeat(int iLayer) const
int skiFirstStagger() const
double pixelAttachmentDeltaZ() const
std::string bracketMaterial() const
std::string spiderMaterial() const
double coolingEndDeltaR(int iLayer) const
double thermalShieldEndPanelOuterRadius() const
int fsiEndJewelNRepeat(int iLayer) const
int bearingNRepeat() const
std::string thermalShieldMaterialInnerSect() const
double thermalShieldEndZMax() const
std::string harnessMaterial() const
double fsiEndJewelRadialWidth() const
std::string powerTapeMaterial() const
double closeOutDeltaZ(int iLayer) const
double bracketThickness() const
double doglegOffsetY() const
double bracketWidth() const
double emiJointRPhi() const
double thermalShieldEndCapThickness() const
double interLinkDeltaPhi() const
double bracketLength() const
double supportCylOuterRadius(int iLayer) const
double thermalShieldCylOuterWallThickness() const
std::string clampMaterial(int iLayer) const
double doglegWidth() const
double interLinkOuterRadius() const
double coolingPipeOffsetX() const
double fsiEndJewelPhi(int iLayer) const
double emiJointDeltaR() const
double emiShieldInnerRadius() const
int modulesPerSki() const
double interLinkPhiPos() const
double activeLength() const
double fsiEndJewelLength() const
double tilt(int iLayer) const
double fsiScorpionRadialWidth() const
int layerStereoSign(int iLayer) const
double spiderDeltaZ() const
double harnessThickness() const
std::string flangeMaterial(int iLayer) const
double thermalShieldOuterRadius() const
double skiZPosition(int index) const
double fsiFlangeInnerRadius() const
double barrelLength() const