Skip to content

xAODMuon : Try to split the enums in a separate dict ATLASRECTS-7789

xAODMuon : Try to split the enums in a separate dict ATLASRECTS-7789

{ decls }
namespace xAODMuonEnums {  }

[ libxAODMuonEnumsDict.so ]
# List of selected classes
class xAODMuonEnums::ROOT6_NamespaceAutoloadHook
header xAODMuon/xAODMuonEnums.h
# List of selected enums and outer classes
enum xAODMuonEnums::Author
enum xAODMuonEnums::MuonType
enum xAODMuonEnums::ParamDef
enum xAODMuonEnums::TrackParticleType
enum xAODMuonEnums::EnergyLossType
enum xAODMuonEnums::Quality

There is an ugly bit. The enums are expected (also) under the Muon_v1 class "namespace" . So to avoid changing too much things had to do a .def and inject in 2 places.

in C++20 there is a using enum that would make things look better For now ... not the best looking.

-rwxr-xr-x. 1 christos zp  879K Oct 26 14:55 libxAODMuonDict.so
-rwxr-xr-x. 1 christos zp   24K Oct 26 15:04 libxAODMuonEnumsDict.so
[christos@aiatlas026 build]$ ldd x86_64-el9-gcc13-opt/lib/libxAODMuonEnumsDict.so
	linux-vdso.so.1 (0x00007ffe02b02000)
	libCore.so => /cvmfs/atlas-nightlies.cern.ch/repo/sw/main_Athena_x86_64-el9-gcc13-opt/sw/lcg/releases/LCG_104b_ATLAS_1/ROOT/6.28.08/x86_64-el9-gcc13-opt/lib/libCore.so (0x00007f8b5f200000)
	libstdc++.so.6 => /cvmfs/sft.cern.ch/lcg/releases/gcc/13.1.0-b3d18/x86_64-el9/lib64/libstdc++.so.6 (0x00007f8b5ee00000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f8b5f880000)
	libgcc_s.so.1 => /cvmfs/sft.cern.ch/lcg/releases/gcc/13.1.0-b3d18/x86_64-el9/lib64/libgcc_s.so.1 (0x00007f8b5f859000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f8b5ea00000)
	liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f8b5f82d000)
	libz.so.1 => /lib64/libz.so.1 (0x00007f8b5f813000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f8b5f980000)
Edited by Christos Anastopoulos

Merge request reports