209 double cylinderOuterRadius =
parameters->thermalShieldOuterRadius();
210 double cylinderInnerRadius =
parameters->thermalShieldInnerRadius();
211 double cylinderLength =
parameters->cylinderLength();
212 double bulkheadInnerRadius =
parameters->thermalShieldBulkheadInnerRadius();
213 double bulkheadOuterRadius =
parameters->thermalShieldBulkheadOuterRadius();
214 double bulkheadThickness =
parameters->thermalShieldEndCapCylThickness();
215 double endPanelInnerRadius =
parameters->thermalShieldEndPanelInnerRadius();
216 double endPanelOuterRadius =
parameters->thermalShieldEndPanelOuterRadius();
217 double endPanelThickness =
parameters->thermalShieldEndCapThickness();
218 double endPanelZMax =
parameters->thermalShieldEndZMax();
220 std::string cylinderMaterialName =
parameters->thermalShieldMaterialCyl();
221 std::string bulkheadMaterialName =
parameters->thermalShieldMaterialOuterSect();
222 std::string endPanelMaterialName =
parameters->thermalShieldMaterialInnerSect();
226 const GeoTube * cylinderShape =
new GeoTube(cylinderInnerRadius, cylinderOuterRadius, 0.5*cylinderLength);
228 const GeoLogVol * cylinderLog =
new GeoLogVol(
"ThShieldOuterCyl", cylinderShape, cylinderMaterial);
229 GeoPhysVol * cylinder =
new GeoPhysVol(cylinderLog);
233 const GeoTube * bulkheadShape =
new GeoTube(bulkheadInnerRadius, bulkheadOuterRadius, 0.5*bulkheadThickness);
235 const GeoLogVol * bulkheadLog =
new GeoLogVol(
"ThShieldBulkhead", bulkheadShape, bulkheadMaterial);
236 GeoPhysVol * bulkhead =
new GeoPhysVol(bulkheadLog);
237 GeoTransform * bulkheadPosPlus =
new GeoTransform(GeoTrf::TranslateZ3D(+(endPanelZMax-endPanelThickness-0.5*bulkheadThickness)));
238 GeoTransform * bulkheadPosMinus =
new GeoTransform(GeoTrf::TranslateZ3D(-(endPanelZMax-endPanelThickness-0.5*bulkheadThickness)));
239 parent->add(bulkheadPosPlus);
241 parent->add(bulkheadPosMinus);
245 const GeoTube * endPanelShape =
new GeoTube(endPanelInnerRadius, endPanelOuterRadius, 0.5*endPanelThickness);
247 const GeoLogVol * endPanelLog =
new GeoLogVol(
"ThShieldEndPanel", endPanelShape, endPanelMaterial);
248 GeoPhysVol * endPanel =
new GeoPhysVol(endPanelLog);
249 GeoTransform * endPanelPosPlus =
new GeoTransform(GeoTrf::TranslateZ3D(+(endPanelZMax-0.5*endPanelThickness)));
250 GeoTransform * endPanelPosMinus =
new GeoTransform(GeoTrf::TranslateZ3D(-(endPanelZMax-0.5*endPanelThickness)));
251 parent->add(endPanelPosPlus);
253 parent->add(endPanelPosMinus);