54 ISvcLocator* svcLocator = Gaudi::svcLocator();
57 StatusCode sc = svcLocator->service(
"GeoDbTagSvc",geoDbTagSvc);
58 if (
sc != StatusCode::SUCCESS) {
59 throw std::runtime_error (
"Cannot locate GeoDBTagSvc");
63 sc = svcLocator->service(geoDbTagSvc->getParamSvcName(),pAccessSvc);
64 if (
sc != StatusCode::SUCCESS) {
65 throw std::runtime_error (
"Cannot locate " + geoDbTagSvc->getParamSvcName());
68 std::string detectorKey;
69 std::string detectorNode;
71 if(geoDbTagSvc->getSqliteReader()==
nullptr) {
74 sc = svcLocator->service (
"GeoModelSvc",geoModel);
75 if (
sc != StatusCode::SUCCESS) {
76 throw std::runtime_error (
"Cannot locate GeoModelSvc");
80 std::string LArVersion = geoModel->LAr_VersionOverride();
82 detectorKey = LArVersion.empty() ?
AtlasVersion : LArVersion;
83 detectorNode = LArVersion.empty() ?
"ATLAS" :
"LAr";
86 if ( LArVersion.empty()) {
87 LArVersion=pAccessSvc->getChildTag(
"LAr",
AtlasVersion,
"ATLAS");
90 if (LArVersion ==
"LAr-00" || LArVersion ==
"LAr-01" ||
91 LArVersion ==
"LAr-Rome-Initial-00" ||
92 LArVersion ==
"LAr-H6-00" ||
93 LArVersion ==
"LAr-Commissioning-00" ||
94 LArVersion ==
"LAr-G3-00") {
96 std::cout <<
" in RALEmb: old database tag used, some values are hard coded" << std::endl;
97 std::cout <<
" Non projectivity of lead transition will not be simulated " << std::endl;
100 if (LArVersion ==
"LAr-00" || LArVersion ==
"LAr-01" || LArVersion ==
"LAr-02" ||
101 LArVersion ==
"LAr-Rome-Initial-00" ||
102 LArVersion ==
"LAr-H8-00" ||
103 LArVersion ==
"LAr-H6-00" ||
104 LArVersion ==
"LAr-Commissioning-00" ||
105 LArVersion ==
"LAr-G3-00") {
107 std::cout <<
" in RALEmb: only old sagging values available" << std::endl;
110 if (LArVersion ==
"LAr-00" || LArVersion ==
"LAr-01" || LArVersion ==
"LAr-02" ||
111 LArVersion ==
"LAr-03" || LArVersion ==
"LAr-04" ||
112 LArVersion ==
"LAr-Rome-Initial-00" ||
113 LArVersion ==
"LAr-H8-00" ||
114 LArVersion ==
"LAr-H6-00" ||
115 LArVersion ==
"LAr-Commissioning-00" ||
116 LArVersion ==
"LAr-Commissioning-01" ||
117 LArVersion ==
"LAr-G3-00" ||
118 LArVersion ==
"LAr-02-Align-00" ||
119 LArVersion ==
"LAr-02-Align-01" ||
120 LArVersion ==
"LAr-H6-2002-00" ||
121 LArVersion ==
"LAr-H6-2003-00" ||
122 LArVersion ==
"LAr-TBEC-00" ) {
128 m_c->
barrelGeometry = pAccessSvc->getRecordsetPtr(
"BarrelGeometry",detectorKey, detectorNode);
129 m_c->
barrelSagging = pAccessSvc->getRecordsetPtr(
"BarrelSagging",detectorKey, detectorNode);
131 m_c->
barrelMotherboards = pAccessSvc->getRecordsetPtr(
"BarrelMotherboards",detectorKey, detectorNode);
132 m_c->
barrelLongDiv = pAccessSvc->getRecordsetPtr(
"BarrelLongDiv",detectorKey, detectorNode);
133 m_c->
presamplerGeometry = pAccessSvc->getRecordsetPtr(
"PresamplerGeometry",detectorKey, detectorNode);