From cf1c29ec93fc6dcf6f01d475a542eb0b45dbfd6e Mon Sep 17 00:00:00 2001 From: scott snyder <scott.snyder@cern.ch> Date: Thu, 20 Apr 2017 18:05:04 +0200 Subject: [PATCH] SGComps: Supporting aliases and symlinks. Extend SGInputLoader to tell hive about aliases and symlinks for objects being read. Former-commit-id: 454282e4f37ebea97028dee958a9559de096d6f1 --- Control/SGComps/src/SGInputLoader.cxx | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Control/SGComps/src/SGInputLoader.cxx b/Control/SGComps/src/SGInputLoader.cxx index 0815f2a2f61..8a77c39b056 100644 --- a/Control/SGComps/src/SGInputLoader.cxx +++ b/Control/SGComps/src/SGInputLoader.cxx @@ -89,7 +89,20 @@ SGInputLoader::execute() if (dp->transientAddress()->provider() == 0) { ATH_MSG_DEBUG(" obj " << obj << " has no provider, and is only Transient" ); } + + // Tell hive about the object. evtStore()->addedNewTransObject(obj.clid(), obj.key()); + + // Also add all aliases... + for (const std::string& alias : dp->alias()) { + evtStore()->addedNewTransObject(obj.clid(), alias); + } + + // ... and linked classes. + for (CLID clid2 : dp->transientAddress()->transientID()) { + if (clid2 != obj.clid()) + evtStore()->addedNewTransObject(clid2, obj.key()); + } } else { ATH_MSG_ERROR("unable to get proxy for " << obj); } -- GitLab