|
ATLAS Offline Software
|
Go to the documentation of this file.
6 #include "GeoModelKernel/Units.h"
19 , m_athenaComps(athenaComps)
35 for (
unsigned int iRing = 0; iRing <
nBarrelRings; iRing++) {
70 const std::string& detectorKey = versionKey.
tag();
71 const std::string& detectorNode = versionKey.
node();
110 const IRDBRecord *RDBVars_DigVersion = (*RDB_DigVersion)[0];
143 const IRDBRecord* RDBVars_CommonPars = (*RDB_CommonPars)[0];
155 const IRDBRecord* RDBVars_BarrelOverallPars = (*RDB_BarrelOverallPars)[0];
165 const IRDBRecord* RDBVars_BarrelServices = (*RDB_BarrelServices)[0];
189 if (!RDBVars_BarrelOverallPars->
isFieldNull(
"BRLVIRTVOLZCLEARANCE")) {
230 const IRDBRecord* ringVars = (*RDB_BarrelRingDepPars)[
i];
238 unsigned int cumulLayer = 0;
241 const IRDBRecord* layerVars = (*RDB_BarrelNStrawInLay)[cumulLayer++];
254 msg(MSG::WARNING) <<
"DD Database indicates nCoolingTubes != 2, but the code" <<
" can't cope with that. Putting nCoolingTubes=2" <<
endmsg;
260 msg(MSG::WARNING) <<
"DD Database indicates nShellCorners != 4, but the code" <<
" can't cope with that. Putting nShellCorners=4" <<
endmsg;
264 for (
unsigned int iRing = 0; iRing <
nBarrelRings; iRing++) {
295 unsigned int cumulativeStrawNumber = 0;
300 const IRDBRecord*
row = (*RDB_BarrelStrawCoord)[cumulativeStrawNumber++];
312 const IRDBRecord* RDBVars_EndCapOverallPars = (*RDB_EndCapOverallPars)[0];
314 const IRDBRecord* RDBVars_A_Wheel = (*RDB_ECWheelTypDepPars)[0];
315 const IRDBRecord* RDBVars_B_Wheel = (*RDB_ECWheelTypDepPars)[1];
316 const IRDBRecord* RDBVars_C_Wheel = (*RDB_ECWheelTypDepPars)[2];
332 if ( RDBVars_A_Wheel->
getFloat(
"OUTERRADIUSOFINNERSUP") != RDBVars_B_Wheel->
getFloat(
"OUTERRADIUSOFINNERSUP") )
333 msg(MSG::WARNING) <<
"DD Database indicates different outer radii of inner support for A and B wheels." <<
" The code assumes otherwise. Using value of A wheel for both!" <<
endmsg;
334 if ( RDBVars_A_Wheel->
getFloat(
"INNERRADIUSOFOUTERSUP") != RDBVars_B_Wheel->
getFloat(
"INNERRADIUSOFOUTERSUP") )
335 msg(MSG::WARNING) <<
"DD Database indicates different inner radii of outer support for A and B wheels." <<
" The code assumes otherwise. Using value of A wheel for both!" <<
endmsg;
376 msg(MSG::WARNING) <<
"DD Database indicates a nonzero middle radiator thickness in the A wheel" <<
" where middle radiators doesn't exist. Ignoring parameter." <<
endmsg;
378 msg(MSG::WARNING) <<
"DD Database indicates a nonzero middle radiator thickness in the C wheel" <<
" where middle radiators doesn't exist. Ignoring parameter." <<
endmsg;
404 const IRDBRecord* RDBECEndCapDepPars_EndCap_C = (*RDB_ECEndCapDepPars)[0];
405 const IRDBRecord* RDBECEndCapDepPars_EndCap_A = (*RDB_ECEndCapDepPars)[1];
469 const IRDBRecord* RDBVars_ECHeatExchAndFoil = (*RDB_ECHeatExchAndFoil)[0];
481 const IRDBRecord* RDBVars_ECMembranePars = (*RDB_ECMembranePars)[0];
509 return unitTransform;
virtual int getInt(const std::string &fieldName) const =0
Get int field value.
double * barrelYOfSecondGlobalAlignmentStraw
double endCapDistanceBetweenWheelCentersA[2][6]
double endCapMiddleRadiatorThicknessB
double endCapHeatExchangerThicknessA
double lengthOfEndCapVolumeC
double endCapRMaxOfHeatExchanger
double positionOfEndCapVolumeC
double barrelVirtualVolumeZClearance
double endCapRMinOfMbrane
double endcapOuterRadiusOfInnerSupport_wheelAB
double endCapZMaxOfMbraneWheelB2
double endCapRMaxOfMbrane
double barrelThicknessOfModuleWalls
double outerRadiusOfBarrelVolume
double endCapRadialThicknessOfInnerSupportC
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.
unsigned int endcapNumberOfCWheels
double endCapOuterRadiusOfSupportC
const GeoTrf::Transform3D & transform(const std::string &partName) const
double barrelOuterRadiusOfCoolingTube
double outerRadiusOfEndCapVolumeC
double endCapThinRadiatorThicknessA
double barrelLengthOfLargeDeadRegion
virtual const std::string & getString(const std::string &fieldName) const =0
Get string field value.
double * endCapLayerZPositionC
Class to hold various Athena components.
double endCapDistanceBetweenWheelCentersB[2][14]
double endCapRadialDistFromRadToOuterSupportA
double endcapInnerRadiusOfOuterSupport_wheelAB
bool includeECFoilHeatExchangerAndMembranes
static const unsigned int nBarrelRings
double * endCapLayerZPositionB
double endCapLengthOfWheelsA
const std::string & node() const
Return the version node.
double endCapRadialThicknessOfInnerSupportB
InDetDD::AthenaComps * m_athenaComps
double endCapPhiOfFirstStraw
double innerRadiusOfBarrelVolume
double barrelInnerRadiusOfCoolingTube
double endCapZMinOfMbraneWheelA2
bool present(const std::string &partName) const
unsigned int nCoolingTubes
double endcapOuterRadiusOfInnerSupport_wheelC
double endCapRadialThicknessOfOuterSupportC
double lengthOfDeadRegion
double outerRadiusOfEndCapVolumeAB
double endCapDistanceBetweenWheelCentersC
double * endCapLayerZPositionA
unsigned int endcapNumberOfAWheels
double endCapThicknessOfMbrane
double * shellCornerXPosition[nBarrelRings]
double endCapRadialThicknessOfOuterSupportB
Definition of the abstract IRDBAccessSvc interface.
unsigned int barrelNumberOfLayersWithLargeDeadRegion
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.
double endCapZMinOfMbraneWheelB2
double virtualBarrelVolumeLength
double endCapOuterRadiusOfSupportB
unsigned int endCapNumberOfStrawLayersPerWheelC
unsigned int endCapNumberOfStrawLayersPerWheelB
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
This is a helper class to query the version tags from GeoModelSvc and determine the appropriate tag a...
unsigned int nBarrelModules
Eigen::Affine3d Transform3D
double endCapZMaxOfMbraneWheelA1
std::string versionDescription
double innerRadiusOfStraw
const std::string & tag() const
Return version tag.
unsigned int * barrelIndexOfSecondGlobalAlignmentStraw
double endCapInnerRadiusOfSupportB
unsigned int * barrelNumberOfStrawLayersInModule
double innerRadiusOfEndCapVolumeC
unsigned int endCapNumberOfStrawLayersPerWheelA
double lengthOfBarrelVolume
double endCapRMinOfHeatExchanger
double * shellCornerYPosition[nBarrelRings]
unsigned int endcapNumberOfStrawsInStrawLayer_BWheels
const IGeoDbTagSvc * geoDbTagSvc() const
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
double * barrelYOfCoolingTube[nBarrelRings]
double barrelVirtualVolumeRMinClearance
TRT_DetDescrDB_ParameterInterface()=delete
double endCapThinRadiatorThicknessB
unsigned int endcapNumberOfStrawsInStrawLayer_CWheels
double endCapMainRadiatorThicknessB
double thicknessOfBarrelOuterSupport
double endcapInnerRadiusOfOuterSupport_wheelC
MsgStream & msg(MSG::Level lvl)
std::string digversionname
double endCapZMaxOfMbraneWheelB1
double endCapRadialDistFromRadToOuterSupportC
double * barrelXOfSecondGlobalAlignmentStraw
double endCapHeatExchangerThicknessB
unsigned int nShellCorners
unsigned int endcapNumberOfBWheels
double barrelLengthOfTwister
double * barrelXOfCoolingTube[nBarrelRings]
unsigned int nBarrelModulesUsed
bool includeBarServiceAndFlange
double endCapInnerRadiusOfSupportC
double endCapMainRadiatorThicknessC
double * strawYPosition[nBarrelRings]
double * barrelXOfFirstGlobalAlignmentStraw
virtual InDetDD::DistortedMaterialManager * distortedMatManager() override
InDetDD::DistortedMaterialManager * m_distortedMatManager
double endCapOuterRadiusOfSupportA
double endCapShiftForEachRotation
TopLevelPlacements * m_placements
double endCapInnerRadiusOfSupportA
double endCapZMaxOfMbraneWheelA2
virtual void SetValues() override
unsigned int * barrelNumberOfStrawsInStrawLayer[nBarrelRings]
Definition of the abstract IRDBRecord interface.
virtual bool isFieldNull(const std::string &fieldName) const =0
Check if the field value is NULL.
IRDBRecord is one record in the IRDBRecordset object.
double barrelOuterRadiusOfStrawHole
double endCapMainRadiatorThicknessA
double endCapLengthOfWheelsC
double endCapRadialThicknessOfInnerSupportA
double endCapThinRadiatorThicknessC
double endCapPositionOfFirstWheelC
double endCapZMinOfMbraneWheelA1
virtual bool partPresent(const std::string &partName) const override
double innerRadiusOfEndCapVolumeAB
double barrelVirtualVolumeRMaxClearance
double thicknessOfBarrelInnerSupport
unsigned int * barrelNumberOfStrawsInModule
double endCapLengthOfWheelsB
virtual double getDouble(const std::string &fieldName) const =0
Get double field value.
double endCapFaradayFoilThickness
double endCapPositionOfFirstWheelB[2]
Definition of the abstract IRDBRecordset interface.
double endCapZMinOfMbraneWheelB1
IRDBAccessSvc * rdbAccessSvc()
double lengthOfEndCapVolumeAB
double outerRadiusOfStraw
virtual float getFloat(const std::string &fieldName) const =0
Get float field value.
~TRT_DetDescrDB_ParameterInterface()
double positionOfEndCapVolumeAB
double endCapPositionOfFirstWheelA[2]
double * strawXPosition[nBarrelRings]
double virtualBarrelOuterRadius
virtual const GeoTrf::Transform3D & partTransform(const std::string &partName) const override
double barrelLengthOfStraw
double endCapRadialDistFromRadToOuterSupportB
double * barrelYOfFirstGlobalAlignmentStraw
double endCapRadialThicknessOfOuterSupportA
IRDBRecordset_ptr m_scalingTable
unsigned int endcapNumberOfStrawsInStrawLayer_AWheels
double virtualBarrelInnerRadius