Destructor.
206 :
m_c(
new Clockwork())
208 ISvcLocator *svcLocator = Gaudi::svcLocator();
213 if(svcLocator->service(
"GeoModelSvc",geoModel) == StatusCode::FAILURE)
214 throw std::runtime_error(
"Error in HECDetectorManager, cannot access GeoModelSvc");
216 if(svcLocator->service(
"GeoDbTagSvc",geoDbTagSvc) == StatusCode::FAILURE)
217 throw std::runtime_error(
"Error in HECDetectorManager, cannot access GeoDbTagSvc");
219 if(svcLocator->service(geoDbTagSvc->getParamSvcName(),rdbAccess) == StatusCode::FAILURE)
220 throw std::runtime_error(
"Error in HECDetectorManager, cannot access RDBAccessSvc");
222 std::string detectorKey, detectorNode;
224 if(geoDbTagSvc->getSqliteReader()==
nullptr) {
226 std::string LArVersion = geoModel->LAr_VersionOverride();
228 detectorKey = LArVersion.empty() ?
AtlasVersion : LArVersion;
229 detectorNode = LArVersion.empty() ?
"ATLAS" :
"LAr";
232 IRDBRecordset_ptr barrelGeometry = rdbAccess->getRecordsetPtr(
"BarrelGeometry",detectorKey,detectorNode);
233 if (barrelGeometry->size()==0) {
234 throw std::runtime_error(
"Cannot find the BarrelGeometry Table");
237 IRDBRecordset_ptr barrelLongDiv = rdbAccess->getRecordsetPtr(
"BarrelLongDiv",detectorKey,detectorNode);
238 if (barrelLongDiv->size()==0) {
239 throw std::runtime_error(
"Cannot find the BarrelLongDiv Table");
243 m_c->
Nbrt = (*barrelGeometry)[0]->getInt(
"NBRT");
247 m_c->
gam0 = (*barrelGeometry)[0]->getDouble(
"PHIFIRST");
252 for (
int idat = 0; idat <
m_c->
Nbrt1 ; idat++)
268 m_c->
NCellTot = (*barrelGeometry)[0]->getInt(
"NCELMX");