diff --git a/Event/xAOD/xAODEventInfo/CMakeLists.txt b/Event/xAOD/xAODEventInfo/CMakeLists.txt index 8d096f0b68e16c1314c01041f37209b63f8e7980..dbeda530389898b05db47e1f627ca821dca55675 100644 --- a/Event/xAOD/xAODEventInfo/CMakeLists.txt +++ b/Event/xAOD/xAODEventInfo/CMakeLists.txt @@ -1,35 +1,31 @@ -################################################################################ -# Package: xAODEventInfo -################################################################################ +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration -# Declare the package name: +# Declare the package name. atlas_subdir( xAODEventInfo ) -# Declare the package's dependencies: -atlas_depends_on_subdirs( - PRIVATE - AtlasTest/TestTools - PUBLIC - Control/AthContainers - Control/AthLinks - Event/xAOD/xAODCore ) - -# External dependencies: +# External dependencies. find_package( ROOT COMPONENTS Core Tree RIO ) +find_package( xAODUtilities ) -# Component(s) in the package: +# Component(s) in the package. atlas_add_library( xAODEventInfo - xAODEventInfo/*.h Root/*.cxx + xAODEventInfo/versions/*.h xAODEventInfo/*.h Root/*.cxx PUBLIC_HEADERS xAODEventInfo LINK_LIBRARIES AthContainers AthLinks xAODCore ) +atlas_add_xaod_smart_pointer_dicts( + INPUT xAODEventInfo/selection.xml + OUTPUT _selectionFile + CONTAINERS "xAOD::EventInfoContainer_v1" + OBJECTS "xAOD::EventInfo_v1" ) + atlas_add_dictionary( xAODEventInfoDict xAODEventInfo/xAODEventInfoDict.h - xAODEventInfo/selection.xml - LINK_LIBRARIES xAODEventInfo + ${_selectionFile} + LINK_LIBRARIES xAODCore xAODEventInfo EXTRA_FILES Root/dict/*.cxx ) -# Test(s) in the package: +# Test(s) in the package. atlas_add_test( ut_xaodeventinfo_evtstore_test SOURCES test/ut_xaodeventinfo_evtstore_test.cxx INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} @@ -47,12 +43,12 @@ atlas_add_test( ut_xaodeventinfo_subevent_test atlas_add_test( ut_xaodeventinfo_eventauxinfo_test SOURCES test/ut_xaodeventinfo_eventauxinfo_test.cxx - LINK_LIBRARIES AthLinks xAODCore xAODEventInfo TestTools ) + LINK_LIBRARIES AthContainers TestTools xAODEventInfo ) atlas_add_test( ut_xaodeventinfo_eventinfoauxcontainer_v1_test SOURCES test/ut_xaodeventinfo_eventinfoauxcontainer_v1_test.cxx - LINK_LIBRARIES AthLinks xAODCore xAODEventInfo TestTools ) + LINK_LIBRARIES AthContainers TestTools xAODEventInfo ) atlas_add_test( ut_xaodeventinfo_eventinfo_v1_test SOURCES test/ut_xaodeventinfo_eventinfo_v1_test.cxx - LINK_LIBRARIES AthLinks xAODCore xAODEventInfo ) + LINK_LIBRARIES xAODEventInfo ) diff --git a/Event/xAOD/xAODEventInfo/xAODEventInfo/selection.xml b/Event/xAOD/xAODEventInfo/xAODEventInfo/selection.xml index df7f3851026484c9bf03e296f25ddf268b3ac80c..d8b5c399a9b2cf2e958d6e30940efdee0a74c53c 100644 --- a/Event/xAOD/xAODEventInfo/xAODEventInfo/selection.xml +++ b/Event/xAOD/xAODEventInfo/xAODEventInfo/selection.xml @@ -1,6 +1,7 @@ <!-- Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration --> <lcgdict> + <!-- xAOD::EventInfo interface type(s). --> <class name="xAOD::EventInfo_v1" id="AE8BED6D-1D41-4CAF-994B-42613FC91A0A" > <field name="m_streamTags" transient="true" /> @@ -15,7 +16,12 @@ newObj->toTransient(); ]]> </read> + <class name="xAOD::EventInfoContainer_v1" + id="8F061263-D744-4D72-9377-1573FE21CDCE" /> + <typedef name="xAOD::EventInfo" /> + <typedef name="xAOD::EventInfoContainer" /> + <!-- xAOD::EventInfo auxiliary type(s). --> <class name="xAOD::EventAuxInfo_v1" id="2CFD72A2-D3AA-4C18-9B40-E5ACBA20D785"> <field name="m_decorFlags" transient="true" /> @@ -38,9 +44,6 @@ ]]> </read> - <class name="xAOD::EventInfoContainer_v1" - id="8F061263-D744-4D72-9377-1573FE21CDCE" /> - <class name="xAOD::EventInfoAuxContainer_v1" id="742479C0-2699-4949-A9D0-01DBC421BE5B"> <field name="m_decorFlags" transient="true" /> @@ -52,27 +55,7 @@ ]]> </read> - <!-- Smart pointer dictionaries: --> - <class name="DataLink<xAOD::EventInfo_v1>" /> - <class name="std::vector<DataLink<xAOD::EventInfo_v1> >" /> - - <class name="ElementLink<xAOD::EventInfoContainer_v1>" /> - <class name="std::vector<ElementLink<xAOD::EventInfoContainer_v1> >" /> - <class name="std::vector<std::vector<ElementLink<xAOD::EventInfoContainer_v1> > >" /> - - <!-- Additional dictionaries for the payload: --> - <!-- MN: removing class name="std::pair<std::string,std::string>" as it is already in RELAX --> - <class name="std::vector<std::pair<std::string,std::string> >" /> - <class name="std::vector<std::vector<std::pair<std::string,std::string> > >" /> - <class name="std::set<uint32_t>" /> - <class name="std::vector<std::set<uint32_t> >" /> - <class name="std::vector<std::vector<std::set<unsigned> > >" /> - - <!-- Suppress the unwanted classes found by ROOT 6. --> - <!-- Hopefully we can remove these extra lines at one point... --> - <exclusion> - <class name="SG::IConstAuxStore" /> - <class name="DataLink<SG::IConstAuxStore>" /> - </exclusion> + <typedef name="xAOD::EventAuxInfo" /> + <typedef name="xAOD::EventInfoAuxContainer" /> </lcgdict> diff --git a/Event/xAOD/xAODEventInfo/xAODEventInfo/selectionAthSuppress.xml b/Event/xAOD/xAODEventInfo/xAODEventInfo/selectionAthSuppress.xml deleted file mode 100644 index 49435cfbbe55d9d31a2da1cfbe6fd4b126b280dc..0000000000000000000000000000000000000000 --- a/Event/xAOD/xAODEventInfo/xAODEventInfo/selectionAthSuppress.xml +++ /dev/null @@ -1,4 +0,0 @@ -<exclusion> - <class name="std::set<uint32_t>" /> - <class name="std::vector<std::pair<std::string,std::string> >" /> -</exclusion> diff --git a/Event/xAOD/xAODEventInfo/xAODEventInfo/xAODEventInfoDict.h b/Event/xAOD/xAODEventInfo/xAODEventInfo/xAODEventInfoDict.h index 95aa563f9e7bdadd3bfc81524461e7506a27f193..273f8bf432ef350a4c58765190aeb769ce4b8a26 100644 --- a/Event/xAOD/xAODEventInfo/xAODEventInfo/xAODEventInfoDict.h +++ b/Event/xAOD/xAODEventInfo/xAODEventInfo/xAODEventInfoDict.h @@ -1,23 +1,13 @@ // Dear emacs, this is -*- c++ -*- - /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ - -// $Id: xAODEventInfoDict.h 630576 2014-11-24 12:36:44Z krasznaa $ #ifndef XAODEVENTINFO_XAODEVENTINFODICT_H #define XAODEVENTINFO_XAODEVENTINFODICT_H -// System include(s): -#include <vector> -#include <set> - -// EDM include(s): -#include "AthLinks/ElementLink.h" -#include "AthLinks/DataLink.h" - -// Local include(s): +// Local include(s). #include "xAODEventInfo/EventInfo.h" +#include "xAODEventInfo/EventAuxInfo.h" #include "xAODEventInfo/EventInfoContainer.h" #include "xAODEventInfo/versions/EventInfo_v1.h" #include "xAODEventInfo/versions/EventAuxInfo_v1.h" @@ -25,21 +15,15 @@ #include "xAODEventInfo/versions/EventInfoContainer_v1.h" #include "xAODEventInfo/versions/EventInfoAuxContainer_v1.h" +// EDM include(s). +#include "xAODCore/tools/DictHelpers.h" + +// Instantiate all necessary types for the dictionary. namespace { struct GCCXML_DUMMY_INSTANTIATION_XAODEVENTINFO { - - xAOD::EventInfoContainer_v1 c1; - - DataLink< xAOD::EventInfo_v1 > dl1; - std::vector< DataLink< xAOD::EventInfo_v1 > > dl2; - - ElementLink< xAOD::EventInfoContainer_v1 > el1; - std::vector< ElementLink< xAOD::EventInfoContainer_v1 > > el2; - std::vector< std::vector< ElementLink< xAOD::EventInfoContainer_v1 > > > el3; - - std::set< uint32_t > set1; - std::vector< std::set< uint32_t > > set2; - + // Local type(s). + XAOD_INSTANTIATE_NS_CONTAINER_TYPES( xAOD, EventInfoContainer_v1 ); + XAOD_INSTANTIATE_NS_OBJECT_TYPES( xAOD, EventInfo_v1 ); }; } // private namespace