52 {
53
55
56 double safety = 0.001*Gaudi::Units::mm;
57 bool isBLayer = false;
58 if(
m_gmt_mgr->GetLD() == 0) isBLayer =
true;
62
63
64 double endBlockFixingPoint=
m_gmt_mgr->IBLStaveMechanicalStaveEndBlockFixPoint();
65 double totalStaveLength =
m_gmt_mgr->IBLStaveLength();
66
68 {
69
70 double ringWidth =
m_gmt_mgr->IBLSupportRingWidth();
73 double fixingPoint =
m_gmt_mgr->IBLSupportMechanicalStaveRingFixPoint();
74
75
76
79
80 double endBlockPosition = totalStaveLength*0.5+endBlockFixingPoint;
81 double ringPosition = -ringWidth*0.5+fixingPoint;
83
87
88
91 const GeoMaterial* ring_material_weight =
m_mat_mgr->getMaterialForVolume(
"pix::StaveRing_IBLwght",ring_tube->volume());
92 m_gmt_mgr->msg(MSG::DEBUG)<<
"IBL stave ring weighted material : "<<(ring_material_weight==
nullptr)<<
endmsg;
93
94 GeoLogVol * logVol = nullptr;
95 if(ring_material_weight)
96 logVol =
new GeoLogVol(
m_ringName,ring_tube,ring_material_weight);
97 else {
98 const GeoMaterial* ring_material =
m_mat_mgr->getMaterial(
"pix::StaveRing_IBL");
99 logVol =
new GeoLogVol(
m_ringName,ring_tube,ring_material);
100 }
101 GeoPhysVol * logVolPV = new GeoPhysVol(logVol);
102 m_gmt_mgr->msg(MSG::INFO) <<
"Build detailed stave ring support - logVol : "<<logVol->getName()<<
endmsg;
103
104 return logVolPV;
105 }
106
107
108 double ringWidth =
m_gmt_mgr->IBLSupportMidRingWidth();
111
113
114
116 const GeoMaterial* ring_material_weight =
m_mat_mgr->getMaterialForVolume(
"pix::StaveRingMid_IBLwght",ring_tube->volume());
117 GeoLogVol *logVol=nullptr;
118 if(ring_material_weight)
119 logVol =
new GeoLogVol(
m_ringName,ring_tube,ring_material_weight);
120 else {
121 const GeoMaterial* ring_material =
m_mat_mgr->getMaterial(
"pix::MiddleRing_IBL");
122 logVol =
new GeoLogVol(
m_ringName,ring_tube,ring_material);
123 }
124
125 GeoPhysVol * logVolPV = new GeoPhysVol(logVol);
126
127 m_gmt_mgr->msg(MSG::INFO) <<
"Build detailed stave ring support - logVol : "<<logVol->getName()<<
endmsg;
128
129 return logVolPV;
130
131}
std::shared_ptr< std::map< std::string, GeoFullPhysVol * > > m_mapFPV
std::shared_ptr< std::map< std::string, GeoAlignableTransform * > > m_mapAX
GeoModelIO::ReadGeoModel * m_sqliteReader
PixelGeometryManager * m_gmt_mgr
InDetDD::PixelDetectorManager * m_DDmgr
InDetMaterialManager * m_mat_mgr