diff --git a/Database/AthenaPOOL/OutputStreamAthenaPool/src/MakeEventStreamInfo.cxx b/Database/AthenaPOOL/OutputStreamAthenaPool/src/MakeEventStreamInfo.cxx index 8b49f3e3ae13203315fd108dc7e33812616c297e..65699cc71c67d5b1df1352bdcaf02b4aabd618fd 100644 --- a/Database/AthenaPOOL/OutputStreamAthenaPool/src/MakeEventStreamInfo.cxx +++ b/Database/AthenaPOOL/OutputStreamAthenaPool/src/MakeEventStreamInfo.cxx @@ -23,13 +23,10 @@ //___________________________________________________________________________ MakeEventStreamInfo::MakeEventStreamInfo(const std::string& type, const std::string& name, - const IInterface* parent) : ::AthAlgTool(type, name, parent), + const IInterface* parent) : base_class(type, name, parent), m_metaDataSvc("MetaDataSvc", name), m_eventStore("StoreGateSvc", name) { - // Declare IAthenaOutputStreamTool interface - declareInterface<IAthenaOutputTool>(this); - // Declare the properties declareProperty("Key", m_key = ""); declareProperty("EventInfoKey", m_eventInfoKey = "EventInfo"); @@ -68,6 +65,10 @@ StatusCode MakeEventStreamInfo::preExecute() { return(StatusCode::SUCCESS); } //___________________________________________________________________________ +StatusCode MakeEventStreamInfo::preStream() { + return(StatusCode::SUCCESS); +} +//___________________________________________________________________________ StatusCode MakeEventStreamInfo::postExecute() { const IAlgorithm* parentAlg = dynamic_cast<const IAlgorithm*>(this->parent()); if (parentAlg == nullptr) { diff --git a/Database/AthenaPOOL/OutputStreamAthenaPool/src/MakeEventStreamInfo.h b/Database/AthenaPOOL/OutputStreamAthenaPool/src/MakeEventStreamInfo.h index d8dda11f4ae2b68bf780fe8aacf636cbb20dab96..fb4ffcef6a5bce945071313166d97d150d577b40 100644 --- a/Database/AthenaPOOL/OutputStreamAthenaPool/src/MakeEventStreamInfo.h +++ b/Database/AthenaPOOL/OutputStreamAthenaPool/src/MakeEventStreamInfo.h @@ -24,7 +24,7 @@ namespace xAODMaker { class IEventInfoCnvTool; } /** @class MakeEventStreamInfo * @brief This class provides an algorithm to make the EventStreamInfo object and update it. **/ -class MakeEventStreamInfo : public ::AthAlgTool, virtual public IAthenaOutputTool { +class MakeEventStreamInfo : public extends<::AthAlgTool, IAthenaOutputTool> { public: /// Standard AlgTool Constructor MakeEventStreamInfo(const std::string& type, const std::string& name, const IInterface* parent); @@ -32,17 +32,19 @@ public: virtual ~MakeEventStreamInfo(); /// Required of all IAthenaOutputTools: /// Called by AthenaOutputStream::initialize() (via ToolSvc retrieve()). - StatusCode initialize(); + virtual StatusCode initialize() override; /// Called at the end of AthenaOutputStream::initialize(). - StatusCode postInitialize(); + virtual StatusCode postInitialize() override; /// Called at the beginning of AthenaOutputStream::execute(). - StatusCode preExecute(); + virtual StatusCode preExecute() override; + /// Called before actually streaming objects. + virtual StatusCode preStream() override; /// Called at the end of AthenaOutputStream::execute(). - StatusCode postExecute(); + virtual StatusCode postExecute() override; /// Called at the beginning of AthenaOutputStream::finalize(). - StatusCode preFinalize(); + virtual StatusCode preFinalize() override; /// Called at the end of AthenaOutputStream::finalize() (via release()). - StatusCode finalize(); + virtual StatusCode finalize() override; private: /// Key, the StoreGate key for the EventStreamInfo object.