|
ATLAS Offline Software
|
Go to the documentation of this file.
19 #include "GeoModelKernel/GeoMaterial.h"
20 #include "GeoModelKernel/Units.h"
34 #include "GaudiKernel/SystemOfUnits.h"
52 m_servicesOnLadder(true),
54 m_initialLayout(false),
58 m_PlanarModuleNumber(0),
61 m_legacyManager(nullptr),
62 m_gangedIndexMap(nullptr),
63 m_frameElementMap(nullptr),
64 m_diskRingIndexMap(nullptr),
65 m_zPositionMap(nullptr),
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;
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;
439 double rl = material->getRadLength();
440 return -1.*
rl*tck/100.;
485 if(
ibl()&&isModule3D){
494 if(
ibl()&&isModule3D)
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) {
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;
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;
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;
1637 if (halflength > 0)
return 2 * halflength;
1655 double xCenterCoolingPipe = boardThick*.5+chipThick+chipGap+
1659 GeoTrf::Vector3D centerCoolingPipe(xCenterCoolingPipe, yCenterCoolingPipe, 0.);
1662 return centerCoolingPipe;
1679 GeoTrf::Transform3D staveTrf = GeoTrf::RotateZ3D(ladderTilt)*GeoTrf::Translate3D(centerCoolingPipe_inv.x(),centerCoolingPipe_inv.y(),centerCoolingPipe_inv.z());
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 ;
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){
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){
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;
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;
virtual double PixelPigtailFlatWidthZ() override
virtual double DBMBrcktFinLongZ() override
virtual double PixelConnectorPosZ(int index) override
int DesignDiodesPhiTotal(bool isBLayer)
virtual double PixelBoardActiveLength(bool isModule3D=false) override
double PixelTMTWidthY(int iPart)
virtual double PixelECCarbonRMin(std::string) override
int getBiStaveType(int layer, int phiModule) const
virtual double IBLSupportMidRingInnerRadius() override
virtual double PixelOmegaUpperBendY() override
virtual int PixelStaveLayout() override
virtual double DBMTelescopeY() override
double PixelPigtailPosX()
virtual double PixelAlTubeLowerBendX() override
virtual double PixelECCablesThickness() override
virtual double DBMTrapezBackTheta() override
virtual int DesignDiodeColumnsPerCircuit(bool isModule3D=false) override
void addWeightTable(const IRDBRecordset_ptr &weightTable, const std::string &space="")
int designType(bool isModule3D=false)
double PixelModuleZPositionTabulated(int etaModule, int type)
double PixelOmegaLength()
virtual std::string PixelModuleServiceName(int svc) override
virtual double PixelFrameElementZMax1(int sectionIndex, int element) override
virtual double IBLStaveMechanicalStaveEndBlockFixPoint() override
virtual double DBMPP0ROut() override
virtual int IBLStaveModuleType() override
virtual double PixelModuleServiceOffsetY(int svc) override
virtual double PixelOmegaGlueLength(int index) override
virtual int PixelOmegaGlueTypeNum(int index) override
virtual int PixelFluidType(int index) override
virtual int PixelECNSectors2() override
virtual bool centerModule(int etaModule) override
virtual double IBLSupportMidRingOuterRadius() override
virtual int NumberOfEmptyRows(bool isModule3D=false) override
virtual int PixelEndcapNDisk() override
virtual double IBLStaveTubeMiddlePos() override
virtual double IBLStaveFlexWingWidth() override
virtual double PixelEndcapRMin() override
virtual double PixelBarrelRMax() override
virtual double PixelLadderBentStaveAngle() override
virtual double IBLFlexDoglegDY() override
virtual double PixelConnectorWidthZ(int index) override
virtual double DBMFlexSupportX() override
InDetDD::PairIndexMap * m_diskRingIndexMap
virtual int PixelTMTNumParts() override
TMT.
void addMaterial(int layerdisk, int typenum, const std::string &volumeName, const std::string &materialName)
virtual double PixelTMTWidthX2(int iPart) override
virtual double IBLFlexPP0Rmax(int iPos) override
IRDBRecordset_ptr m_PixelConnector
double PixelOmegaStartY()
virtual PixelLegacyManager * legacyManager() override
IRDBRecordset_ptr m_PixelTMT
double PixelAlTubeLowerBendRadius()
virtual double IBLFlexMiddleGap() override
Scalar phi() const
phi method
virtual std::string PixelServiceMaterial(const std::string &, int) override
virtual double PixelOmegaUpperBendX() override
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.
double PixelFluidThick2(int index)
IRDBRecordset_ptr m_PixelEnvelope
virtual double PixelECSiDz2() override
virtual double PixelChipLength(bool isModule3D=false) override
virtual std::string versionDescription() const override
double PixelLadderThickness()
virtual int DesignDiodesPhiTotal(bool isModule3D=false) override
MsgStream & msg(MSG::Level lvl) const
IRDBRecordset_ptr m_PixelFrame
double PixelLadderLength()
virtual double PixelFrameRMinSide(int sectionIndex) override
double PixelAlTubeWallThickness()
IRDBRecordset_ptr m_PixelBarrelService
virtual double PixelAlTubeLowerBendY() override
double PixelTMTPosZ1(int iPart)
virtual int NPixelSectors() override
const GeoTrf::Transform3D & transform(const std::string &partName) const
virtual int PixelDiskNumSupports() override
virtual int PixelNumOmegaGlueElements() override
PixelStaveTypes * m_pixelStaveTypes
double PixelLadderCableOffsetY()
virtual double PixelServiceWidth(const std::string &a, int _n) override
virtual double PixelLadderThickness() override
virtual double PixelLadderServicesX() override
virtual double PixelFluidZ1(int index) override
virtual InDetDD::SiCommonItems * commonItems() override
virtual double IBLServiceGetMaxRadialPosition(const std::string &srvName, const std::string &srvType, double srvZmin, double srvZmax) override
double PixelAlTubeLowerBendX()
virtual double PixelBarrelRMin() override
IRDBRecordset_ptr m_PixelIBLGlueGrease
virtual std::string PixelFrameSideMaterial(int sectionIndex) override
double PixelCableStackOffset(int index)
virtual double PixelAlTubeLength() override
double PixelLadderServicesY()
virtual double PixelLadderCableOffsetY() override
int GangedTableIndex(int index, int type)
virtual double DBMCeramicY() override
double PixelCableZStart(int index)
IRDBRecordset_ptr m_staveTypeTable
virtual int PixelCableLayerNum(int index) override
IRDBRecordset_ptr m_PixelSwitches
virtual double PixelPigtailBendPhiMax() override
virtual double IBLStaveMechanicalStaveWidth() override
virtual bool partPresent(const std::string &partName) const override
virtual void SetBarrel() override
double PixelTMTWidthX1(int iPart)
virtual bool DoServicesOnLadder() override
double PixelCableThickness(int index)
virtual double DesignZActiveArea(bool isModule3D=false) override
int PixelTMTNumParts()
TMT.
virtual double PixelOmegaGluePosZ(int index) override
virtual int PixelEndcapNSupportFrames() override
virtual double DBMBrcktSideBlockY() override
virtual int PixelECCarbonMaterialTypeNum(std::string) override
IRDBRecordset_ptr m_PixelModule
virtual double DBMTelescopeZ() override
virtual double IBLStaveMechanicalStaveEndBlockLength() override
double PixelPigtailEndY()
virtual double PixelServiceZMin(const std::string &, int) override
virtual double PixelServiceRMin(const std::string &, int) override
virtual double PixelTMTWidthY(int iPart) override
virtual std::string PixelFluidMat(int index) override
IRDBRecordset_ptr m_PixelConicalStave
virtual double DBMTrapezBackX() override
virtual double DBMModuleCageY() override
virtual double DBMBrcktWindowY() override
std::string getMaterial(int layerdisk, int typenum, const std::string &volumeName) const
virtual double PixelDiskSupportThickness(int isup) override
virtual int EmptyRowConnections(int index) override
virtual double PixelDiskSupportRMax(int isup) override
virtual double PixelPigtailEndY() override
double PixelPigtailBendY()
virtual double PixelOmegaStartY() override
virtual double PixelOmegaUpperBendRadius() override
IRDBRecordset_ptr m_PixelEndcapService
bool msgLvl(MSG::Level lvl) const
IRDBRecordset_ptr m_weightTable
double PixelOmegaLowerBendRadius()
virtual int DesignNumColsPerChip(bool isModule3D=false) override
virtual double DBMCeramicX() override
virtual double PixelOmegaLength() override
virtual double PixelServiceZMax(const std::string &, int) override
const std::string & node() const
Return the version node.
virtual double PixelTMTPosY(int iPart) override
virtual void SetCurrentLD(int i) override
IRDBRecordset_ptr m_DBMBracket
bool PixelTMTPerModule(int iPart)
virtual std::string PixelFrameCornerMaterial(int sectionIndex) override
virtual double PixelEndcapZMax() override
IRDBRecordset_ptr m_PixelLayer
std::string getPixelServiceRecordString(const std::string &name, const std::string &type, int index)
std::vector< size_t > vec
virtual double PixelChipOffset(bool isModule3D=false) override
DBPixelGeoManager(PixelGeoModelAthenaComps *athenaComps)
virtual double DBMFEI4X() override
virtual bool allowSkipEtaZero() override
virtual bool detailedFrame() override
IRDBRecordset_ptr m_PixelEnvelopeService
virtual double IBLStaveOmegaEndRadius() override
virtual double PixelLadderSupportThickness() override
virtual double DBMTrapezBackY() override
virtual double DBMPP0RIn() override
virtual double PixelFrameZMin(int sectionIndex) override
virtual double PixelModuleAngleSign(int) override
virtual std::string versionName() const override
virtual double PixelModuleDrDistance() override
virtual bool isEndcap() override
virtual double DBMMainPlateZ() override
virtual double PixelPigtailPosZ() override
virtual double DesignGapRP(bool isModule3D=false) override
double PixelOmegaGlueStartY(int index)
virtual std::string PixelServiceName(const std::string &, int) override
IRDBRecordset_ptr m_PixelStaveZ
virtual unsigned int getTableSize(IRDBRecordset_ptr recordSet) const =0
virtual double PixelAlTubeUpperBendY() override
virtual double IBLServiceGetMinRadialPosition(const std::string &srvName, const std::string &srvType, double srvZmin, double srvZmax) override
virtual double PixelRMax() override
virtual double DBMModuleCageZ() override
double PixelConnectorPosX(int index)
virtual int PixelECNSectors1() override
virtual int PixelFrameSections() override
double PixelOmegaWallThickness()
virtual double PixelCableWeight(int index) override
virtual int PixelModuleEtaFromIndex(int index) override
virtual int dbVersion() override
virtual double DesignGapZ(bool isModule3D=false) override
double PixelOmegaGlueThickness(int index)
virtual double PixelFrameElementZMin2(int sectionIndex, int element) override
bool present(const std::string &partName) const
virtual int PixelModuleServiceNumber() override
virtual int PixelServiceLD(const std::string &, int) override
virtual double DBMCoolingSidePlatePos() override
PixelLegacyManager * m_legacyManager
virtual int moduleType() override
virtual double DBMSpacingZ() override
virtual int IBLStaveModuleNumber() override
virtual int moduleType3D() override
virtual double DBMFlexSupportZ() override
IRDBRecordset_ptr m_PixelTopLevel
virtual int PixelServiceElements(const std::string &) override
virtual double PixelLadderSupportWidth() override
virtual double PixelOmegaEndY() override
virtual int DesignNumChipsEta(bool isModule3D=false) override
virtual double DBMBrcktSideBlockX() override
virtual bool isLDPresent() override
IRDBRecordset_ptr m_PixelStave
virtual int PixelServiceShift(const std::string &type, int index) override
virtual double IBLStaveTubeGlueThickness() override
virtual double PixelLadderSupportLength() override
double PixelOmegaUpperBendX()
double PixelFluidZ1(int index)
virtual double DBMBrcktLockY() override
virtual double PixelTMTWidthX1(int iPart) override
bool isInnermostPixelLayer()
virtual double PixelPigtailEnvelopeLength() override
virtual int DesignNumRowsPerChip(bool isModule3D=false) override
void addDefaultMaterials()
virtual double PixelAlTubeLowerBendRadius() override
virtual int PixelFluidIndex(int type) override
const IGeometryDBSvc * db() const
virtual int PixelModuleServiceFullSize(int svc) override
IRDBRecordset_ptr m_PixelGangedPixels
virtual int PixelCableElements() override
virtual int PixelServiceFrameNum(const std::string &, int) override
virtual double PixelEndcapZMin() override
double PixelTMTBaseX2(int iPart)
virtual bool testField(IRDBRecordset_ptr recordSet, const std::string &name, int index=0) const =0
virtual double DBMCoolingSidePlateX() override
virtual int DesignNumChipsPhi(bool isModule3D=false) override
virtual double DBMBrcktWindowX() override
virtual double IBLSupportRingOuterRadius() override
virtual double PixelFrameSideWidth(int sectionIndex) override
virtual bool PixelServiceZsymm(const std::string &, int) override
virtual double DBMRodRadius() override
virtual int PixelCableBiStaveNum(int index) override
virtual double PixelCableWidth(int index) override
virtual int DesignDiodeRowsPerCircuit(bool isModule3D=false) override
virtual double PixelLadderThicknessClearance() override
virtual double IBLFlexPP0Z(int iPos) override
double PixelFluidX(int index)
IRDBRecordset_ptr m_PixelRing
double PixelConnectorWidthX(int index)
virtual double PixelLayerRadius() override
virtual double PixelLayerGlobalShift() override
virtual double PixelDiskZPosition() override
PixelGeoModelAthenaComps * athenaComps()
virtual double PixelModuleZPosition(int) override
bool getPixelServiceRecordTestField(const std::string &name, const std::string &type, int index)
virtual int PixelModuleStaggerSign(int etaModule) override
virtual double PixelConnectorWidthY(int index) override
virtual double IBLSupportRingInnerRadius() override
double PixelAlTubeLowerBendY()
double getPixelServiceRecordDouble(const std::string &name, const std::string &type, int index)
virtual int PixelModuleServiceModuleType(int svc) override
virtual double DBMBrcktWindowOffset() override
virtual double PixelPigtailStartY() override
virtual bool PixelTMTPerModule(int iPart) override
virtual double IBLFlexDoglegRatio() override
virtual double PixelDiskRMin() override
virtual double IBLStaveOmegaEndAngle() override
virtual double PixelLadderLength() override
Definition of the abstract IRDBAccessSvc interface.
std::string PixelCableLabel(int index)
virtual std::string PixelCableLabel(int index) override
virtual const GeoTrf::Transform3D & partTransform(const std::string &partName) const override
virtual int PixelEndcapMinorVersion() override
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 int PixelFrameNumSides(int sectionIndex) override
double PixelAlTubeUpperBendX()
virtual double PixelCableZStart(int index) override
virtual double IBLStaveFacePlateGlueThickness() override
InDetDD::PairIndexMap * m_zPositionMap
IRDBRecordset_ptr m_PixelPigtail
virtual double PixelLadderTilt() override
double PixelFluidZ2(int index)
IRDBRecordset_ptr m_PixelCommon
int PixelFrameSectionFromIndex(int sectionIndex)
virtual double PixelLadderWidthClearance() override
const PixelID * getIdHelper() const
virtual int DesignCellColumnsPerCircuit(bool isModule3D=false) override
virtual double IBLStaveOmegaGlueThickness() override
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
virtual double DBMBrcktTopBlockZ() override
double PixelLadderServicesX()
virtual int PixelBentStaveNModule() override
int getFrameElementIndex(int sectionIndex, int element)
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual double IBLStaveTubeOuterDiameter() override
virtual double DBMMPlateWindowWidth() override
virtual double PixelBoardLength(bool isModule3D=false) override
virtual bool InitialLayout() const override
virtual double IBLSupportMechanicalStaveRingFixPoint() override
virtual double DBMKaptonZ() override
virtual double PixelServicePhiLoc(const std::string &a, int _n) override
virtual bool DoServices() override
double PixelTMTWidthX2(int iPart)
This is a helper class to query the version tags from GeoModelSvc and determine the appropriate tag a...
virtual int EmptyRows(int index) override
virtual double IBLStaveMechanicalStaveEndBlockOmegaOverlap() override
Eigen::Affine3d Transform3D
IRDBRecordset_ptr m_PixelFrameSect
virtual double PixelOmegaLowerBendX() override
double PixelConnectorPosY(int index)
virtual double IBLFlexPP0Rmin(int iPos) override
virtual double IBLStaveFlexLayerThickness() override
virtual int DesignReadoutSide(bool isModule3D=false) override
virtual double DesignPitchZ(bool isModule3D=false) override
virtual double PixelEndcapRMax() override
double DesignPitchRP(bool isBLayer)
virtual double PixelOmegaWallThickness() override
virtual int DesignCircuitsEta(bool isModule3D=false) override
virtual double PixelModuleShiftFlag(int) override
PixelMaterialMap * m_materialMap
const std::string & tag() const
Return version tag.
virtual bool oldFrame() override
virtual double PixelFrameElementZMin1(int sectionIndex, int element) override
virtual double IBLStaveRadius() override
double PixelPigtailPosZ()
virtual int PixelModuleIndexFromEta(int etaModule) override
virtual double PixelECCablesRMax() override
virtual double PixelHybridLength(bool isModule3D=false) override
virtual int PixelServiceParentEnvelopeNum(const std::string &type, int index) override
virtual double PixelServiceRMin2(const std::string &, int) override
double m_defaultLengthUnit
double PixelOmegaGlueStartX(int index)
virtual double IBLStaveLength() override
virtual double PixelFluidThick1(int index) override
std::map< int, std::vector< int > > * m_gangedIndexMap
virtual double DBMTelescopeX() override
virtual int IBLStaveModuleNumber_AllPlanar() override
int PixelNumConnectorElements()
virtual double PixelConnectorWidthX(int index) override
virtual const PixelID * getIdHelper() override
virtual double PixelAlTubeWallThickness() override
virtual double PixelChipWidth(bool isModule3D=false) override
int PixelFluidMatType(int index)
double DesignZActiveArea()
virtual double DBMSpacingRadial() override
virtual double IBLStaveMechanicalStaveOffset(bool isModule3D=false) override
virtual void SetDC1Geometry(bool flag) override
virtual double PixelBoardThickness(bool isModule3D=false) override
IRDBRecordset_ptr m_PixelIBLSupport
virtual double PixelECCarbonThickness(std::string) override
virtual double DBMPP0Thick() override
double PixelFluidY(int index)
virtual double IBLStaveFlexWingThick() override
virtual double PixelOmegaLowerBendRadius() override
AthROOTErrorHandlerSvc * svc
std::map< int, std::vector< int > > * m_frameElementMap
virtual double DBMMPlateWindowPos() override
virtual int PixelBiStaveType(int layer, int phi) override
virtual double PixelModuleServiceWidth(int svc) override
virtual double PixelModuleAngle() override
virtual double IBLSupportMidRingWidth() override
virtual bool PixelSimpleEnvelope() override
virtual void SetEndcap() override
virtual double PixelHybridThickness(bool isModule3D=false) override
int EmptyRowConnections(int index)
const IGeoDbTagSvc * geoDbTagSvc() const
virtual double PixelFrameZMax(int sectionIndex) override
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
virtual double PixelPigtailWidthZ() override
IRDBRecordset_ptr m_dbmWeightTable
virtual double PixelCableStackOffset(int index) override
virtual double PixelFrameElementZMax2(int sectionIndex, int element) override
virtual double IBLStaveOmegaEndCenterY() override
virtual bool isDBM() override
virtual double DBMBrcktWindowCenterZ() override
int getPixelServiceRecordInt(const std::string &name, const std::string &type, int index)
virtual double IBLStaveFacePlateThickness() override
virtual std::string getLD_Label() override
virtual double DBMBrcktFinHeight() override
virtual int DesignDiodesEtaTotal(bool isModule3D=false) override
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 int PixelFrameNumSideElements(int sectionIndex) override
virtual double PixelPigtailThickness() override
double PixelPigtailBendRMin()
virtual GeoTrf::Vector3D IBLStaveRotationAxis() override
virtual double DBMBrcktFinPos() override
IRDBRecordset_ptr m_PixelBarrelCable
IRDBRecordset_ptr m_PixelDisk
double PixelOmegaGluePosZ(int index)
virtual double DBMDiamondX() override
virtual double PixelConnectorPosY(int index) override
virtual double PixelFluidThick2(int index) override
virtual double IBLStaveFlexBaseThickness() override
virtual double DBMFlexSupportOffset() override
virtual bool isBarrel() override
virtual double PixelFramePhiStart(int sectionIndex) override
virtual double DBMCeramicZ() override
int DesignNumRowsPerChip(bool isBLayer)
virtual double PixelFluidWidth(int index) override
double PixelPigtailBendX()
virtual double IBLStaveMechanicalStaveModuleOffset() override
virtual int PixelBarrelNLayer() override
IRDBRecordset_ptr m_scalingTable
IRDBRecordset_ptr m_PixelIBLStave
double PixelTMTPosY(int iPart)
double PixelFluidThick1(int index)
virtual int PixelBarrelMinorVersion() override
virtual bool ibl() const override
virtual double DBMBracketZ() override
virtual double PixelECCablesDistance() override
virtual int PixelStaveAxe() override
IRDBRecordset_ptr m_PixelOmegaGlue
virtual double PixelConnectorPosX(int index) override
virtual double PixelFrameRMaxSide(int sectionIndex) override
virtual double PixelAlTubeUpperBendRadius() override
int find(int first, int second) const
virtual double IBLStaveTubeInnerDiameter() override
virtual InDetDD::DistortedMaterialManager * distortedMatManager() override
virtual double PixelPigtailPosX() override
virtual double IBLFlexDoglegLength() override
double PixelConnectorPosZ(int index)
IRDBRecordset_ptr m_PixelReadout
virtual InDetDD::PixelDetectorManager * GetPixelDDManager() override
virtual double PixelTMTPosZ2(int iPart) override
IRDBRecordset_ptr m_PixelIBLFlexMaterial
virtual std::string PixelServiceShape(const std::string &a, int _n) override
virtual double PixelEnvelopeRMax(int i) override
double PixelPigtailBendPhiMax()
Eigen::Matrix< double, 3, 1 > Vector3D
virtual double PixelModuleServiceThick(int svc) override
void addScalingTable(const IRDBRecordset_ptr &scalingTable)
virtual double PixelModuleServiceOffsetZ(int svc) override
virtual double PixelPigtailBendY() override
int getFluidType(int layer, int phiModule) const
virtual void setCommonItems(InDetDD::SiCommonItems *commonItems) override
virtual double PixelECSiDz1() override
virtual double PixelChipGap(bool isModule3D=false) override
InDetDD::DistortedMaterialManager * m_distortedMatManager
double PixelPigtailBendPhiMin()
virtual double IBLStaveOmegaThickness() override
virtual double PixelPigtailBendRMax() override
virtual double PixelPigtailBendPhiMin() override
double DesignPitchZLong(bool isBLayer)
virtual double PixelOmegaGlueStartX(int index) override
virtual bool PixelFrameMirrorSides(int sectionIndex) override
virtual double PixelChipThickness(bool isModule3D=false) override
double PixelOmegaLowerBendX()
double PixelOmegaUpperBendRadius()
double DBMAngle() override
virtual double PixelHybridWidth(bool isModule3D=false) override
virtual double PixelModuleServiceLength(int svc) override
double PixelPigtailFlatWidthZ()
double PixelOmegaLowerBendY()
Class to hold various Athena components.
void SetDC1Geometry(bool flag)
IRDBRecordset_ptr m_PixelIBLFlex
IRDBRecordset_ptr m_PixelOmega
virtual double PixelOmegaLowerBendY() override
double PixelLadderCableOffsetX()
virtual double DBMBrcktFinThick() override
virtual double PixelEnvelopeZ(int i) override
virtual double PixelLadderModuleDeltaZ() override
virtual double PixelDiskSupportRMin(int isup) override
double PixelConnectorWidthY(int index)
virtual double DBMSpace() override
virtual int PixelServiceEnvelopeNum(const std::string &type, int index) override
virtual std::string IBLFlexMaterial(int iPos, const std::string &flexType) override
InDetDD::PixelDetectorManager * m_pDDmgr
virtual double PixelFluidY(int index) override
double PixelPigtailThickness()
virtual double PixelAlTubeUpperBendX() override
virtual bool DC1Geometry() const override
double PixelFluidWidth(int index)
Definition of the abstract IRDBRecord interface.
int PixelNumOmegaGlueElements()
double PixelConnectorWidthZ(int index)
virtual int PixelDiskSupportMaterialTypeNum(int isup) override
IRDBRecordset_ptr m_PixelAlTube
virtual double DBMFlexSupportY() override
virtual double DBMFEI4Z() override
virtual double DBMBrcktLockZ() override
virtual double DBMCoolingSidePlateZ() override
virtual double IBLStaveFacePlateGreaseThickness() override
virtual bool Alignable() const override
virtual double DBMDiamondZ() override
double PixelPigtailEnvelopeLength()
int DesignNumColsPerChip(bool isBLayer)
virtual double PixelOmegaGlueEndY(int index) override
double PixelTMTBaseX1(int iPart)
virtual bool IBLFlexAndWingDefined() override
virtual double DesignRPActiveArea(bool isModule3D=false) override
Class to store map between pair of two ints and an int.
virtual int PixelNModule() override
int PixelFluidOrient(int layer, int phi)
double PixelOmegaGlueEndY(int index)
double PixelCableWidth(int index)
virtual int getInt(IRDBRecordset_ptr recordSet, const std::string &name, int index=0) const =0
int PixelOmegaGlueTypeNum(int index)
virtual double PixelServiceRMax2(const std::string &, int) override
virtual unsigned int PixelEnvelopeNumPlanes() override
virtual int PixelFluidNumTypes() override
InDetMaterialManager * m_pMatMgr
virtual double IBLStaveModuleGap() override
virtual double DBMAirGap() override
virtual int PixelFluidOrient(int layer, int phi) override
virtual double IBLStaveOmegaEndCenterX() override
int DesignDiodesEtaTotal(bool isBLayer)
=============================================================================
virtual double IBLStaveOmegaMidAngle() override
virtual double PixelBarrelHalfLength() override
virtual double DBMFEI4Y() override
virtual double DBMMPlateWindowHeight() override
virtual int PixelEndcapMajorVersion() override
virtual double PixelCableThickness(int index) override
IRDBRecordset_ptr m_PixelEndcapGeneral
virtual double PixelTMTBaseX2(int iPart) override
double PixelPigtailWidthZ()
virtual double DBMBracketX() override
virtual int DesignCircuitsPhi(bool isModule3D=false) override
virtual double PixelFluidZ2(int index) override
IRDBRecordset_ptr m_DBMCage
IRDBRecordset_ptr m_PixelModuleSvc
virtual double DesignPitchZLongEnd(bool isModule3D=false) override
int PixelFluidType(int index)
virtual std::string getString(IRDBRecordset_ptr recordSet, const std::string &name, int index=0) const =0
virtual int PixelBarrelMajorVersion() override
virtual double PixelModuleServiceOffsetX(int svc) override
double PixelAlTubeUpperBendRadius()
virtual double PixelEnvelopeRMin(int i) override
double DesignRPActiveArea()
IRDBRecordset_ptr m_materialTable
virtual double DBMCoolingSidePlateY() override
virtual double PixelRMin() override
double PixelAlTubeLength()
virtual double PixelOmegaGlueStartY(int index) override
virtual double PixelHalfLength() override
IRDBRecordset_ptr m_PixelSimpleService
virtual double PixelECCarbonRMax(std::string) override
virtual double PixelTMTBaseX1(int iPart) override
Definition of the abstract IRDBRecordset interface.
virtual double DBMBracketY() override
virtual double PixelPigtailBendRMin() override
const StoreGateSvc * detStore() const
double PixelPigtailBendRMax()
double PixelTMTPosZ2(int iPart)
virtual double DBMTrapezBackShortZ() override
virtual double DBMMainPlateY() override
virtual double PhiOfModuleZero() override
virtual IRDBRecordset_ptr getPixelServiceRecordset(const std::string &type) override
virtual double PixelBoardWidth(bool isModule3D=false) override
const GeoMaterial * getMaterial(const std::string &materialName)
Get material. First looks for locally defined material and if not found looks in GeoModel material ma...
virtual double IBLSupportRingWidth() override
virtual int DesignNumEmptyRowsInGap(bool isModule3D=false) override
IRDBRecordset_ptr m_PixelBarrelGeneral
IRDBAccessSvc * rdbAccessSvc()
double PixelOmegaGlueLength(int index)
double PixelOmegaUpperBendY()
double PixelCableZEnd(int index)
virtual void SetPartsDBM() override
virtual double PixelOmegaGlueThickness(int index) override
virtual double DBMMainPlateX() override
double CalculateThickness(double, const std::string &)
virtual std::string versionLayout() const override
virtual int DesignCellRowsPerCircuit(bool isModule3D=false) override
virtual int PixelNumConnectorElements() override
virtual double DesignPitchRP(bool isModule3D=false) override
double DesignPitchZ(bool isBLayer)
virtual std::string PixelModuleServiceMaterial(int svc) override
virtual double PixelModuleStaggerDistance() override
virtual double IBLStaveFlexWidth() override
virtual int PixelStaveIndex(int layer) override
double PixelAlTubeUpperBendY()
virtual double DBMDiamondY() override
virtual double IBLStaveOmegaMidCenterX() override
virtual double PixelPigtailBendX() override
virtual int PixelServiceRepeat(const std::string &a, int _n) override
virtual double DBMMPlateRod2RodY() override
void add(int first, int second, int value)
double PixelPigtailStartY()
IRDBRecordset_ptr m_PixelFluid
virtual double PixelECCablesRMin() override
virtual double IBLFlexDoglegHeight(int iHeight) override
virtual double PixelServiceRMax(const std::string &, int) override
virtual double IBLStaveFlexOffset() override
virtual int GetLD() override
virtual std::string getMaterialName(const std::string &volumeName, int layerdisk=0, int typenum=0) override
IRDBRecordset_ptr m_DBMModule
virtual double PixelTMTPosZ1(int iPart) override
virtual double PixelFluidX(int index) override
IRDBRecordset_ptr m_PixelDiskRing
virtual double PixelLadderServicesY() override
int DesignNumEmptyRowsInGap()
virtual double IBLStaveOmegaMidRadius() override
std::string description
glabal timer - how long have I taken so far?
virtual double DesignPitchZLong(bool isModule3D=false) override
IRDBRecordset_ptr m_DBMTelescope
InDetDD::SiCommonItems * m_commonItems
TopLevelPlacements * m_placements
virtual double PixelLadderCableOffsetX() override
virtual InDetMaterialManager * getMaterialManager() override
virtual double PixelCableZEnd(int index) override
virtual double DBMMPlateRod2RodX() override