10 #include "LArReadoutGeometry/FCAL_ChannelMap.h"
12 #include "GeoModelKernel/GeoPhysVol.h"
13 #include "GeoModelKernel/GeoTransform.h"
14 #include "GeoModelKernel/GeoNameTag.h"
15 #include "GeoModelKernel/GeoShapeUnion.h"
17 #include "CLHEP/Geometry/Transform3D.h"
23 #include "GaudiKernel/MsgStream.h"
24 #include "GaudiKernel/Bootstrap.h"
28 : m_detectorManager(nullptr),
42 ISvcLocator *svcLocator = Gaudi::svcLocator();
44 if (svcLocator->service(
"MessageSvc",
msgSvc,
true )==StatusCode::FAILURE) {
45 throw std::runtime_error(
"Error in LAr::DetectorFactor, cannot access MessageSvc");
48 MsgStream
log(
msgSvc,
"LAr::DetectorFactory");
50 log <<
"++++++++++++++++++++++++++++++++++++++++++++++++++++" << std::endl;
51 log <<
"+ +" << std::endl;
52 log <<
"+ HELLO from LAr::DetectorFactory +" << std::endl;
53 log <<
"+ +" << std::endl;
54 log <<
"+++++++++++++++++++++++++++++++++++++++++++++++++++++" << std::endl;
59 if (svcLocator->service(
"DetectorStore",
detStore,
false )==StatusCode::FAILURE) {
60 throw std::runtime_error(
"Error in LArDetectorFactoryH62003, cannot access DetectorStore");
73 a_container->add(
new GeoNameTag(
"LAr"));
80 std::cout <<
"In the LArDetectorFactory.........." << std::endl;
85 if (StatusCode::SUCCESS!=
detStore->retrieve(fcal1,
"FCAL1_NEG")) {
86 log << MSG::WARNING <<
"No volume created for FCAL 1 Neg" <<
endmsg;
92 if (StatusCode::SUCCESS!=
detStore->retrieve(fcal2,
"FCAL2_NEG")) {
93 log << MSG::WARNING <<
"No volume created for FCAL 2 Neg" <<
endmsg;
99 if (StatusCode::SUCCESS!=
detStore->retrieve(fcal3,
"FCAL3_NEG")) {
100 log << MSG::WARNING <<
"No volume created for FCAL 3 Neg" <<
endmsg;
104 fcalDetectorManager->
addModule(detDescr);
108 detStore->record(fcalDetectorManager,fcalDetectorManager->getName()).ignore();
109 m_detectorManager =
new LArDetectorManager(
nullptr,
nullptr,
nullptr,fcalDetectorManager);
110 m_detectorManager->addTreeTop(
Envelope);
118 return m_detectorManager;