From 18d835e8188f21594f5dc276ea4aee08c946278a Mon Sep 17 00:00:00 2001 From: Sandro Wenzel Date: Fri, 25 Sep 2026 08:57:38 +0200 Subject: [PATCH 1/2] Use ClassDefOverride in the derived interaction samplers This fixes the -Winconsistent-missing-override warnings in InteractionSampler.h. - FixedSkipBC_InteractionSampler and NonUniformMuInteractionSampler derive from InteractionSampler, which already has a ClassDef. - Their plain ClassDef produced override warnings for IsA, ShowMembers, Streamer and CheckTObjectHashConsistency. - Both now use ClassDefOverride. https://ali-ci.cern.ch/alice-build-logs/AliceO2Group/AliceO2/15843/ee5503a4c432ac109fab4860dde02f104c65e5a6/build_O2_gpu-test-slc10-x86/pretty.html --- .../include/SimulationDataFormat/InteractionSampler.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DataFormats/simulation/include/SimulationDataFormat/InteractionSampler.h b/DataFormats/simulation/include/SimulationDataFormat/InteractionSampler.h index 47dd4f5e4652d..a68d972a991c4 100644 --- a/DataFormats/simulation/include/SimulationDataFormat/InteractionSampler.h +++ b/DataFormats/simulation/include/SimulationDataFormat/InteractionSampler.h @@ -128,7 +128,7 @@ class FixedSkipBC_InteractionSampler : public InteractionSampler private: int mEveryN; // the skip number ---> fills every N-th BC in the bunch filling scheme int mMultiplicity; // how many events to put if bc is filled - ClassDef(FixedSkipBC_InteractionSampler, 1); + ClassDefOverride(FixedSkipBC_InteractionSampler, 1); }; // A version of the interaction sampler which can sample according to non-uniform mu(bc) as @@ -152,7 +152,7 @@ class NonUniformMuInteractionSampler : public InteractionSampler private: // non-uniformity std::vector mBCIntensityScales; - ClassDef(NonUniformMuInteractionSampler, 1); + ClassDefOverride(NonUniformMuInteractionSampler, 1); }; } // namespace steer From 5cdf022cabd56c4d937b55db3051ac19edbeca82 Mon Sep 17 00:00:00 2001 From: Sandro Wenzel Date: Fri, 25 Sep 2026 09:00:29 +0200 Subject: [PATCH 2/2] Terminate the LinkDef rules that rootcling rejected This fixes the rootcling "missing ; at end of rule" errors in four LinkDef files. - Three rules in TPCBaseLinkDef.h and the GeometryTGeo rules of ALICE3 ECal, RICH and MID lacked the closing semicolon. - rootcling rejected the three ALICE3 rules, so their GeometryTGeo classes had no dictionary. - The TPC dictionary is unchanged by the fix. https://ali-ci.cern.ch/alice-build-logs/AliceO2Group/AliceO2/15843/ee5503a4c432ac109fab4860dde02f104c65e5a6/build_O2_gpu-test-slc10-x86/pretty.html --- Detectors/TPC/base/src/TPCBaseLinkDef.h | 6 +++--- Detectors/Upgrades/ALICE3/ECal/base/src/ECalBaseLinkDef.h | 2 +- Detectors/Upgrades/ALICE3/MID/base/src/MI3BaseLinkDef.h | 2 +- Detectors/Upgrades/ALICE3/RICH/base/src/RICHBaseLinkDef.h | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Detectors/TPC/base/src/TPCBaseLinkDef.h b/Detectors/TPC/base/src/TPCBaseLinkDef.h index 2b7a7ff19542d..3d91f62dd979b 100644 --- a/Detectors/TPC/base/src/TPCBaseLinkDef.h +++ b/Detectors/TPC/base/src/TPCBaseLinkDef.h @@ -72,7 +72,7 @@ #pragma link C++ function o2::tpc::utils::saveCanvas(TCanvas*, std::string_view, std::string_view); #pragma link C++ namespace o2::tpc::cru_calib_helpers; -#pragma link C++ defined_in "TPCBase/CRUCalibHelpers.h" +#pragma link C++ defined_in "TPCBase/CRUCalibHelpers.h"; #pragma link C++ function o2::tpc::cru_calib_helpers::getHWChannel(int, int, int); #pragma link C++ function o2::tpc::cru_calib_helpers::getSampaInfo(int, int); #pragma link C++ function o2::tpc::cru_calib_helpers::floatToFixedSize < 12, 2>(float); @@ -80,7 +80,7 @@ #pragma link C++ function o2::tpc::cru_calib_helpers::fixedSizeToFloat < 2>(float); #pragma link C++ function o2::tpc::cru_calib_helpers::fixedSizeToFloat < 6>(float); #pragma link C++ function o2::tpc::cru_calib_helpers::writeValues(const std::string_view, const o2::tpc::cru_calib_helpers::DataMap&, bool); -#pragma link C++ function o2::tpc::cru_calib_helpers::getCalPad < 2>(const std::string_view, const std::string_view, std::string_view) -#pragma link C++ function o2::tpc::cru_calib_helpers::getCalPad < 6>(const std::string_view, const std::string_view, std::string_view) +#pragma link C++ function o2::tpc::cru_calib_helpers::getCalPad < 2>(const std::string_view, const std::string_view, std::string_view); +#pragma link C++ function o2::tpc::cru_calib_helpers::getCalPad < 6>(const std::string_view, const std::string_view, std::string_view); #endif diff --git a/Detectors/Upgrades/ALICE3/ECal/base/src/ECalBaseLinkDef.h b/Detectors/Upgrades/ALICE3/ECal/base/src/ECalBaseLinkDef.h index 0f0c0637ce2c1..a5f1862247247 100644 --- a/Detectors/Upgrades/ALICE3/ECal/base/src/ECalBaseLinkDef.h +++ b/Detectors/Upgrades/ALICE3/ECal/base/src/ECalBaseLinkDef.h @@ -16,7 +16,7 @@ #pragma link off all functions; #pragma link C++ class o2::ecal::Geometry + ; -#pragma link C++ class o2::ecal::GeometryTGeo + +#pragma link C++ class o2::ecal::GeometryTGeo + ; #pragma link C++ class o2::ecal::ECalBaseParam + ; #pragma link C++ class o2::ecal::Hit + ; #pragma link C++ class o2::conf::ConfigurableParamHelper < o2::ecal::ECalBaseParam> + ; diff --git a/Detectors/Upgrades/ALICE3/MID/base/src/MI3BaseLinkDef.h b/Detectors/Upgrades/ALICE3/MID/base/src/MI3BaseLinkDef.h index 2bd110e2e0cdc..4615827eec98b 100644 --- a/Detectors/Upgrades/ALICE3/MID/base/src/MI3BaseLinkDef.h +++ b/Detectors/Upgrades/ALICE3/MID/base/src/MI3BaseLinkDef.h @@ -15,7 +15,7 @@ #pragma link off all classes; #pragma link off all functions; -#pragma link C++ class o2::mi3::GeometryTGeo + +#pragma link C++ class o2::mi3::GeometryTGeo + ; #pragma link C++ class o2::mi3::MIDBaseParam + ; #pragma link C++ class o2::conf::ConfigurableParamHelper < o2::mi3::MIDBaseParam> + ; diff --git a/Detectors/Upgrades/ALICE3/RICH/base/src/RICHBaseLinkDef.h b/Detectors/Upgrades/ALICE3/RICH/base/src/RICHBaseLinkDef.h index c86b68d4813fc..d6dc779957076 100644 --- a/Detectors/Upgrades/ALICE3/RICH/base/src/RICHBaseLinkDef.h +++ b/Detectors/Upgrades/ALICE3/RICH/base/src/RICHBaseLinkDef.h @@ -15,7 +15,7 @@ #pragma link off all classes; #pragma link off all functions; -#pragma link C++ class o2::rich::GeometryTGeo + +#pragma link C++ class o2::rich::GeometryTGeo + ; #pragma link C++ class o2::rich::RICHBaseParam + ; #pragma link C++ class o2::conf::ConfigurableParamHelper < o2::rich::RICHBaseParam> + ;