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