diff --git a/Detectors/TPC/workflow/src/CalibdEdxSpec.cxx b/Detectors/TPC/workflow/src/CalibdEdxSpec.cxx index 7c2e2db8188e8..15ea241a7b350 100644 --- a/Detectors/TPC/workflow/src/CalibdEdxSpec.cxx +++ b/Detectors/TPC/workflow/src/CalibdEdxSpec.cxx @@ -13,6 +13,7 @@ /// \brief Workflow for time based dE/dx calibration. /// \author Thiago BadarĂ³ +#include "GPUO2InterfaceConfiguration.inc" #include "TPCWorkflow/CalibdEdxSpec.h" // o2 includes @@ -26,7 +27,6 @@ #include "Framework/DataProcessorSpec.h" #include "Framework/ConfigParamRegistry.h" #include "Framework/CCDBParamSpec.h" -#include "GPUO2ConfigurableParam.h" #include "TPCCalibration/CalibdEdx.h" #include "TPCWorkflow/ProcessingHelpers.h" #include "TPCBaseRecSim/CDBTypes.h" @@ -70,8 +70,9 @@ class CalibdEdxDevice : public Task mCalib->setElectronCut(fitThreshold, fitPasses, fitThresholdLowFactor); mCalib->setMaterialType(mMatType); - mCustomdEdxFileName = o2::gpu::GPUConfigurableParamGPUSettingsO2::Instance().dEdxCorrFile; - mDisableTimeGain = o2::gpu::GPUConfigurableParamGPUSettingsO2::Instance().dEdxDisableResidualGain; + const auto& gpuConfig = GPU_GET_CONFIG(GPUSettingsO2); + mCustomdEdxFileName = gpuConfig.dEdxCorrFile; + mDisableTimeGain = gpuConfig.dEdxDisableResidualGain; if (mDisableTimeGain) { LOGP(info, "TimeGain correction was disabled via GPU_global.dEdxDisableResidualGain=1"); diff --git a/Detectors/TPC/workflow/src/CalibratordEdxSpec.cxx b/Detectors/TPC/workflow/src/CalibratordEdxSpec.cxx index 87e339f0643f4..dea1d85899675 100644 --- a/Detectors/TPC/workflow/src/CalibratordEdxSpec.cxx +++ b/Detectors/TPC/workflow/src/CalibratordEdxSpec.cxx @@ -13,6 +13,7 @@ /// \brief Workflow for time based dE/dx calibration. /// \author Thiago BadarĂ³ +#include "GPUO2InterfaceConfiguration.inc" #include "TPCWorkflow/CalibratordEdxSpec.h" #include @@ -29,7 +30,6 @@ #include "Framework/DataProcessorSpec.h" #include "Framework/ConfigParamRegistry.h" #include "Framework/CCDBParamSpec.h" -#include "GPUO2ConfigurableParam.h" #include "TPCCalibration/CalibratordEdx.h" #include "TPCWorkflow/ProcessingHelpers.h" #include "DetectorsBase/GRPGeomHelper.h" @@ -86,8 +86,9 @@ class CalibratordEdxDevice : public Task mCalibrator->setTrackDebug(trackDebug); mCalibrator->setMakeGaussianFits(makeGaussianFits); - mCustomdEdxFileName = o2::gpu::GPUConfigurableParamGPUSettingsO2::Instance().dEdxCorrFile; - mDisableTimeGain = o2::gpu::GPUConfigurableParamGPUSettingsO2::Instance().dEdxDisableResidualGain; + const auto& gpuConfig = GPU_GET_CONFIG(GPUSettingsO2); + mCustomdEdxFileName = gpuConfig.dEdxCorrFile; + mDisableTimeGain = gpuConfig.dEdxDisableResidualGain; if (mDisableTimeGain) { LOGP(info, "TimeGain correction was disabled via GPU_global.dEdxDisableResidualGain=1"); diff --git a/GPU/GPUTracking/DataTypes/GPUO2ConfigurableParam.cxx b/GPU/GPUTracking/DataTypes/GPUO2ConfigurableParam.cxx index 49cd25624b2c3..f3b7e07c4c43b 100644 --- a/GPU/GPUTracking/DataTypes/GPUO2ConfigurableParam.cxx +++ b/GPU/GPUTracking/DataTypes/GPUO2ConfigurableParam.cxx @@ -29,7 +29,7 @@ using namespace o2::gpu; #define AddOptionArray(name, type, count, default, optname, optnameshort, help, ...) #define AddOptionArrayRTC(...) AddOptionArray(__VA_ARGS__) #define AddSubConfig(name, instance) -#define BeginSubConfig(name, instance, parent, preoptname, preoptnameshort, descr, o2prefix) O2ParamImpl(GPUCA_M_CAT(GPUConfigurableParam, name)) +#define BeginSubConfig(name, instance, parent, preoptname, preoptnameshort, descr, o2prefix) O2ParamImpl(internal::GPUCA_M_CAT(GPUConfigurableParam, name)) #define BeginHiddenConfig(...) #define EndConfig() #define AddCustomCPP(...) @@ -73,7 +73,7 @@ GPUSettingsO2 GPUO2InterfaceConfiguration::ReadConfigurableParam(GPUO2InterfaceC #define BeginSubConfig(name, instance, parent, preoptname, preoptnameshort, descr, o2prefix) \ name instance; \ { \ - const auto& src = GPUCA_M_CAT(GPUConfigurableParam, name)::Instance(); \ + const auto& src = internal::GPUCA_M_CAT(GPUConfigurableParam, name)::Instance(); \ name& dst = instance; #define BeginHiddenConfig(name, instance) { #define EndConfig() } diff --git a/GPU/GPUTracking/DataTypes/GPUO2ConfigurableParam.h b/GPU/GPUTracking/DataTypes/GPUO2ConfigurableParam.h index 8bc0d98910f54..09d6dd0ebfd5e 100644 --- a/GPU/GPUTracking/DataTypes/GPUO2ConfigurableParam.h +++ b/GPU/GPUTracking/DataTypes/GPUO2ConfigurableParam.h @@ -42,12 +42,18 @@ #define AddOptionArray(name, type, count, default, optname, optnameshort, help, ...) type name[count] = {GPUCA_M_STRIP(default)}; #define AddSubConfig(name, instance) #define BeginSubConfig(name, instance, parent, preoptname, preoptnameshort, descr, o2prefix) \ + namespace internal \ + { \ struct GPUCA_M_CAT(GPUConfigurableParam, name) : public o2::conf::ConfigurableParamHelper { \ O2ParamDef(GPUCA_M_CAT(GPUConfigurableParam, name), GPUCA_M_STR(GPUCA_M_CAT(GPU_, o2prefix))) public: -#define BeginHiddenConfig(name, instance) struct GPUCA_M_CAT(GPUConfigurableParam, name) { +#define BeginHiddenConfig(name, instance) \ + namespace internal \ + { \ + struct GPUCA_M_CAT(GPUConfigurableParam, name) { #define EndConfig() \ } \ - ; + ; \ + } // namespace internal #define AddCustomCPP(...) __VA_ARGS__ #define AddHelp(...) #define AddShortcut(...) diff --git a/GPU/GPUTracking/GPUTrackingLinkDef_O2_DataTypes.h b/GPU/GPUTracking/GPUTrackingLinkDef_O2_DataTypes.h index 7bd2c689c5354..5318e23e7d10f 100644 --- a/GPU/GPUTracking/GPUTrackingLinkDef_O2_DataTypes.h +++ b/GPU/GPUTracking/GPUTrackingLinkDef_O2_DataTypes.h @@ -22,22 +22,22 @@ #pragma link C++ class o2::gpu::GPUTRDTrack_t < o2::gpu::trackInterface < o2::track::TrackParCov>> + ; #pragma link C++ class std::vector < o2::gpu::GPUTRDTrack_t < o2::gpu::trackInterface < o2::track::TrackParCov>>> + ; #ifdef GPUCA_O2_LIB -#pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsO2 + ; -#pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsRec + ; -#pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsRecTPC + ; -#pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsRecTRD + ; -#pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsRecDynamic + ; -#pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsProcessing + ; -#pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsProcessingParam + ; -#pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsProcessingRTC + ; -#pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsProcessingRTCtechnical + ; -#pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsProcessingNNclusterizer + ; -#pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsDisplay + ; -#pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsDisplayLight + ; -#pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsDisplayHeavy + ; -#pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsDisplayRenderer + ; -#pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsDisplayVulkan + ; -#pragma link C++ class o2::gpu::GPUConfigurableParamGPUSettingsQA + ; +#pragma link C++ class o2::gpu::internal::GPUConfigurableParamGPUSettingsO2 + ; +#pragma link C++ class o2::gpu::internal::GPUConfigurableParamGPUSettingsRec + ; +#pragma link C++ class o2::gpu::internal::GPUConfigurableParamGPUSettingsRecTPC + ; +#pragma link C++ class o2::gpu::internal::GPUConfigurableParamGPUSettingsRecTRD + ; +#pragma link C++ class o2::gpu::internal::GPUConfigurableParamGPUSettingsRecDynamic + ; +#pragma link C++ class o2::gpu::internal::GPUConfigurableParamGPUSettingsProcessing + ; +#pragma link C++ class o2::gpu::internal::GPUConfigurableParamGPUSettingsProcessingParam + ; +#pragma link C++ class o2::gpu::internal::GPUConfigurableParamGPUSettingsProcessingRTC + ; +#pragma link C++ class o2::gpu::internal::GPUConfigurableParamGPUSettingsProcessingRTCtechnical + ; +#pragma link C++ class o2::gpu::internal::GPUConfigurableParamGPUSettingsProcessingNNclusterizer + ; +#pragma link C++ class o2::gpu::internal::GPUConfigurableParamGPUSettingsDisplay + ; +#pragma link C++ class o2::gpu::internal::GPUConfigurableParamGPUSettingsDisplayLight + ; +#pragma link C++ class o2::gpu::internal::GPUConfigurableParamGPUSettingsDisplayHeavy + ; +#pragma link C++ class o2::gpu::internal::GPUConfigurableParamGPUSettingsDisplayRenderer + ; +#pragma link C++ class o2::gpu::internal::GPUConfigurableParamGPUSettingsDisplayVulkan + ; +#pragma link C++ class o2::gpu::internal::GPUConfigurableParamGPUSettingsQA + ; #endif #pragma link C++ class o2::gpu::GPUTPCGMMergedTrackHit + ; #pragma link C++ class o2::tpc::CalibdEdxTrackTopologyPol + ; diff --git a/GPU/GPUTracking/Interface/GPUO2InterfaceConfiguration.inc b/GPU/GPUTracking/Interface/GPUO2InterfaceConfiguration.inc index a8ec49df2a281..30f6d56a17f1a 100644 --- a/GPU/GPUTracking/Interface/GPUO2InterfaceConfiguration.inc +++ b/GPU/GPUTracking/Interface/GPUO2InterfaceConfiguration.inc @@ -30,7 +30,7 @@ #define GPU_GET_CONFIG(configName) []() -> decltype(auto) { \ static_assert(!std::is_same_v); \ - return o2::gpu::GPUCA_M_CAT(GPUConfigurableParam, configName)::Instance(); \ + return o2::gpu::internal::GPUCA_M_CAT(GPUConfigurableParam, configName)::Instance(); \ }() #endif