diff --git a/DataFormats/Detectors/GlobalTracking/CMakeLists.txt b/DataFormats/Detectors/GlobalTracking/CMakeLists.txt index 631c026f3abc7..b219de73f5b47 100644 --- a/DataFormats/Detectors/GlobalTracking/CMakeLists.txt +++ b/DataFormats/Detectors/GlobalTracking/CMakeLists.txt @@ -36,7 +36,7 @@ o2_add_library( O2::DataFormatsCPV O2::DataFormatsPHOS O2::DataFormatsEMCAL - O2::GPUDataTypeHeaders + O2::GPUDataTypes $<$:O2::ITS3Reconstruction> PRIVATE_LINK_LIBRARIES O2::Framework) diff --git a/Detectors/Base/CMakeLists.txt b/Detectors/Base/CMakeLists.txt index 934a112ea2062..0ba2905ab02ec 100644 --- a/Detectors/Base/CMakeLists.txt +++ b/Detectors/Base/CMakeLists.txt @@ -42,7 +42,7 @@ o2_add_library(DetectorsBase O2::SimulationDataFormat O2::SimConfig O2::CCDB - O2::GPUDataTypeHeaders + O2::GPUDataTypes MC::VMC TBB::tbb ) diff --git a/Detectors/TRD/workflow/io/CMakeLists.txt b/Detectors/TRD/workflow/io/CMakeLists.txt index a3aea1ce87795..e91b5f5a30375 100644 --- a/Detectors/TRD/workflow/io/CMakeLists.txt +++ b/Detectors/TRD/workflow/io/CMakeLists.txt @@ -23,7 +23,7 @@ o2_add_library(TRDWorkflowIO src/TRDCalibWriterSpec.cxx src/TRDPHReaderSpec.cxx include/TRDWorkflowIO/KrClusterWriterSpec.h - PUBLIC_LINK_LIBRARIES O2::DataFormatsTRD O2::SimulationDataFormat O2::DPLUtils O2::GPUDataTypeHeaders O2::DataFormatsTPC) + PUBLIC_LINK_LIBRARIES O2::DataFormatsTRD O2::SimulationDataFormat O2::DPLUtils O2::GPUDataTypes O2::DataFormatsTPC) o2_add_executable(digit-reader-workflow diff --git a/GPU/GPUTracking/CMakeLists.txt b/GPU/GPUTracking/CMakeLists.txt index 6400fbc65dc61..dd3480cae86bd 100644 --- a/GPU/GPUTracking/CMakeLists.txt +++ b/GPU/GPUTracking/CMakeLists.txt @@ -69,10 +69,9 @@ set(SRCS TRDTracking/GPUTRDTrackerKernels.cxx Base/GPUParam.cxx) -set(SRCS_DATATYPES DataTypes/GPUDataTypes.cxx DataTypes/GPUConfigDump.cxx) -set(SRCS_DATATYPE_HEADERS DataTypes/GPUTPCGMPolynomialField.cxx) +set(SRCS_DATATYPES DataTypes/GPUDataTypes.cxx DataTypes/GPUConfigDump.cxx DataTypes/GPUTPCGMPolynomialField.cxx) -set(HDRS_CINT_O2 Merger/GPUTPCGMMergedTrack.h Merger/GPUTPCGMSliceTrack.h Merger/GPUTPCGMBorderTrack.h) +set(HDRS_CINT_O2 Merger/GPUTPCGMTrackParam.h Merger/GPUTPCGMMergedTrack.h Merger/GPUTPCGMSliceTrack.h Merger/GPUTPCGMBorderTrack.h TRDTracking/GPUTRDInterfaces.h) set(HDRS_CINT_DATATYPES DataTypes/GPUTPCGMMergedTrackHit.h) set(HDRS_CINT_O2_ADDITIONAL DataTypes/GPUSettings.h Definitions/GPUSettingsList.h DataTypes/GPUDataTypes.h DataTypes/GPUTRDTrack.h DataTypes/CalibdEdxTrackTopologyPol.h DataTypes/CalibdEdxTrackTopologySpline.h) # Manual dependencies for ROOT dictionary generation @@ -214,10 +213,7 @@ if(ALIGPU_BUILD_TYPE STREQUAL "O2" OR GPUCA_CONFIG_O2_EXTENSIONS) DataTypes/TPCZSLinkMapping.cxx DataTypes/CalibdEdxContainer.cxx DataTypes/CalibdEdxTrackTopologyPol.cxx - DataTypes/CalibdEdxTrackTopologySpline.cxx) - - set(SRCS_DATATYPE_HEADERS - ${SRCS_DATATYPE_HEADERS} + DataTypes/CalibdEdxTrackTopologySpline.cxx DataTypes/GPUTRDTrackO2.cxx) set(SRCS_NO_H ${SRCS_NO_H} @@ -298,28 +294,20 @@ string(REPLACE ".cxx" ".h" HDRS_TMP "${SRCS_NO_CINT}") set(HDRS_INSTALL ${HDRS_INSTALL} ${HDRS_TMP}) string(REPLACE ".cxx" ".h" HDRS_TMP "${SRCS_DATATYPES}") set(HDRS_CINT_DATATYPES ${HDRS_CINT_DATATYPES} ${HDRS_TMP}) -string(REPLACE ".cxx" ".h" HDRS_TMP "${SRCS_DATATYPE_HEADERS}") -set(HDRS_INSTALL ${HDRS_INSTALL} ${HDRS_TMP}) unset(HDRS_TMP) # Main CMake part for O2 if(ALIGPU_BUILD_TYPE STREQUAL "O2") - o2_add_library(GPUDataTypeHeaders + o2_add_library(GPUDataTypes TARGETVARNAME targetName PUBLIC_INCLUDE_DIRECTORIES . Definitions DataTypes - PUBLIC_LINK_LIBRARIES O2::GPUCommon + PUBLIC_LINK_LIBRARIES O2::GPUUtils + O2::GPUCommon O2::ReconstructionDataFormats O2::TPCFastTransformation PRIVATE_LINK_LIBRARIES O2::DataFormatsTPC - SOURCES ${SRCS_DATATYPE_HEADERS}) - target_compile_definitions(${targetName} PRIVATE GPUCA_O2_LIB GPUCA_TPC_GEOMETRY_O2 GPUCA_HAVE_O2HEADERS) - - o2_add_library(GPUDataTypes - TARGETVARNAME targetName - PUBLIC_LINK_LIBRARIES O2::GPUDataTypeHeaders O2::GPUUtils - PRIVATE_LINK_LIBRARIES O2::DataFormatsTPC SOURCES ${SRCS_DATATYPES}) target_compile_definitions(${targetName} PRIVATE GPUCA_O2_LIB GPUCA_TPC_GEOMETRY_O2 GPUCA_HAVE_O2HEADERS) o2_target_root_dictionary(GPUDataTypes @@ -461,7 +449,6 @@ if(ALIGPU_BUILD_TYPE STREQUAL "ALIROOT") ${SRCS_NO_CINT} ${SRCS_NO_H} ${SRCS_DATATYPES} - ${SRCS_DATATYPE_HEADERS} G__Ali${MODULE}.cxx) target_link_libraries(Ali${MODULE} ${LIBDEPS}) @@ -488,7 +475,7 @@ endif() # Main CMake part for Standalone if(ALIGPU_BUILD_TYPE STREQUAL "Standalone") - add_library(${MODULE} SHARED ${SRCS} ${SRCS_NO_CINT} ${SRCS_NO_H} ${SRCS_DATATYPES} ${SRCS_DATATYPE_HEADERS}) + add_library(${MODULE} SHARED ${SRCS} ${SRCS_NO_CINT} ${SRCS_NO_H} ${SRCS_DATATYPES}) set(targetName ${MODULE}) add_library(O2::${MODULE} ALIAS ${MODULE}) install(TARGETS ${MODULE}) diff --git a/GPU/GPUTracking/GPUTrackingLinkDef_O2.h b/GPU/GPUTracking/GPUTrackingLinkDef_O2.h index 431e283aa6390..d5a81797bf7fc 100644 --- a/GPU/GPUTracking/GPUTrackingLinkDef_O2.h +++ b/GPU/GPUTracking/GPUTrackingLinkDef_O2.h @@ -25,6 +25,8 @@ #pragma link C++ class o2::gpu::GPUTPCTrack + ; #pragma link C++ struct o2::gpu::GPUTPCBaseTrackParam + ; #pragma link C++ struct o2::gpu::GPUTPCGMSliceTrack::sliceTrackParam + ; +#pragma link C++ class o2::gpu::trackInterface < o2::gpu::GPUTPCGMTrackParam> + ; +#pragma link C++ class o2::gpu::GPUTRDTrack_t < o2::gpu::trackInterface < o2::gpu::GPUTPCGMTrackParam>> + ; #pragma link C++ class o2::gpu::gputpcgmmergertypes::GPUTPCOuterParam + ; #pragma link C++ class o2::gpu::gputpcgmmergertypes::InterpolationErrorHit + ; diff --git a/GPU/GPUTracking/TRDTracking/GPUTRDInterfaces.h b/GPU/GPUTracking/TRDTracking/GPUTRDInterfaces.h index 240c786d8f9ba..8436f584e59f5 100644 --- a/GPU/GPUTracking/TRDTracking/GPUTRDInterfaces.h +++ b/GPU/GPUTracking/TRDTracking/GPUTRDInterfaces.h @@ -133,6 +133,7 @@ class propagatorInterface : public AliTrackerBase #if defined(GPUCA_HAVE_O2HEADERS) // Interface for O2, build only with O2 #include "DetectorsBase/Propagator.h" +#include "GPUTRDInterfaceO2Track.h" namespace GPUCA_NAMESPACE { @@ -300,6 +301,8 @@ class trackInterface : public GPUTPCGMTrackParam private: float mAlpha = 0.f; // rotation along phi wrt global coordinate system + + ClassDefNV(trackInterface, 1); }; template <> diff --git a/GPU/Workflow/helper/CMakeLists.txt b/GPU/Workflow/helper/CMakeLists.txt index 2902db7076fde..5c237de183501 100644 --- a/GPU/Workflow/helper/CMakeLists.txt +++ b/GPU/Workflow/helper/CMakeLists.txt @@ -14,6 +14,6 @@ o2_add_library(GPUWorkflowHelper TARGETVARNAME targetName PUBLIC_LINK_LIBRARIES O2::Framework O2::DataFormatsGlobalTracking - O2::GPUDataTypeHeaders + O2::GPUDataTypes O2::GPUO2Interface O2::ITStracking)