19#include "GeoModelKernel/GeoMaterial.h"
20#include "GeoModelKernel/Units.h"
34#include "GaudiKernel/SystemOfUnits.h"
78 if (
msgLvl(MSG::DEBUG))
msg(MSG::DEBUG) <<
"Using ORACLE PIXEL GEOMETRY MANAGER" <<
endmsg;
85 const std::string& detectorKey = versionKey.
tag();
86 const std::string& detectorNode = versionKey.
node();
101 msg(MSG::INFO) <<
"Retrieving Record Sets from database ..." <<
endmsg;
102 msg(MSG::INFO) <<
"Key = " << detectorKey <<
" Node = " << detectorNode <<
endmsg;
171 if(
msgLvl(MSG::INFO))
msg(MSG::INFO) <<
"... Record Sets retrieved." <<
endmsg;
274const GeoTrf::Transform3D &
285 if (partName ==
"Barrel") {
286 if (
db()->testField(
"PixelCommon",
"DOBARREL")) {
287 return db()->
getInt(
"PixelCommon",
"DOBARREL");
289 }
else if (partName ==
"EndcapA" || partName ==
"EndcapC") {
290 if (
db()->testField(
"PixelCommon",
"DOENDCAPS")) {
291 return db()->
getInt(
"PixelCommon",
"DOENDCAPS");
309 msg(MSG::ERROR) <<
"Layer set out of bounds: " << i <<
", Setting it to 0" <<
endmsg;
318 msg(MSG::ERROR) <<
"Disk set out of bounds: " << i <<
", Setting it to 0" <<
endmsg;
327 msg(MSG::ERROR) <<
"DBM: Disk set out of bounds: " << i <<
", Setting it to 0" <<
endmsg;
357 std::ostringstream
A;
365 std::ostringstream
A;
417 if (
sc.isFailure()) {
418 msg(MSG::ERROR) <<
"Cannot retrieve PixelDetectorManager" <<
endmsg;
438 GeoIntrusivePtr<const GeoMaterial> material{
m_pMatMgr->getMaterial(mat)};
439 double rl = material->getRadLength();
440 return -1.*rl*tck/100.;
485 if(
ibl()&&isModule3D){
494 if(
ibl()&&isModule3D)
503 return 200*Gaudi::Units::micrometer;
506 if(
ibl()&&isModule3D)
524 if(
ibl()&&isModule3D)
532 if(
ibl()&&isModule3D)
540 if(
ibl()&&isModule3D)
554 if(
ibl()&&isModule3D)
562 if(
ibl()&&isModule3D)
570 if(
ibl()&&isModule3D)
589 if(
ibl()&&isModule3D)
674 }
else if(
a ==
"Central") {
687 }
else if(
a ==
"Central") {
700 }
else if(
a ==
"Central") {
715 }
else if(
a ==
"Central") {
784 return (rmin>0 && zmin > 0.000001);
801 rmax = rtmp *
mmcm();
834 if(zmin * zout > -0.000000001) {
835 zmax = zout *
mmcm();
838 double sign = (zmin > 0) ? 1: -1;
870 if (
type ==
"simple")
return "TUBE";
895 if (
type !=
"simple") {
898 std::string materialName;
903 if(
type ==
"barrel") {
916 materialName = mat[imat-1];
918 if(
type ==
"endcap") {
924 materialName = mat[imat-1];
938 if (framenum <= 0)
return index+1;
940 if(
type ==
"barrel") {
943 if(
type ==
"endcap") {
960 if (
type !=
"envelope")
return 0;
976 if (
type ==
"envelope"){
1029 if (
type ==
"simple") {
1031 }
else if(
type ==
"barrel") {
1034 }
else if(
type ==
"endcap") {
1037 }
else if(
type ==
"envelope") {
1041 msg(MSG::ERROR) <<
"ERROR: getPixelServiceRecord(), neither Barrel of Endcap selected!" <<
endmsg;
1137 if (!(*
m_PixelLayer)[0]->isFieldNull(
"PHIOFMODULEZERO")) version = 1;
1148 return m_materialMap->getMaterial(layerdisk, typenum, volumeName);
1161 m_materialMap->addMaterial(2,0,
"AlTube",
"pix::MatAlTubeFix");
1165 m_materialMap->addMaterial(0,0,
"GlueOmegaStave",
"pix::MatGlue");
1167 m_materialMap->addMaterial(0,0,
"PigtailCyl",
"pix::MatPigtail");
1168 m_materialMap->addMaterial(0,0,
"PigtailFlat",
"pix::MatPigtail");
1170 m_materialMap->addMaterial(0,0,
"DiskCable",
"pix::ECCables");
1178 std::ostringstream o;
1193 return static_cast<int>((*m_PixelBarrelGeneral)[0]->getDouble(
"VERSION"));
1198 return static_cast<int>(((*m_PixelBarrelGeneral)[0]->getDouble(
"VERSION") -
PixelBarrelMajorVersion())*10 + 0.5);
1203 return static_cast<int>((*m_PixelEndcapGeneral)[0]->getDouble(
"VERSION"));
1208 return static_cast<int>(((*m_PixelEndcapGeneral)[0]->getDouble(
"VERSION") -
PixelEndcapMajorVersion())*10 + 0.5);
1293 if (zmin < 0)
msg(MSG::ERROR) <<
"PixelEnvelope table should only contain +ve z values" <<
endmsg;
1294 return std::abs(zmin);
1409 (*m_frameElementMap)[
section].push_back(i);
1425 msg(MSG::ERROR) <<
"Frame section " <<
section <<
" has no elements." <<
endmsg;
1427 const std::vector<int> &
vec = iter->second;
1428 if (
static_cast<unsigned int>(element) >=
vec.size()) {
1429 msg(MSG::ERROR) <<
"Element index " << element <<
" for section " <<
section <<
" out of range." <<
endmsg;
1431 newIndex =
vec[element];
1444 int numElements = 0;
1448 msg(MSG::DEBUG) <<
"Frame section " <<
section <<
" has no elements." <<
endmsg;
1450 numElements = iter->second.size();
1458 if (
index < 0)
return 0;
1465 if (
index < 0)
return 0;
1472 if (
index < 0)
return 0;
1479 if (
index < 0)
return 0;
1485 if (!
ibl())
return 0;
1492 if (!
ibl())
return 0;
1493 int defaultLayout = 0;
1502 if (!
ibl())
return 0;
1535 if (
useLegacy())
return 0.9*Gaudi::Units::mm;
1548 return 0.1*Gaudi::Units::mm;
1637 if (halflength > 0)
return 2 * halflength;
1639 double safety = 0.01*Gaudi::Units::mm;
1655 double xCenterCoolingPipe = boardThick*.5+chipThick+chipGap+
1659 GeoTrf::Vector3D centerCoolingPipe(xCenterCoolingPipe, yCenterCoolingPipe, 0.);
1662 return centerCoolingPipe;
1674 GeoTrf::Vector3D origin(0.,0.,0.);
1679 GeoTrf::Transform3D staveTrf = GeoTrf::RotateZ3D(ladderTilt)*GeoTrf::Translate3D(centerCoolingPipe_inv.x(),centerCoolingPipe_inv.y(),centerCoolingPipe_inv.z());
1680 GeoTrf::Vector3D sensorPos = staveTrf*origin;
1682 double yPos = sensorPos.y();
1683 GeoTrf::Vector3D sensorPos_layer(sqrt(layerRadius*layerRadius-yPos*yPos),yPos,0.);
1685 double staveRadius = sensorPos_layer.x()-sensorPos.x();
1698 if (thickness > 0)
return thickness ;
1709 if (value > 0)
return value ;
1720 if (value > 0)
return value ;
1768 return 748.0 * Gaudi::Units::mm;
1803 if (value > 0)
return value ;
1814 if (value > 0)
return value ;
1836 if (value > 0)
return value ;
1847 if (value > 0)
return value ;
1858 if (value > 0)
return value ;
1965 if (value > 0)
return value ;
1982 if (value > 0)
return value ;
1993 if (value > 0)
return value ;
2065 if (value > 0)
return value ;
2076 if (value > 0)
return value ;
2087 if (value > 0)
return value ;
2099 if (value > 0)
return value ;
2110 if (value > 0)
return value ;
2121 if (value > 0)
return value;
2132 if (value > 0)
return value ;
2203 std::ostringstream lname;
2204 lname <<
"FLEXDOGLEGHEIGHT"<<iHeight;
2228 std::ostringstream lname;
2229 lname <<
"FLEXPP0_Z"<<iPos;
2243 std::ostringstream lname;
2244 lname <<
"FLEXPP0_S"<<iPos<<
"RMIN";
2257 std::ostringstream lname;
2258 lname <<
"FLEXPP0_S"<<iPos<<
"RMAX";
2279 if(flexTypeIdx.compare(flexType)==0)
2288 return std::string(
"noMat");
2294 double srvZmin,
double srvZmax)
2301 for(
int ii = 0; ii < numServices; ii++) {
2305 if(srvType==
"simple")
2310 if(name.find(srvName)!=std::string::npos){
2311 double zmin, zmax,
r;
2313 if(srvType==
"simple"){
2326 bool bZintervalle =
false;
2327 if( (srvZmin-zmin)*(srvZmin-zmax)<0 || (srvZmax-zmin)*(srvZmax-zmax)<0 ) bZintervalle=
true;
2328 if( symm==1 && ((-srvZmin-zmin)*(-srvZmin-zmax)<0 || (-srvZmax-zmin)*(-srvZmax-zmax)<0) ) bZintervalle=
true;
2337 if(nbSrv<1)
return -1;
2343 double srvZmin,
double srvZmax)
2350 for(
int ii = 0; ii < numServices; ii++) {
2354 if(srvType==
"simple")
2359 if(name.find(srvName)!=std::string::npos){
2361 double zmin, zmax,
r;
2363 if(srvType==
"simple"){
2376 bool bZintervalle =
false;
2377 if( (srvZmin-zmin)*(srvZmin-zmax)<0 || (srvZmax-zmin)*(srvZmax-zmax)<0 ) bZintervalle=
true;
2378 if( symm==1 && ((-srvZmin-zmin)*(-srvZmin-zmax)<0 || (-srvZmax-zmin)*(-srvZmax-zmax)<0) ) bZintervalle=
true;
2380 if(bZintervalle &&
r>rmax){
2387 if(nbSrv<1)
return -1;
2468 msg(MSG::ERROR) <<
"Z position not found for etaModule,type = " << etaModule <<
", " <<
type <<
endmsg;
2483 if (!
ibl() || !
db()->testField(
m_PixelStave,
"STAGGERDIST",staveIndex))
return 0;
2490 if (!
ibl() || !
db()->testField(
m_PixelStave,
"FIRSTSTAGGER",staveIndex))
return 0;
2494 return firstStagger * (moduleIndex%2 ? -1 : 1);
2499 bool allowSkip =
true;
2503 if (
db()->getInt(
m_PixelStave,
"NOSKIPZERO",staveIndex)) allowSkip =
false;
2519 int etaModule =
index-nModules/2;
2529 int index = etaModule + nModules/2;
2540 if(etaModule < 0)
return 1.;
2914 msg(MSG::ERROR) <<
"Unrecognized fluid volume type: " <<
type <<
endmsg;
3081 msg(MSG::ERROR) <<
"ERROR in PixelReadout size. Should not occur!" <<
endmsg;
3100 msg(MSG::ERROR) <<
"ERROR in PixelReadout size. Should not occur!" <<
endmsg;
3223 if (!
ibl())
return 1;
3249 (*m_gangedIndexMap)[testType].push_back(i);
3256 msg(MSG::ERROR) <<
"Ganged pixel type " <<
type <<
" not found." <<
endmsg;
3258 const std::vector<int> &
vec = iter->second;
3259 if (
index < 0 ||
static_cast<unsigned int>(
index) >=
vec.size()) {
3260 msg(MSG::ERROR) <<
"Ganged pixel index " <<
index <<
" for type " <<
type <<
" out of range." <<
endmsg;
3279 if (newIndex >= 0) {
3293 if (newIndex >= 0) {
3423 std::ostringstream field;
3424 field <<
"SUP"<< isup+1 <<
"RMIN";
3429 std::ostringstream field;
3430 field <<
"SUP"<< isup+1 <<
"RMAX";
3438 std::ostringstream prefix;
3439 prefix <<
"SUP"<< isup+1 <<
"THICK";
3460 return tck *
mmcm();
3473 std::ostringstream prefix;
3474 prefix <<
"SUP"<< isup+1 <<
"MAT";
3536 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
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
virtual double PixelHalfLength() override
virtual double PixelModuleDrDistance() override
InDetDD::PairIndexMap * m_zPositionMap
virtual double IBLStaveOmegaEndRadius() override
virtual int PixelModuleServiceModuleType(int svc) override
virtual double PixelServicePhiLoc(const std::string &a, int _n) override
virtual double PixelTMTWidthX2(int iPart) override
virtual double DBMBrcktWindowOffset() override
virtual int DesignNumChipsEta(bool isModule3D=false) override
virtual std::string PixelCableLabel(int index) override
virtual double DBMCeramicX() override
IRDBRecordset_ptr m_PixelBarrelGeneral
double CalculateThickness(double, const std::string &)
std::map< int, std::vector< int > > * m_frameElementMap
virtual double DBMBrcktLockY() override
virtual std::string PixelServiceMaterial(const std::string &, int) override
virtual double PixelEnvelopeZ(int i) override
virtual double PixelLadderWidthClearance() override
virtual int moduleType3D() override
virtual double DBMKaptonZ() override
virtual int PixelFluidIndex(int type) override
virtual int PixelEndcapNDisk() override
IRDBRecordset_ptr m_PixelPigtail
virtual double DBMTelescopeZ() override
IRDBRecordset_ptr m_PixelGangedPixels
IRDBRecordset_ptr m_PixelRing
virtual double IBLStaveModuleGap() override
virtual double DBMCoolingSidePlatePos() override
virtual double PixelFrameElementZMax1(int sectionIndex, int element) override
virtual double DesignPitchRP(bool isModule3D=false) override
virtual double IBLSupportMidRingInnerRadius() override
virtual double IBLSupportMidRingWidth() override
virtual 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
PixelStaveTypes * m_pixelStaveTypes
virtual double PixelPigtailEnvelopeLength() override
virtual bool centerModule(int etaModule) override
virtual double PixelEndcapZMax() override
IRDBRecordset_ptr m_staveTypeTable
virtual double DBMFlexSupportZ() override
virtual int DesignCircuitsEta(bool isModule3D=false) override
IRDBRecordset_ptr m_PixelIBLStave
virtual int PixelModuleEtaFromIndex(int index) override
virtual int DesignNumChipsPhi(bool isModule3D=false) override
virtual double DesignGapRP(bool isModule3D=false) override
double getPixelServiceRecordDouble(const std::string &name, const std::string &type, int index)
IRDBRecordset_ptr m_PixelTMT
virtual double IBLSupportMechanicalStaveRingFixPoint() override
virtual double PixelLadderTilt() override
virtual double DBMBrcktSideBlockY() override
virtual double PixelAlTubeWallThickness() override
virtual bool allowSkipEtaZero() override
virtual double DBMCeramicZ() override
virtual double PixelEnvelopeRMax(int i) override
IRDBRecordset_ptr m_dbmWeightTable
virtual double PixelModuleAngleSign(int) override
virtual double DBMBrcktFinPos() override
virtual double PixelServiceRMax2(const std::string &, int) override
virtual double IBLStaveOmegaEndCenterX() override
virtual int DesignDiodeRowsPerCircuit(bool isModule3D=false) override
virtual double DBMBrcktLockZ() override
virtual double PixelBarrelRMin() override
virtual double PixelLadderServicesX() override
std::string getPixelServiceRecordString(const std::string &name, const std::string &type, int index)
virtual double PixelTMTPosY(int iPart) override
virtual double PixelHybridThickness(bool isModule3D=false) override
virtual double PixelModuleServiceOffsetY(int svc) override
virtual double PixelFluidThick1(int index) override
virtual int DesignNumColsPerChip(bool isModule3D=false) override
virtual bool detailedFrame() override
virtual double PixelOmegaLowerBendX() override
virtual double IBLStaveRadius() override
PixelLegacyManager * m_legacyManager
virtual double IBLStaveFlexOffset() override
IRDBRecordset_ptr m_PixelConicalStave
virtual int moduleType() override
virtual double PixelECSiDz2() override
virtual double PixelRMin() override
virtual bool ibl() const override
virtual double DBMMPlateWindowWidth() override
virtual int PixelDiskSupportMaterialTypeNum(int isup) override
IRDBRecordset_ptr m_PixelModule
virtual double IBLSupportRingWidth() override
virtual double DBMModuleCageY() override
virtual std::string PixelModuleServiceName(int svc) override
virtual double PixelModuleServiceLength(int svc) override
virtual double PixelCableZStart(int index) override
virtual std::string IBLFlexMaterial(int iPos, const std::string &flexType) override
virtual double PixelCableZEnd(int index) override
virtual double DBMBrcktFinThick() override
virtual int DesignNumEmptyRowsInGap(bool isModule3D=false) override
virtual 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
std::map< int, std::vector< int > > * m_gangedIndexMap
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
TopLevelPlacements * m_placements
virtual double IBLStaveOmegaMidAngle() override
virtual double PixelFrameElementZMax2(int sectionIndex, int element) override
virtual std::string getLD_Label() override
virtual double PixelPigtailWidthZ() override
virtual double PixelAlTubeLowerBendX() override
virtual 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
PixelMaterialMap * m_materialMap
virtual double PixelTMTWidthY(int iPart) override
virtual double PixelLadderCableOffsetY() override
virtual double PixelOmegaGlueStartX(int index) override
virtual double PixelLadderModuleDeltaZ() override
virtual double DBMBrcktFinLongZ() override
virtual double DBMBrcktWindowCenterZ() override
virtual double DBMBrcktSideBlockX() override
virtual double PixelAlTubeLength() override
virtual double PixelOmegaStartY() override
virtual int PixelFluidOrient(int layer, int phi) override
virtual double DBMTrapezBackShortZ() override
virtual bool IBLFlexAndWingDefined() override
virtual double DBMCoolingSidePlateY() override
virtual double PixelOmegaEndY() override
virtual double DBMMainPlateX() override
virtual int PixelECNSectors1() override
virtual int DesignDiodesEtaTotal(bool isModule3D=false) override
InDetMaterialManager * m_pMatMgr
virtual double IBLStaveOmegaEndAngle() override
virtual double PixelFluidY(int index) override
virtual double DBMMainPlateY() override
virtual std::string PixelServiceName(const std::string &, int) override
IRDBRecordset_ptr m_PixelModuleSvc
virtual double PixelPigtailBendPhiMin() override
IRDBRecordset_ptr m_DBMModule
virtual double DBMPP0RIn() override
virtual int PixelFrameNumSides(int sectionIndex) override
IRDBRecordset_ptr m_materialTable
virtual double DBMRodRadius() override
virtual double PixelOmegaGlueThickness(int index) override
virtual double PixelLadderServicesY() override
IRDBRecordset_ptr m_PixelDiskRing
virtual int PixelModuleStaggerSign(int etaModule) override
virtual double DBMFEI4Y() override
virtual double PixelECCablesRMin() override
IRDBRecordset_ptr m_PixelBarrelCable
virtual int PixelStaveAxe() override
virtual double PixelServiceZMax(const std::string &, int) override
virtual double IBLStaveTubeMiddlePos() override
IRDBRecordset_ptr m_PixelSwitches
virtual double PhiOfModuleZero() override
virtual bool isLDPresent() override
virtual double DBMBrcktWindowY() override
virtual double PixelFrameSideWidth(int sectionIndex) override
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
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
virtual double PixelFrameRMinSide(int sectionIndex) override
IRDBRecordset_ptr m_PixelDisk
InDetDD::PairIndexMap * m_diskRingIndexMap
virtual double PixelPigtailThickness() override
virtual bool DoServices() override
virtual double PixelCableThickness(int index) override
virtual int DesignDiodesPhiTotal(bool isModule3D=false) override
virtual bool oldFrame() override
virtual double PixelLadderBentStaveAngle() override
virtual double IBLStaveOmegaGlueThickness() override
InDetDD::DistortedMaterialManager * m_distortedMatManager
virtual double PixelConnectorPosZ(int index) override
virtual double PixelFluidZ2(int index) override
virtual bool PixelServiceZsymm(const std::string &, int) override
virtual double PixelDiskSupportRMax(int isup) override
IRDBRecordset_ptr m_PixelCommon
virtual bool PixelTMTPerModule(int iPart) override
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
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
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
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 ...
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