13 #include "GeoModelKernel/GeoPhysVol.h"
14 #include "GeoModelKernel/GeoTransform.h"
15 #include "GeoModelKernel/GeoNameTag.h"
16 #include "GeoModelKernel/GeoShapeUnion.h"
18 #include "CLHEP/Geometry/Transform3D.h"
23 #include "GaudiKernel/MsgStream.h"
24 #include "GaudiKernel/Bootstrap.h"
30 #include "GeoModelKernel/CellBinning.h"
50 log << MSG::INFO <<
"+++++++++++++++++++++++++++++++++++++++++++++++++++++" <<
endmsg;
52 log << MSG::INFO <<
"+ HELLO from LAr::DetectorFactoryTBEC +" <<
endmsg;
54 log << MSG::INFO <<
"+++++++++++++++++++++++++++++++++++++++++++++++++++++" <<
endmsg;
56 SmartIF<StoreGateSvc>
detStore{Gaudi::svcLocator()->service(
"DetectorStore")};
58 throw std::runtime_error(
"Error in LArDetectorFactoryTBEC, cannot access DetectorStore");
71 a_container->add(
new GeoNameTag(
"LAr"));
78 if (StatusCode::SUCCESS==
detStore->retrieve(sEmecOuterWheel,
"EMEC_OUTER_WHEEL_POS" )) {
79 GeoIntrusivePtr<GeoFullPhysVol>emecEnvelope= sEmecOuterWheel->
getPhysVol();
84 CellBinning phiBinning(startPhi,endPhi,8,12);
92 CellBinning phiBinning(startPhi,endPhi,8,12);
99 CellBinning phiBinning(startPhi,endPhi,8,12);
106 CellBinning phiBinning(startPhi,endPhi,8,12);
113 CellBinning phiBinning(startPhi,endPhi,8,12);
120 CellBinning phiBinning(startPhi,endPhi,8,12);
127 CellBinning phiBinning(startPhi,endPhi,32,48);
134 CellBinning phiBinning(startPhi,endPhi,32,48);
141 CellBinning phiBinning(startPhi,endPhi,32,48);
148 if (StatusCode::SUCCESS==
detStore->retrieve(sEmecInnerWheel,
"EMEC_INNER_WHEEL_POS" )) {
149 GeoIntrusivePtr<GeoFullPhysVol>emecEnvelope= sEmecInnerWheel->
getPhysVol();
152 CellBinning phiBinning(startPhi,endPhi,8,12);
160 CellBinning phiBinning(startPhi,endPhi,8,12);
169 if (StatusCode::SUCCESS==
detStore->retrieve(sPresamplerEnvelope,
"PRESAMPLER_EC_POS" )) {
170 GeoIntrusivePtr<GeoFullPhysVol> PresamplerEnvelope=sPresamplerEnvelope->
getPhysVol();
171 CellBinning presamplerPhiBinning(startPhi,endPhi,8,12);
176 detStore->record(emecDetectorManager,emecDetectorManager->getName()).ignore();
185 return m_detectorManager;