![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
6 #include "GeoModelKernel/Units.h"
18 TRTParameterInterface(), m_athenaComps(athenaComps), m_distortedMatManager(nullptr), m_placements(nullptr)
32 for (
unsigned int iRing = 0; iRing <
nBarrelRings; iRing++) {
69 const std::string& detectorKey = versionKey.
tag();
70 const std::string& detectorNode = versionKey.
node();
108 const IRDBRecord *RDBVars_DigVersion = (*RDB_DigVersion)[0];
141 const IRDBRecord* RDBVars_CommonPars = (*RDB_CommonPars)[0];
153 const IRDBRecord* RDBVars_BarrelOverallPars = (*RDB_BarrelOverallPars)[0];
163 const IRDBRecord* RDBVars_BarrelServices = (*RDB_BarrelServices)[0];
187 if (!RDBVars_BarrelOverallPars->
isFieldNull(
"BRLVIRTVOLZCLEARANCE")) {
228 const IRDBRecord* ringVars = (*RDB_BarrelRingDepPars)[
i];
236 unsigned int cumulLayer = 0;
239 const IRDBRecord* layerVars = (*RDB_BarrelNStrawInLay)[cumulLayer++];
252 msg(MSG::WARNING) <<
"DD Database indicates nCoolingTubes != 2, but the code" <<
" can't cope with that. Putting nCoolingTubes=2" <<
endmsg;
258 msg(MSG::WARNING) <<
"DD Database indicates nShellCorners != 4, but the code" <<
" can't cope with that. Putting nShellCorners=4" <<
endmsg;
262 for (
unsigned int iRing = 0; iRing <
nBarrelRings; iRing++) {
293 unsigned int cumulativeStrawNumber = 0;
298 const IRDBRecord*
row = (*RDB_BarrelStrawCoord)[cumulativeStrawNumber++];
310 const IRDBRecord* RDBVars_EndCapOverallPars = (*RDB_EndCapOverallPars)[0];
312 const IRDBRecord* RDBVars_A_Wheel = (*RDB_ECWheelTypDepPars)[0];
313 const IRDBRecord* RDBVars_B_Wheel = (*RDB_ECWheelTypDepPars)[1];
314 const IRDBRecord* RDBVars_C_Wheel = (*RDB_ECWheelTypDepPars)[2];
330 if ( RDBVars_A_Wheel->
getFloat(
"OUTERRADIUSOFINNERSUP") != RDBVars_B_Wheel->
getFloat(
"OUTERRADIUSOFINNERSUP") )
331 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;
332 if ( RDBVars_A_Wheel->
getFloat(
"INNERRADIUSOFOUTERSUP") != RDBVars_B_Wheel->
getFloat(
"INNERRADIUSOFOUTERSUP") )
333 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;
374 msg(MSG::WARNING) <<
"DD Database indicates a nonzero middle radiator thickness in the A wheel" <<
" where middle radiators doesn't exist. Ignoring parameter." <<
endmsg;
376 msg(MSG::WARNING) <<
"DD Database indicates a nonzero middle radiator thickness in the C wheel" <<
" where middle radiators doesn't exist. Ignoring parameter." <<
endmsg;
402 const IRDBRecord* RDBECEndCapDepPars_EndCap_C = (*RDB_ECEndCapDepPars)[0];
403 const IRDBRecord* RDBECEndCapDepPars_EndCap_A = (*RDB_ECEndCapDepPars)[1];
467 const IRDBRecord* RDBVars_ECHeatExchAndFoil = (*RDB_ECHeatExchAndFoil)[0];
479 const IRDBRecord* RDBVars_ECMembranePars = (*RDB_ECMembranePars)[0];
507 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
virtual bool partPresent(const std::string &partName) const
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
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
InDetDD::DistortedMaterialManager * m_distortedMatManager
double endCapOuterRadiusOfSupportA
double endCapShiftForEachRotation
TopLevelPlacements * m_placements
double endCapInnerRadiusOfSupportA
double endCapZMaxOfMbraneWheelA2
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
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]
TRT_DetDescrDB_ParameterInterface(InDetDD::AthenaComps *athenaComps)
Definition of the abstract IRDBRecordset interface.
double endCapZMinOfMbraneWheelB1
virtual InDetDD::DistortedMaterialManager * distortedMatManager()
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
double barrelLengthOfStraw
double endCapRadialDistFromRadToOuterSupportB
virtual const GeoTrf::Transform3D & partTransform(const std::string &partName) const
double * barrelYOfFirstGlobalAlignmentStraw
double endCapRadialThicknessOfOuterSupportA
IRDBRecordset_ptr m_scalingTable
unsigned int endcapNumberOfStrawsInStrawLayer_AWheels
double virtualBarrelInnerRadius