83 SmartIF<IRDBAccessSvc> iAccessSvc(Gaudi::svcLocator()->service(
"RDBAccessSvc"));
87 throw std::runtime_error(
"No RDBAccessSvc found!");
90 SmartIF<IGeoModelSvc> geoModel{Gaudi::svcLocator()->service (
"GeoModelSvc")};
94 throw std::runtime_error(
"No GeoModelSvc found!");
98 ATH_MSG_INFO(
"Loading ZDC geometry from tag: " << versionKey.tag() <<
" node: " << versionKey.node());
99 IRDBRecordset_ptr tanParams = iAccessSvc->getRecordsetPtr(
"TanTaxn",versionKey.tag(), versionKey.node());
100 IRDBRecordset_ptr zdcParams = iAccessSvc->getRecordsetPtr(
"ZdcPrd",versionKey.tag(), versionKey.node());
103 for(AccessSvc_iter = tanParams->begin(); AccessSvc_iter != tanParams->end(); ++AccessSvc_iter)
105 const std::string &
name = (*AccessSvc_iter)->getString(
"NAME");
106 int side = (*AccessSvc_iter)->getInt(
"SIDE");
107 double x = (*AccessSvc_iter)->getDouble(
"X");
108 double y = (*AccessSvc_iter)->getDouble(
"Y");
109 double z = (*AccessSvc_iter)->getDouble(
"Z");
110 double w = (*AccessSvc_iter)->getDouble(
"WIDTH");
111 double h = (*AccessSvc_iter)->getDouble(
"HEIGHT");
112 double d = (*AccessSvc_iter)->getDouble(
"DEPTH");
124 for(AccessSvc_iter = zdcParams->begin(); AccessSvc_iter != zdcParams->end(); ++AccessSvc_iter)
126 const std::string &
name = (*AccessSvc_iter)->getString(
"NAME");
128 if ( (
key.find(
"RPD") == std::string::npos) &&
129 (
key.find(
"BRAN") == std::string::npos) )
132 int side = (*AccessSvc_iter)->getInt(
"SIDE");
133 int mod = (*AccessSvc_iter)->getInt(
"MODUL");
135 if (!(*AccessSvc_iter)->isFieldNull(
"TYPE"))
137 type = (*AccessSvc_iter)->getInt(
"TYPE");
139 double x = (*AccessSvc_iter)->getDouble(
"X");
140 double y = (*AccessSvc_iter)->getDouble(
"Y");
141 double z = (*AccessSvc_iter)->getDouble(
"Z");
142 double q = (*AccessSvc_iter)->getDouble(
"Q");
143 double i = (*AccessSvc_iter)->getDouble(
"I");
144 double j = (*AccessSvc_iter)->getDouble(
"J");
145 double k = (*AccessSvc_iter)->getDouble(
"K");
160 ATH_MSG_INFO(
"Loaded ZDC DB from GeoDB" << versionKey.tag());