55 ISvcLocator* svcLocator = Gaudi::svcLocator();
57 SmartIF<IGeoDbTagSvc> geoDbTagSvc{svcLocator->service(
"GeoDbTagSvc")};
58 if(!geoDbTagSvc.isValid()) {
59 throw std::runtime_error (
"Cannot locate GeoDBTagSvc");
62 SmartIF<IRDBAccessSvc> pAccessSvc{svcLocator->service(geoDbTagSvc->getParamSvcName())};
63 if(!pAccessSvc.isValid()) {
64 throw std::runtime_error (
"Cannot locate " + geoDbTagSvc->getParamSvcName());
67 std::string detectorKey;
68 std::string detectorNode;
71 if(geoDbTagSvc->getSqliteReader()==
nullptr) {
73 SmartIF<IGeoModelSvc> geoModel{svcLocator->service(
"GeoModelSvc")};
74 if(!geoModel.isValid()) {
75 throw std::runtime_error (
"Cannot locate GeoModelSvc");
79 std::string LArVersion = geoModel->LAr_VersionOverride();
81 detectorKey = LArVersion.empty() ?
AtlasVersion : LArVersion;
82 detectorNode = LArVersion.empty() ?
"ATLAS" :
"LAr";
85 m_c->
emecCylLayer = pAccessSvc->getRecordsetPtr(
"EmecCylLayer",detectorKey, detectorNode);
86 m_c->
emecGeometry = pAccessSvc->getRecordsetPtr(
"EmecGeometry",detectorKey, detectorNode);
87 m_c->
emecRapRegion = pAccessSvc->getRecordsetPtr(
"EmecRapRegion",detectorKey, detectorNode);
88 m_c->
emecSamplingSep = pAccessSvc->getRecordsetPtr(
"EmecSamplingSep",detectorKey, detectorNode);
90 m_c->
emecWhlOptParm = pAccessSvc->getRecordsetPtr(
"EmecWhlOptParm",detectorKey, detectorNode);