From b949083688715280d97c103169d8ffa7b3d41c52 Mon Sep 17 00:00:00 2001 From: Frank Winklmeier <frank.winklmeier@cern.ch> Date: Thu, 10 Oct 2024 14:41:18 +0200 Subject: [PATCH 1/4] ProxyProviderSvc: use ServiceHandle and SmartIF for services Also fix interface declarations for `AddressRemappingSvc` and `ByteStreamAddressProviderSvc` so they can actually be used with `SmartIF`. --- .../share/ProxyProviderSvc_test.ref | 1 - Control/SGComps/src/AddressRemappingSvc.cxx | 4 +- Control/SGComps/src/AddressRemappingSvc.h | 4 +- Control/SGComps/src/ProxyProviderSvc.cxx | 39 +++++++------------ Control/SGComps/src/ProxyProviderSvc.h | 5 +-- .../ByteStreamAddressProviderSvc.h | 10 ++--- .../src/ByteStreamAddressProviderSvc.cxx | 4 +- 7 files changed, 24 insertions(+), 43 deletions(-) diff --git a/AtlasTest/ControlTest/share/ProxyProviderSvc_test.ref b/AtlasTest/ControlTest/share/ProxyProviderSvc_test.ref index 66fa73e78b72..e1fbbdbbb2c1 100644 --- a/AtlasTest/ControlTest/share/ProxyProviderSvc_test.ref +++ b/AtlasTest/ControlTest/share/ProxyProviderSvc_test.ref @@ -5,7 +5,6 @@ ApplicationMgr INFO Application Manager Configured successfully DetectorStore VERBOSE Initializing DetectorStore DetectorStore_ImplVERBOSE Initializing DetectorStore_Impl ProxyProviderSvc VERBOSE Initializing ProxyProviderSvc -ProxyProviderSvc VERBOSE ServiceLocatorHelper::service: found service EventPersistencySvc HistoryStore VERBOSE Initializing HistoryStore HistoryStore_Impl VERBOSE Initializing HistoryStore_Impl EventLoopMgr WARNING Unable to locate service "EventSelector" diff --git a/Control/SGComps/src/AddressRemappingSvc.cxx b/Control/SGComps/src/AddressRemappingSvc.cxx index 881743e11b57..b75aa63a126f 100644 --- a/Control/SGComps/src/AddressRemappingSvc.cxx +++ b/Control/SGComps/src/AddressRemappingSvc.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration */ /** @file AddressRemappingSvc.cxx @@ -33,7 +33,7 @@ //________________________________________________________________________________ AddressRemappingSvc::AddressRemappingSvc(const std::string& name, ISvcLocator* pSvcLocator) : - extends1<AthService, Athena::IInputRename>(name, pSvcLocator), + base_class(name, pSvcLocator), m_clidSvc("ClassIDSvc", name), m_RCUSvc("Athena::RCUSvc", name), m_oldTads(), diff --git a/Control/SGComps/src/AddressRemappingSvc.h b/Control/SGComps/src/AddressRemappingSvc.h index 90e229e9f1b1..3912581eae9e 100644 --- a/Control/SGComps/src/AddressRemappingSvc.h +++ b/Control/SGComps/src/AddressRemappingSvc.h @@ -1,7 +1,7 @@ // -*- C++ -*- /* - Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration */ #ifndef SGCOMPS_ADDRESSREMAPPINGSVC_H @@ -37,7 +37,7 @@ class IRCUSvc; * @brief This class provides the interface to the LCG POOL persistency software. **/ class AddressRemappingSvc - : public extends<AthService, Athena::IInputRename>, public IAddressProvider + : public extends<AthService, Athena::IInputRename, IAddressProvider> { public: diff --git a/Control/SGComps/src/ProxyProviderSvc.cxx b/Control/SGComps/src/ProxyProviderSvc.cxx index 2c4f0a68250b..648948db8311 100644 --- a/Control/SGComps/src/ProxyProviderSvc.cxx +++ b/Control/SGComps/src/ProxyProviderSvc.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration */ #include <algorithm> @@ -50,7 +50,9 @@ const SG::BaseInfoBase* getBaseInfo (CLID clid) ProxyProviderSvc::ProxyProviderSvc(const std::string& name, ISvcLocator* svcLoc): - base_class(name, svcLoc){ + base_class(name, svcLoc), + m_pDataLoader("EventPersistencySvc", name) +{ m_providerNames.declareUpdateHandler(&ProxyProviderSvc::providerNamesPropertyHandler, this); } @@ -61,26 +63,15 @@ ProxyProviderSvc::initialize() { ATH_MSG_VERBOSE( "Initializing " << name() ); - const bool CREATEIF(true); - // cache pointer to Persistency Service - if (!(service("EventPersistencySvc", m_pDataLoader, CREATEIF)).isSuccess()) { - m_pDataLoader = 0; - ATH_MSG_ERROR("Could not get pointer to Persistency Service"); - return StatusCode::FAILURE; - } else { -#ifdef DEBUGPPS - ATH_MSG_VERBOSE("Got pointer to Persistency Service " << m_pDataLoader); -#endif - } + // retrieve Persistency Service + ATH_CHECK( m_pDataLoader.retrieve() ); - //get properties set; - if(!(AthService::initialize()).isSuccess()) { - return StatusCode::FAILURE; - } + // get properties set + ATH_CHECK( AthService::initialize() ); // Take care of any pending preLoadProxies requests. for (IProxyRegistry* reg : m_pendingLoad) { - CHECK( doPreLoadProxies (*reg) ); + ATH_CHECK( doPreLoadProxies (*reg) ); } m_pendingLoad.clear(); @@ -197,7 +188,7 @@ ProxyProviderSvc::addAddress(IProxyRegistry& store, bool resetOnly(tAddr.name().substr(0,10) != std::string("HLTAutoKey")); // std::cout << "PPS:addAdress: proxy for key " << tAddr->name() << " has resetOnly " << resetOnly << std::endl; SG::DataProxy* dp = new SG::DataProxy(std::move(tAddr), - m_pDataLoader, true, resetOnly ); + m_pDataLoader.get(), true, resetOnly ); // Must add the primary CLID first. bool addedProxy = store.addToStore(dp->clID(), dp).isSuccess(); @@ -306,18 +297,14 @@ ProxyProviderSvc::providerNamesPropertyHandler( Gaudi::Details::PropertyBase& /* } for (const std::string& pName : providerNames) { - IService *pIS(0); - IAddressProvider *pAP(0); - Gaudi::Utils::TypeNameString tn(pName); - if (!(service(tn.type(), tn.name(), pIS)).isSuccess() || - 0 == (pAP = dynamic_cast<IAddressProvider*>(pIS))) { + SmartIF<IAddressProvider> pAP{service(pName)}; + if (!pAP) { ATH_MSG_ERROR(" getting Address Provider "<< pName); throw GaudiException("Failed to locate address provider", "ProxyProviderSvc::providerNamesPropertyHandle", StatusCode::FAILURE); - } else { - ATH_MSG_DEBUG(" added Address Provider "<< pIS->name()); + ATH_MSG_DEBUG(" added Address Provider "<< pName); } ProxyProviderSvc::addProvider(pAP); } diff --git a/Control/SGComps/src/ProxyProviderSvc.h b/Control/SGComps/src/ProxyProviderSvc.h index 2eefe9dc933a..77322e7021f6 100644 --- a/Control/SGComps/src/ProxyProviderSvc.h +++ b/Control/SGComps/src/ProxyProviderSvc.h @@ -1,13 +1,12 @@ // -*- C++ -*- /* - Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration */ /** @file ProxyProviderSvc.h @brief manages the address providers and add proxies on demand to the store * @author Paolo Calafiura <pcalafiura@lbl.gov> - ATLAS Collaboration - * $Id: ProxyProviderSvc.h,v 1.3 2008-03-05 21:57:44 gemmeren Exp $ */ @@ -110,7 +109,7 @@ private: /// the providers we know about. WE DON'T OWN THEM std::list<IAddressProvider*> m_providers; /// Persistency Service - IConversionSvc* m_pDataLoader{nullptr}; + ServiceHandle<IConversionSvc> m_pDataLoader; /// List of pending stores on which to run preLoadProxies(). std::vector<IProxyRegistry*> m_pendingLoad; diff --git a/Event/ByteStreamCnvSvcBase/ByteStreamCnvSvcBase/ByteStreamAddressProviderSvc.h b/Event/ByteStreamCnvSvcBase/ByteStreamCnvSvcBase/ByteStreamAddressProviderSvc.h index 840710540201..66f2ec77b7d5 100755 --- a/Event/ByteStreamCnvSvcBase/ByteStreamCnvSvcBase/ByteStreamAddressProviderSvc.h +++ b/Event/ByteStreamCnvSvcBase/ByteStreamCnvSvcBase/ByteStreamAddressProviderSvc.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration */ #ifndef BYTESTREAMCNVSVCBASE_BYTESTREAMADDRESSPROVIDERSVC_H @@ -16,14 +16,10 @@ class IClassIDSvc; -template <class TYPE> class SvcFactory; - /** @class ByteStreamAddressProviderSvc - @brief An concrete IAddressProvider + @brief A concrete IAddressProvider */ -class ByteStreamAddressProviderSvc : public ::AthService, public virtual IAddressProvider { - /// Allow the factory class access to the constructor - friend class SvcFactory<ByteStreamAddressProviderSvc>; +class ByteStreamAddressProviderSvc : public extends<AthService, IAddressProvider> { public: ByteStreamAddressProviderSvc(const std::string& name, ISvcLocator* pSvcLocator); diff --git a/Event/ByteStreamCnvSvcBase/src/ByteStreamAddressProviderSvc.cxx b/Event/ByteStreamCnvSvcBase/src/ByteStreamAddressProviderSvc.cxx index c84b768c97e0..69f93f8ed49c 100755 --- a/Event/ByteStreamCnvSvcBase/src/ByteStreamAddressProviderSvc.cxx +++ b/Event/ByteStreamCnvSvcBase/src/ByteStreamAddressProviderSvc.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration */ // Include files @@ -15,7 +15,7 @@ /// Standard constructor ByteStreamAddressProviderSvc::ByteStreamAddressProviderSvc(const std::string& name, ISvcLocator* pSvcLocator) : - ::AthService(name, pSvcLocator), + base_class(name, pSvcLocator), m_clidSvc("ClassIDSvc", name), m_storeID(StoreID::EVENT_STORE) { declareProperty("StoreID", m_storeID); -- GitLab From 49cebcb7c765e0533d5e602120fe358ea231a1a9 Mon Sep 17 00:00:00 2001 From: Frank Winklmeier <frank.winklmeier@cern.ch> Date: Thu, 10 Oct 2024 17:19:24 +0200 Subject: [PATCH 2/4] MuonCondInterface+MuonCalibStreamCnvSvc: use extends for IAddressProvider inheritance --- .../MuonCalibStreamAddressProviderSvc.h | 8 +------- .../src/MuonCalibStreamAddressProviderSvc.cxx | 4 ++-- .../MuonCondInterface/ITGCCablingDbTool.h | 8 ++++---- .../MuonCondInterface/ITGCTriggerDbTool.h | 12 ++++-------- .../MuonCondInterface/ITGC_STATUSConditionsTool.h | 8 +++----- 5 files changed, 14 insertions(+), 26 deletions(-) diff --git a/MuonSpectrometer/MuonCalib/MuonCalibStream/MuonCalibStreamCnvSvc/MuonCalibStreamCnvSvc/MuonCalibStreamAddressProviderSvc.h b/MuonSpectrometer/MuonCalib/MuonCalibStream/MuonCalibStreamCnvSvc/MuonCalibStreamCnvSvc/MuonCalibStreamAddressProviderSvc.h index 336407d0d4ec..64de4fe201ab 100644 --- a/MuonSpectrometer/MuonCalib/MuonCalibStream/MuonCalibStreamCnvSvc/MuonCalibStreamCnvSvc/MuonCalibStreamAddressProviderSvc.h +++ b/MuonSpectrometer/MuonCalib/MuonCalibStream/MuonCalibStreamCnvSvc/MuonCalibStreamCnvSvc/MuonCalibStreamAddressProviderSvc.h @@ -9,13 +9,7 @@ #include "GaudiKernel/ClassID.h" #include "MuonCalibStreamCnvSvc/IMuonCalibStreamDataProviderSvc.h" -// Forward declarations - -template <class TYPE> class SvcFactory; - -class MuonCalibStreamAddressProviderSvc : public virtual AthService, public virtual IAddressProvider { - /// Allow the factory class access to the constructor - friend class SvcFactory<MuonCalibStreamAddressProviderSvc>; +class MuonCalibStreamAddressProviderSvc : public extends<AthService, IAddressProvider> { public: MuonCalibStreamAddressProviderSvc(const std::string &name, ISvcLocator *svcloc); diff --git a/MuonSpectrometer/MuonCalib/MuonCalibStream/MuonCalibStreamCnvSvc/src/MuonCalibStreamAddressProviderSvc.cxx b/MuonSpectrometer/MuonCalib/MuonCalibStream/MuonCalibStreamCnvSvc/src/MuonCalibStreamAddressProviderSvc.cxx index 0172dd234623..64db4ae61549 100644 --- a/MuonSpectrometer/MuonCalib/MuonCalibStream/MuonCalibStreamCnvSvc/src/MuonCalibStreamAddressProviderSvc.cxx +++ b/MuonSpectrometer/MuonCalib/MuonCalibStream/MuonCalibStreamCnvSvc/src/MuonCalibStreamAddressProviderSvc.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration */ #include "MuonCalibStreamCnvSvc/MuonCalibStreamAddressProviderSvc.h" @@ -10,7 +10,7 @@ /// Standard constructor MuonCalibStreamAddressProviderSvc::MuonCalibStreamAddressProviderSvc(const std::string &name, ISvcLocator *svc) : - AthService(name, svc), m_dataSvc(nullptr) { + base_class(name, svc), m_dataSvc(nullptr) { m_typeNames.push_back("Muon::MdtPrepDataContainer/MDT_DriftCircles"); m_typeNames.push_back("RpcPadContainer/RPCPAD"); m_typeNames.push_back("TgcRdoContainer/TGCRDO"); diff --git a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondInterface/MuonCondInterface/ITGCCablingDbTool.h b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondInterface/MuonCondInterface/ITGCCablingDbTool.h index 4b659ee986a4..da8649940fc9 100644 --- a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondInterface/MuonCondInterface/ITGCCablingDbTool.h +++ b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondInterface/MuonCondInterface/ITGCCablingDbTool.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration */ #ifndef MUONCONDINTERFACE_ITGCCABLINGDBTOOL_H @@ -15,11 +15,11 @@ #include <string> #include <vector> -static const InterfaceID IID_ITGCCablingDbTool("ITGCCablingDbTool", 1, 0); -class ITGCCablingDbTool : virtual public IAlgTool, virtual public IAddressProvider { + +class ITGCCablingDbTool : virtual public extend_interfaces<IAlgTool, IAddressProvider> { public: - static const InterfaceID& interfaceID() { return IID_ITGCCablingDbTool; }; + DeclareInterfaceID(ITGCCablingDbTool, 1, 0); virtual StatusCode loadParameters(IOVSVC_CALLBACK_ARGS) = 0; diff --git a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondInterface/MuonCondInterface/ITGCTriggerDbTool.h b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondInterface/MuonCondInterface/ITGCTriggerDbTool.h index e90ccacaaf50..08b07ba6b9b0 100644 --- a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondInterface/MuonCondInterface/ITGCTriggerDbTool.h +++ b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondInterface/MuonCondInterface/ITGCTriggerDbTool.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration */ #ifndef MUONCONDINTERFACE_ITGCTRIGGERDBTOOL_H @@ -10,15 +10,13 @@ #include "AthenaKernel/IOVSvcDefs.h" #include "GaudiKernel/IAlgTool.h" -// class TgcIdHelper; - #include <string> #include <vector> -static const InterfaceID IID_ITGCTriggerDbTool("ITGCTriggerDbTool", 1, 0); - -class ITGCTriggerDbTool : virtual public IAlgTool, virtual public IAddressProvider { +class ITGCTriggerDbTool : virtual public extend_interfaces<IAlgTool, IAddressProvider> { public: + DeclareInterfaceID(ITGCTriggerDbTool, 1, 0); + enum { CW_BW = 0, CW_EIFI = 1, CW_TILE = 2, CW_NUM = 3 }; virtual std::string getFolderName(int cwtype) const = 0; @@ -30,8 +28,6 @@ public: virtual std::string getType(int cwtype, int channel = 0) const = 0; virtual bool isActive(int cwtype, int channel = 0) const = 0; - static const InterfaceID& interfaceID() { return IID_ITGCTriggerDbTool; }; - virtual StatusCode loadParameters(IOVSVC_CALLBACK_ARGS) = 0; }; diff --git a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondInterface/MuonCondInterface/ITGC_STATUSConditionsTool.h b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondInterface/MuonCondInterface/ITGC_STATUSConditionsTool.h index e231f94bc417..7ca2cbb8f50b 100644 --- a/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondInterface/MuonCondInterface/ITGC_STATUSConditionsTool.h +++ b/MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondInterface/MuonCondInterface/ITGC_STATUSConditionsTool.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration */ #ifndef MUONCONDINTERFACE_ITGC_STATUSCONDITIONSTOOL_H @@ -18,11 +18,9 @@ //* retrieving of tables from DB virtual interface //********************************************************* -static const InterfaceID IID_ITGC_STATUSConditionsTool("ITGC_STATUSConditionsTool", 1, 0); - -class ITGC_STATUSConditionsTool : virtual public IAlgTool, virtual public IAddressProvider { +class ITGC_STATUSConditionsTool : virtual public extend_interfaces<IAlgTool, IAddressProvider> { public: - static const InterfaceID& interfaceID() { return IID_ITGC_STATUSConditionsTool; }; + DeclareInterfaceID(ITGC_STATUSConditionsTool, 1, 0); virtual std::string FolderName() const = 0; -- GitLab From 0e431fe6241baf9caf8c3211a8a44d605a495312 Mon Sep 17 00:00:00 2001 From: Frank Winklmeier <frank.winklmeier@cern.ch> Date: Thu, 10 Oct 2024 17:20:31 +0200 Subject: [PATCH 3/4] LArFlatConditionSvc: use auto-declaring interfaces --- .../LArRecUtils/src/LArFlatConditionSvc.cxx | 4 ++-- .../LArRecUtils/src/LArFlatConditionSvc.h | 21 ++++--------------- 2 files changed, 6 insertions(+), 19 deletions(-) diff --git a/LArCalorimeter/LArRecUtils/src/LArFlatConditionSvc.cxx b/LArCalorimeter/LArRecUtils/src/LArFlatConditionSvc.cxx index 26f5c9e06749..c67f12f4a6b6 100644 --- a/LArCalorimeter/LArRecUtils/src/LArFlatConditionSvc.cxx +++ b/LArCalorimeter/LArRecUtils/src/LArFlatConditionSvc.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration */ #include "LArFlatConditionSvc.h" @@ -37,7 +37,7 @@ LArFlatConditionSvc::LArFlatConditionSvc( const std::string& name, ISvcLocator* svc ) - : AthService( name, svc ), + : base_class( name, svc ), m_IOVSvc ("IOVSvc", name), m_detStore ("DetectorStore", name), m_clidSvc ("ClassIDSvc", name), diff --git a/LArCalorimeter/LArRecUtils/src/LArFlatConditionSvc.h b/LArCalorimeter/LArRecUtils/src/LArFlatConditionSvc.h index 19ba09537b4f..37b15bab37f7 100644 --- a/LArCalorimeter/LArRecUtils/src/LArFlatConditionSvc.h +++ b/LArCalorimeter/LArRecUtils/src/LArFlatConditionSvc.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration */ //Dear emacs, this is -*-c++-*- @@ -18,15 +18,9 @@ class StoreGateSvc; class IClassIDSvc; class CondAttrListCollection; - -template <class TYPE> class SvcFactory; - -class LArFlatConditionSvc : public virtual IAddressProvider, - public virtual IIncidentListener, - public AthService { - - friend class SvcFactory<LArFlatConditionSvc>; - +class LArFlatConditionSvc : public extends<AthService, + IAddressProvider, + IIncidentListener> { public: LArFlatConditionSvc( const std::string& name, ISvcLocator* svc ); virtual ~LArFlatConditionSvc(); @@ -37,13 +31,6 @@ class LArFlatConditionSvc : public virtual IAddressProvider, /// Service finalize virtual StatusCode finalize(); - /// Query the interfaces. - //virtual StatusCode queryInterface( const InterfaceID& riid, void** ppvInterface ); - //static const InterfaceID& interfaceID(); - - /// Service type. - ///virtual const InterfaceID& type() const; - /* IAddress provider interface */ typedef IAddressProvider::tadList tadlist; -- GitLab From c94a76f350dd9e1bda3879ae7e38146cfab9e54e Mon Sep 17 00:00:00 2001 From: Frank Winklmeier <frank.winklmeier@cern.ch> Date: Thu, 10 Oct 2024 17:20:55 +0200 Subject: [PATCH 4/4] MixingEventSelector: use extends for IAddressProvider inheritance --- Control/AthenaServices/src/MixingEventSelector.cxx | 2 +- Control/AthenaServices/src/MixingEventSelector.h | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Control/AthenaServices/src/MixingEventSelector.cxx b/Control/AthenaServices/src/MixingEventSelector.cxx index 4b0689fb5cc5..8a5bf21eaab4 100644 --- a/Control/AthenaServices/src/MixingEventSelector.cxx +++ b/Control/AthenaServices/src/MixingEventSelector.cxx @@ -45,7 +45,7 @@ ofstream outfile2("status.txt"); #endif MixingEventSelector::MixingEventSelector(const string& name, ISvcLocator* svc) : - extends<AthService, IEvtSelector, IConverter>(name,svc), + base_class(name,svc), m_helperTools(this), m_trigList(), m_pCurrentTrigger(m_trigList.end()), m_eventPos(0), diff --git a/Control/AthenaServices/src/MixingEventSelector.h b/Control/AthenaServices/src/MixingEventSelector.h index 576be42ecb3c..d768948c9427 100644 --- a/Control/AthenaServices/src/MixingEventSelector.h +++ b/Control/AthenaServices/src/MixingEventSelector.h @@ -1,7 +1,7 @@ /* -*- C++ -*- */ /* - Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration */ #ifndef ATHENASERVICES_MIXINGEVENTSELECTOR_H @@ -66,8 +66,7 @@ namespace CLHEP { * */ class MixingEventSelector - : public extends<AthService, IEvtSelector, IConverter>, - virtual public IAddressProvider + : public extends<AthService, IEvtSelector, IConverter, IAddressProvider> { public: /** @class Context -- GitLab