19#include "GeoModelKernel/GeoMaterial.h"
20#include "GeoModelKernel/Units.h"
34#include "GaudiKernel/SystemOfUnits.h"
73 if (
msgLvl(MSG::DEBUG))
msg(MSG::DEBUG) <<
"Using ORACLE PIXEL GEOMETRY MANAGER" <<
endmsg;
80 const std::string& detectorKey = versionKey.
tag();
81 const std::string& detectorNode = versionKey.
node();
96 msg(MSG::INFO) <<
"Retrieving Record Sets from database ..." <<
endmsg;
97 msg(MSG::INFO) <<
"Key = " << detectorKey <<
" Node = " << detectorNode <<
endmsg;
163 m_legacyManager = std::make_unique<PixelLegacyManager>(rdbSvc, detectorKey, detectorNode);
166 if(
msgLvl(MSG::INFO))
msg(MSG::INFO) <<
"... Record Sets retrieved." <<
endmsg;
259const GeoTrf::Transform3D &
270 if (partName ==
"Barrel") {
271 if (
db()->testField(
"PixelCommon",
"DOBARREL")) {
272 return db()->
getInt(
"PixelCommon",
"DOBARREL");
274 }
else if (partName ==
"EndcapA" || partName ==
"EndcapC") {
275 if (
db()->testField(
"PixelCommon",
"DOENDCAPS")) {
276 return db()->
getInt(
"PixelCommon",
"DOENDCAPS");
294 msg(MSG::ERROR) <<
"Layer set out of bounds: " << i <<
", Setting it to 0" <<
endmsg;
303 msg(MSG::ERROR) <<
"Disk set out of bounds: " << i <<
", Setting it to 0" <<
endmsg;
312 msg(MSG::ERROR) <<
"DBM: Disk set out of bounds: " << i <<
", Setting it to 0" <<
endmsg;
342 std::ostringstream
A;
350 std::ostringstream
A;
402 if (
sc.isFailure()) {
403 msg(MSG::ERROR) <<
"Cannot retrieve PixelDetectorManager" <<
endmsg;
423 GeoIntrusivePtr<const GeoMaterial> material{
m_pMatMgr->getMaterial(mat)};
424 double rl = material->getRadLength();
425 return -1.*rl*tck/100.;
470 if(
ibl()&&isModule3D){
479 if(
ibl()&&isModule3D)
488 return 200*Gaudi::Units::micrometer;
491 if(
ibl()&&isModule3D)
509 if(
ibl()&&isModule3D)
517 if(
ibl()&&isModule3D)
525 if(
ibl()&&isModule3D)
539 if(
ibl()&&isModule3D)
547 if(
ibl()&&isModule3D)
555 if(
ibl()&&isModule3D)
574 if(
ibl()&&isModule3D)
659 }
else if(
a ==
"Central") {
672 }
else if(
a ==
"Central") {
685 }
else if(
a ==
"Central") {
700 }
else if(
a ==
"Central") {
769 return (rmin>0 && zmin > 0.000001);
786 rmax = rtmp *
mmcm();
819 if(zmin * zout > -0.000000001) {
820 zmax = zout *
mmcm();
823 double sign = (zmin > 0) ? 1: -1;
855 if (
type ==
"simple")
return "TUBE";
880 if (
type !=
"simple") {
883 std::string materialName;
888 if(
type ==
"barrel") {
901 materialName = mat[imat-1];
903 if(
type ==
"endcap") {
909 materialName = mat[imat-1];
923 if (framenum <= 0)
return index+1;
925 if(
type ==
"barrel") {
928 if(
type ==
"endcap") {
945 if (
type !=
"envelope")
return 0;
961 if (
type ==
"envelope"){
1014 if (
type ==
"simple") {
1016 }
else if(
type ==
"barrel") {
1019 }
else if(
type ==
"endcap") {
1022 }
else if(
type ==
"envelope") {
1026 msg(MSG::ERROR) <<
"ERROR: getPixelServiceRecord(), neither Barrel of Endcap selected!" <<
endmsg;
1122 if (!(*
m_PixelLayer)[0]->isFieldNull(
"PHIOFMODULEZERO")) version = 1;
1133 return m_materialMap->getMaterial(layerdisk, typenum, volumeName);
1146 m_materialMap->addMaterial(2,0,
"AlTube",
"pix::MatAlTubeFix");
1150 m_materialMap->addMaterial(0,0,
"GlueOmegaStave",
"pix::MatGlue");
1152 m_materialMap->addMaterial(0,0,
"PigtailCyl",
"pix::MatPigtail");
1153 m_materialMap->addMaterial(0,0,
"PigtailFlat",
"pix::MatPigtail");
1155 m_materialMap->addMaterial(0,0,
"DiskCable",
"pix::ECCables");
1163 std::ostringstream o;
1178 return static_cast<int>((*m_PixelBarrelGeneral)[0]->getDouble(
"VERSION"));
1183 return static_cast<int>(((*m_PixelBarrelGeneral)[0]->getDouble(
"VERSION") -
PixelBarrelMajorVersion())*10 + 0.5);
1188 return static_cast<int>((*m_PixelEndcapGeneral)[0]->getDouble(
"VERSION"));
1193 return static_cast<int>(((*m_PixelEndcapGeneral)[0]->getDouble(
"VERSION") -
PixelEndcapMajorVersion())*10 + 0.5);
1278 if (zmin < 0)
msg(MSG::ERROR) <<
"PixelEnvelope table should only contain +ve z values" <<
endmsg;
1279 return std::abs(zmin);
1394 (*m_frameElementMap)[
section].push_back(i);
1410 msg(MSG::ERROR) <<
"Frame section " <<
section <<
" has no elements." <<
endmsg;
1412 const std::vector<int> &
vec = iter->second;
1413 if (
static_cast<unsigned int>(element) >=
vec.size()) {
1414 msg(MSG::ERROR) <<
"Element index " << element <<
" for section " <<
section <<
" out of range." <<
endmsg;
1416 newIndex =
vec[element];
1429 int numElements = 0;
1433 msg(MSG::DEBUG) <<
"Frame section " <<
section <<
" has no elements." <<
endmsg;
1435 numElements = iter->second.size();
1443 if (
index < 0)
return 0;
1450 if (
index < 0)
return 0;
1457 if (
index < 0)
return 0;
1464 if (
index < 0)
return 0;
1470 if (!
ibl())
return 0;
1477 if (!
ibl())
return 0;
1478 int defaultLayout = 0;
1487 if (!
ibl())
return 0;
1520 if (
useLegacy())
return 0.9*Gaudi::Units::mm;
1533 return 0.1*Gaudi::Units::mm;
1622 if (halflength > 0)
return 2 * halflength;
1624 double safety = 0.01*Gaudi::Units::mm;
1640 double xCenterCoolingPipe = boardThick*.5+chipThick+chipGap+
1644 GeoTrf::Vector3D centerCoolingPipe(xCenterCoolingPipe, yCenterCoolingPipe, 0.);
1647 return centerCoolingPipe;
1659 GeoTrf::Vector3D origin(0.,0.,0.);
1664 GeoTrf::Transform3D staveTrf = GeoTrf::RotateZ3D(ladderTilt)*GeoTrf::Translate3D(centerCoolingPipe_inv.x(),centerCoolingPipe_inv.y(),centerCoolingPipe_inv.z());
1665 GeoTrf::Vector3D sensorPos = staveTrf*origin;
1667 double yPos = sensorPos.y();
1668 GeoTrf::Vector3D sensorPos_layer(sqrt(layerRadius*layerRadius-yPos*yPos),yPos,0.);
1670 double staveRadius = sensorPos_layer.x()-sensorPos.x();
1683 if (thickness > 0)
return thickness ;
1694 if (value > 0)
return value ;
1705 if (value > 0)
return value ;
1753 return 748.0 * Gaudi::Units::mm;
1788 if (value > 0)
return value ;
1799 if (value > 0)
return value ;
1821 if (value > 0)
return value ;
1832 if (value > 0)
return value ;
1843 if (value > 0)
return value ;
1950 if (value > 0)
return value ;
1967 if (value > 0)
return value ;
1978 if (value > 0)
return value ;
2050 if (value > 0)
return value ;
2061 if (value > 0)
return value ;
2072 if (value > 0)
return value ;
2084 if (value > 0)
return value ;
2095 if (value > 0)
return value ;
2106 if (value > 0)
return value;
2117 if (value > 0)
return value ;
2188 std::ostringstream lname;
2189 lname <<
"FLEXDOGLEGHEIGHT"<<iHeight;
2213 std::ostringstream lname;
2214 lname <<
"FLEXPP0_Z"<<iPos;
2228 std::ostringstream lname;
2229 lname <<
"FLEXPP0_S"<<iPos<<
"RMIN";
2242 std::ostringstream lname;
2243 lname <<
"FLEXPP0_S"<<iPos<<
"RMAX";
2264 if(flexTypeIdx.compare(flexType)==0)
2273 return std::string(
"noMat");
2279 double srvZmin,
double srvZmax)
2286 for(
int ii = 0; ii < numServices; ii++) {
2290 if(srvType==
"simple")
2295 if(name.find(srvName)!=std::string::npos){
2296 double zmin, zmax,
r;
2298 if(srvType==
"simple"){
2311 bool bZintervalle =
false;
2312 if( (srvZmin-zmin)*(srvZmin-zmax)<0 || (srvZmax-zmin)*(srvZmax-zmax)<0 ) bZintervalle=
true;
2313 if( symm==1 && ((-srvZmin-zmin)*(-srvZmin-zmax)<0 || (-srvZmax-zmin)*(-srvZmax-zmax)<0) ) bZintervalle=
true;
2322 if(nbSrv<1)
return -1;
2328 double srvZmin,
double srvZmax)
2335 for(
int ii = 0; ii < numServices; ii++) {
2339 if(srvType==
"simple")
2344 if(name.find(srvName)!=std::string::npos){
2346 double zmin, zmax,
r;
2348 if(srvType==
"simple"){
2361 bool bZintervalle =
false;
2362 if( (srvZmin-zmin)*(srvZmin-zmax)<0 || (srvZmax-zmin)*(srvZmax-zmax)<0 ) bZintervalle=
true;
2363 if( symm==1 && ((-srvZmin-zmin)*(-srvZmin-zmax)<0 || (-srvZmax-zmin)*(-srvZmax-zmax)<0) ) bZintervalle=
true;
2365 if(bZintervalle &&
r>rmax){
2372 if(nbSrv<1)
return -1;
2453 msg(MSG::ERROR) <<
"Z position not found for etaModule,type = " << etaModule <<
", " <<
type <<
endmsg;
2468 if (!
ibl() || !
db()->testField(
m_PixelStave,
"STAGGERDIST",staveIndex))
return 0;
2475 if (!
ibl() || !
db()->testField(
m_PixelStave,
"FIRSTSTAGGER",staveIndex))
return 0;
2479 return firstStagger * (moduleIndex%2 ? -1 : 1);
2484 bool allowSkip =
true;
2488 if (
db()->getInt(
m_PixelStave,
"NOSKIPZERO",staveIndex)) allowSkip =
false;
2504 int etaModule =
index-nModules/2;
2514 int index = etaModule + nModules/2;
2525 if(etaModule < 0)
return 1.;
2899 msg(MSG::ERROR) <<
"Unrecognized fluid volume type: " <<
type <<
endmsg;
3066 msg(MSG::ERROR) <<
"ERROR in PixelReadout size. Should not occur!" <<
endmsg;
3085 msg(MSG::ERROR) <<
"ERROR in PixelReadout size. Should not occur!" <<
endmsg;
3208 if (!
ibl())
return 1;
3234 (*m_gangedIndexMap)[testType].push_back(i);
3241 msg(MSG::ERROR) <<
"Ganged pixel type " <<
type <<
" not found." <<
endmsg;
3243 const std::vector<int> &
vec = iter->second;
3244 if (
index < 0 ||
static_cast<unsigned int>(
index) >=
vec.size()) {
3245 msg(MSG::ERROR) <<
"Ganged pixel index " <<
index <<
" for type " <<
type <<
" out of range." <<
endmsg;
3264 if (newIndex >= 0) {
3278 if (newIndex >= 0) {
3408 std::ostringstream field;
3409 field <<
"SUP"<< isup+1 <<
"RMIN";
3414 std::ostringstream field;
3415 field <<
"SUP"<< isup+1 <<
"RMAX";
3423 std::ostringstream prefix;
3424 prefix <<
"SUP"<< isup+1 <<
"THICK";
3445 return tck *
mmcm();
3458 std::ostringstream prefix;
3459 prefix <<
"SUP"<< isup+1 <<
"MAT";
3521 msg(MSG::WARNING) <<
"DBMSpacingRadial() is not found" <<
endmsg;
Scalar phi() const
phi method
std::vector< size_t > vec
Definition of the abstract IRDBAccessSvc interface.
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
Definition of the abstract IRDBRecord interface.
Definition of the abstract IRDBRecordset interface.
virtual double PixelConnectorWidthY(int index) 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
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
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 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
void addDefaultMaterials()
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 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 double DBMTelescopeX() override
virtual std::string PixelFrameSideMaterial(int sectionIndex) override
int PixelFrameSectionFromIndex(int sectionIndex)
virtual int GetLD() override
virtual double IBLStaveTubeOuterDiameter() override
virtual std::string PixelServiceShape(const std::string &a, int _n) override
const IGeometryDBSvc * db() const
virtual double IBLStaveMechanicalStaveOffset(bool isModule3D=false) override
virtual double PixelOmegaGluePosZ(int index) override
virtual double DBMCoolingSidePlateZ() override
virtual double PixelAlTubeUpperBendRadius() override
virtual double PixelTMTBaseX2(int iPart) override
virtual int PixelModuleIndexFromEta(int etaModule) override
virtual double DBMMPlateWindowHeight() override
IRDBRecordset_ptr m_DBMBracket
virtual double DBMCoolingSidePlateX() override
IRDBRecordset_ptr m_PixelOmega
virtual double PixelServiceWidth(const std::string &a, int _n) override
virtual unsigned int PixelEnvelopeNumPlanes() override
IRDBRecordset_ptr m_PixelIBLFlex
virtual double DesignPitchZ(bool isModule3D=false) override
IRDBRecordset_ptr m_weightTable
virtual double IBLFlexDoglegLength() override
int designType(bool isModule3D=false)
IRDBRecordset_ptr m_PixelConnector
virtual double PixelBarrelHalfLength() override
IRDBRecordset_ptr m_DBMCage
IRDBRecordset_ptr m_PixelEnvelopeService
virtual double IBLFlexDoglegDY() override
virtual int DesignCellRowsPerCircuit(bool isModule3D=false) override
virtual int IBLStaveModuleNumber_AllPlanar() override
virtual double PixelHybridLength(bool isModule3D=false) override
virtual double PixelPigtailEnvelopeLength() override
virtual bool centerModule(int etaModule) override
virtual double PixelEndcapZMax() override
IRDBRecordset_ptr m_staveTypeTable
virtual double DBMFlexSupportZ() override
virtual int DesignCircuitsEta(bool isModule3D=false) override
IRDBRecordset_ptr m_PixelIBLStave
virtual int PixelModuleEtaFromIndex(int index) override
virtual int DesignNumChipsPhi(bool isModule3D=false) override
virtual double DesignGapRP(bool isModule3D=false) override
double getPixelServiceRecordDouble(const std::string &name, const std::string &type, int index)
IRDBRecordset_ptr m_PixelTMT
virtual double IBLSupportMechanicalStaveRingFixPoint() override
virtual double PixelLadderTilt() override
virtual double DBMBrcktSideBlockY() override
virtual double PixelAlTubeWallThickness() override
virtual bool allowSkipEtaZero() override
virtual double DBMCeramicZ() override
virtual double PixelEnvelopeRMax(int i) override
IRDBRecordset_ptr m_dbmWeightTable
virtual double PixelModuleAngleSign(int) override
virtual double DBMBrcktFinPos() override
virtual double PixelServiceRMax2(const std::string &, int) override
virtual double IBLStaveOmegaEndCenterX() override
virtual int DesignDiodeRowsPerCircuit(bool isModule3D=false) override
virtual 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 double PixelECCarbonThickness(std::string) override
virtual int PixelDiskNumSupports() override
virtual int PixelBarrelMajorVersion() override
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 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 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 bool DoServicesOnLadder() 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 double DBMMainPlateZ() 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 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
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 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 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 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 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
bool isInnermostPixelLayer()
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 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
double m_defaultLengthUnit
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
This is a helper class to query the version tags from GeoModelSvc and determine the appropriate tag a...
const std::string & tag() const
Return version tag.
const std::string & node() const
Return the version node.
virtual bool testField(IRDBRecordset_ptr recordSet, const std::string &name, int index=0) const =0
virtual std::string getString(IRDBRecordset_ptr recordSet, const std::string &name, int index=0) const =0
virtual int getInt(IRDBRecordset_ptr recordSet, const std::string &name, int index=0) const =0
virtual double getDouble(IRDBRecordset_ptr recordSet, const std::string &name, int index=0) const =0
The following methods will first look in the text file if provided and then look in the database.
virtual unsigned int getTableSize(IRDBRecordset_ptr recordSet) const =0
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
virtual std::string getChildTag(const std::string &childNode, const std::string &parentTag, const std::string &parentNode, const std::string &connName="ATLASDD")=0
Gets the tag name for the node by giving its parent node tag.
virtual IRDBRecordset_ptr getRecordsetPtr(const std::string &node, const std::string &tag, const std::string &tag2node="", const std::string &connName="ATLASDD")=0
Provides access to the Recordset object containing HVS-tagged data.
const StoreGateSvc * detStore() const
IRDBAccessSvc * rdbAccessSvc()
const IGeoDbTagSvc * geoDbTagSvc() const
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 ...
Class to hold various Athena components.
const PixelID * getIdHelper() const
PixelGeoModelAthenaComps * athenaComps()
PixelGeometryManager(PixelGeoModelAthenaComps *athenaComps)
bool msgLvl(MSG::Level lvl) const
This is an Identifier helper class for the Pixel subdetector.
StatusCode retrieve(const T *&ptr) const
Retrieve the default object into a const T*.
std::string description
glabal timer - how long have I taken so far?
=============================================================================
hold the test vectors and ease the comparison