#include <ExcluderConstruction.h>
Definition at line 18 of file ExcluderConstruction.h.
◆ ExcluderConstruction()
LArGeo::ExcluderConstruction::ExcluderConstruction |
( |
| ) |
|
|
default |
◆ ~ExcluderConstruction()
LArGeo::ExcluderConstruction::~ExcluderConstruction |
( |
| ) |
|
|
virtualdefault |
◆ GetEnvelope()
GeoIntrusivePtr< GeoPhysVol > LArGeo::ExcluderConstruction::GetEnvelope |
( |
| ) |
|
|
virtual |
Definition at line 54 of file ExcluderConstruction.cxx.
61 ISvcLocator *svcLocator = Gaudi::svcLocator();
63 if (svcLocator->service(
"DetectorStore",
detStore,
false )==StatusCode::FAILURE) {
64 throw std::runtime_error(
"Error in ExcluderConstruction, cannot access DetectorStore");
72 if (StatusCode::SUCCESS !=
detStore->retrieve(materialManager, std::string(
"MATERIALS")))
return nullptr;
76 const GeoMaterial *Air = materialManager->
getMaterial(
"std::Air");
78 throw std::runtime_error(
"Error in ExcluderConstruction, std::Air is not found.");
85 const GeoElement*
C=materialManager->
getElement(
"Carbon");
86 const GeoElement*
H=materialManager->
getElement(
"Hydrogen");
87 const GeoElement*
O=materialManager->
getElement(
"Oxygen");
88 const GeoElement*
N=materialManager->
getElement(
"Nitrogen");
90 Rohacell->add(C,0.6465);
91 Rohacell->add(H,0.07836);
92 Rohacell->add(O,0.19137);
93 Rohacell->add(
N,0.08377);
97 if (geoDbTagSvc.retrieve().isFailure()) {
98 throw std::runtime_error (
"Cannot locate GeoDbTagSvc!!");
102 std::string LArVersion = geoDbTagSvc->LAr_VersionOverride();
104 std::string detectorKey = LArVersion.empty() ?
AtlasVersion : LArVersion;
105 std::string detectorNode = LArVersion.empty() ?
"ATLAS" :
"LAr";
127 std::string ExcluderName =
"LAr::H6::Cryostat::Excluder";
129 GeoBox* rohaBox =
new GeoBox(xbox, ybox, zbox);
130 const GeoShapeShift & rohaBoxShift = (*rohaBox << GeoTrf::TranslateY3D(1062.85*
Gaudi::Units::mm) );
131 GeoTubs* rohaTubs =
new GeoTubs(rmin, rcold, ztubs, phitubs, delphi);
134 const GeoShapeUnion* Excluder =
new GeoShapeUnion(&rohaBoxShift, rohaTubs);
136 const GeoLogVol* LogExcluder =
new GeoLogVol(ExcluderName, Excluder, Rohacell);
137 GeoIntrusivePtr<GeoPhysVol> PhysExcluder =
new GeoPhysVol(LogExcluder);
138 PhysExcluder->add(
new GeoNameTag(ExcluderName) );
The documentation for this class was generated from the following files: