diff --git a/Control/IOVSvc/src/CondInputLoader.cxx b/Control/IOVSvc/src/CondInputLoader.cxx index d6d88121fd8bb31fa83dc3b14ef29b87ae3fb6b6..0d90d365001f967623dfa3d4eaddf56016fd05df 100644 --- a/Control/IOVSvc/src/CondInputLoader.cxx +++ b/Control/IOVSvc/src/CondInputLoader.cxx @@ -58,7 +58,8 @@ CondInputLoader::CondInputLoader( const std::string& name, m_condStore("StoreGateSvc/ConditionStore", name), m_condSvc("CondSvc",name), m_IOVSvc("IOVSvc",name), - m_clidSvc("ClassIDSvc",name) + m_clidSvc("ClassIDSvc",name), + m_rcuSvc("Athena::RCUSvc",name) { // @@ -93,6 +94,7 @@ CondInputLoader::initialize() ATH_CHECK( m_condSvc.retrieve() ); ATH_CHECK( m_condStore.retrieve() ); ATH_CHECK( m_clidSvc.retrieve() ); + ATH_CHECK( m_rcuSvc.retrieve() ); // Trigger read of IOV database ServiceHandle<IIOVSvc> ivs("IOVSvc",name()); @@ -259,12 +261,12 @@ CondInputLoader::start() << "This is a BAD sign, but will try to continue"); } SG::DataObjectSharedPtr<DataObject> cb = - CondContainer::CondContFactory::Instance().Create( ditr->clid(), ditr->key() ); + CondContainer::CondContFactory::Instance().Create( *m_rcuSvc, ditr->clid(), ditr->key() ); if (cb == 0) { // try to force a load of libraries using ROOT (void)TClass::GetClass (tp.c_str()); cb = - CondContainer::CondContFactory::Instance().Create( ditr->clid(), ditr->key() ); + CondContainer::CondContFactory::Instance().Create( *m_rcuSvc, ditr->clid(), ditr->key() ); } if (cb == 0) { ATH_MSG_ERROR("failed to create CondCont<" << tp diff --git a/Control/IOVSvc/src/CondInputLoader.h b/Control/IOVSvc/src/CondInputLoader.h index 3a4482668eb959dcf88281d4b9d71a288df1aa48..240a8afda01899ede3ca11dd5330a4e57a15ab08 100644 --- a/Control/IOVSvc/src/CondInputLoader.h +++ b/Control/IOVSvc/src/CondInputLoader.h @@ -89,6 +89,7 @@ class CondInputLoader ServiceHandle<ICondSvc> m_condSvc; ServiceHandle<IIOVSvc> m_IOVSvc; ServiceHandle<IClassIDSvc> m_clidSvc; + ServiceHandle<Athena::IRCUSvc> m_rcuSvc; std::map<std::string,std::string> m_keyFolderMap; };