49 ISvcLocator* svcLocator = Gaudi::svcLocator();
51 SmartIF<IGeoDbTagSvc> geoDbTagSvc{svcLocator->service(
"GeoDbTagSvc")};
52 if(!geoDbTagSvc.isValid()) {
53 throw std::runtime_error (
"Cannot locate GeoDBTagSvc");
56 SmartIF<IRDBAccessSvc> pAccessSvc{svcLocator->service(geoDbTagSvc->getParamSvcName())};
57 if(!pAccessSvc.isValid()) {
58 throw std::runtime_error (
"Cannot locate " + geoDbTagSvc->getParamSvcName());
61 std::string detectorKey;
62 std::string detectorNode;
64 if(geoDbTagSvc->getSqliteReader()==
nullptr) {
66 SmartIF<IGeoModelSvc> geoModel{svcLocator->service(
"GeoModelSvc")};
67 if(!geoModel.isValid()) {
68 throw std::runtime_error (
"Cannot locate GeoModelSvc");
72 std::string LArVersion = geoModel->LAr_VersionOverride();
74 detectorKey = LArVersion.empty() ?
AtlasVersion : LArVersion;
75 detectorNode = LArVersion.empty() ?
"ATLAS" :
"LAr";
79 m_c->
hadronicEndcap = pAccessSvc->getRecordsetPtr(
"HadronicEndcap",detectorKey, detectorNode);
80 m_c->
hecGridValues = pAccessSvc->getRecordsetPtr(
"HecGridValues",detectorKey, detectorNode);