From bf47247c51286010951a70d221ceefc846b9a744 Mon Sep 17 00:00:00 2001
From: "F. Uhlig" <f.uhlig@gsi.de>
Date: Mon, 13 Dec 2021 15:57:09 +0100
Subject: [PATCH] Create complete OnlineData library needed by libAlgo

Add all data classes needed by libAlgo to libOnlineData.
Add all other referenced classses to libOnlineData.
Remove ROOT dependencies from all these classes.

Link libAlgo against libOnlineData.
---
 algo/CMakeLists.txt               | 2 ++
 algo/data/CMakeLists.txt          | 8 +++++++-
 core/data/much/CbmMuchAddress.cxx | 2 ++
 core/data/much/CbmMuchAddress.h   | 4 ++++
 4 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/algo/CMakeLists.txt b/algo/CMakeLists.txt
index 7408154216..a3f98e7075 100644
--- a/algo/CMakeLists.txt
+++ b/algo/CMakeLists.txt
@@ -28,5 +28,7 @@ target_include_directories(Algo SYSTEM
   PUBLIC ${Boost_INCLUDE_DIR}
 )
 
+target_link_libraries(Algo OnlineData)
+
 target_compile_definitions(Algo PUBLIC NO_ROOT)
 
diff --git a/algo/data/CMakeLists.txt b/algo/data/CMakeLists.txt
index ddff59ad68..484a89cd54 100644
--- a/algo/data/CMakeLists.txt
+++ b/algo/data/CMakeLists.txt
@@ -3,6 +3,9 @@
 # The extension is already found.  Any number of sources could be listed here.
 
 set(SRCS
+  ${CMAKE_SOURCE_DIR}/core/data/CbmDefs.cxx
+  ${CMAKE_SOURCE_DIR}/core/data/CbmAddress.cxx
+
   ${CMAKE_SOURCE_DIR}/core/data/sts/CbmStsDigi.cxx
   ${CMAKE_SOURCE_DIR}/core/data/sts/CbmStsAddress.cxx
 
@@ -15,10 +18,13 @@ set(SRCS
 
   ${CMAKE_SOURCE_DIR}/core/data/tof/CbmTofDigi.cxx
   ${CMAKE_SOURCE_DIR}/core/data/tof/CbmTofAddress.cxx
+  ${CMAKE_SOURCE_DIR}/core/data/tof/CbmTofDetectorId.cxx
+  ${CMAKE_SOURCE_DIR}/core/data/tof/CbmTofDetectorId_v12b.cxx
+
 
   ${CMAKE_SOURCE_DIR}/core/data/psd/CbmPsdDigi.cxx
   ${CMAKE_SOURCE_DIR}/core/data/psd/CbmPsdAddress.cxx
- )
+)
 
 add_library(OnlineData SHARED ${SRCS})
 
diff --git a/core/data/much/CbmMuchAddress.cxx b/core/data/much/CbmMuchAddress.cxx
index 9e654bf6db..bb9a2ff710 100644
--- a/core/data/much/CbmMuchAddress.cxx
+++ b/core/data/much/CbmMuchAddress.cxx
@@ -121,4 +121,6 @@ uint32_t CbmMuchAddress::SetElementId(uint32_t address, int32_t level, int32_t n
 }
 // -------------------------------------------------------------------------
 
+#ifndef NO_ROOT
 ClassImp(CbmMuchAddress)
+#endif
diff --git a/core/data/much/CbmMuchAddress.h b/core/data/much/CbmMuchAddress.h
index a370dd47f8..eca37ad8d4 100644
--- a/core/data/much/CbmMuchAddress.h
+++ b/core/data/much/CbmMuchAddress.h
@@ -7,7 +7,9 @@
 
 #include "CbmAddress.h"  // for CbmAddress
 
+#ifndef NO_ROOT
 #include <Rtypes.h>  // for ClassDef
+#endif
 
 #include <cstdint>
 
@@ -137,7 +139,9 @@ private:
   static const int32_t fgkMask[kMuchNofLevels];
 
 
+#ifndef NO_ROOT
   ClassDef(CbmMuchAddress, 1);
+#endif
 };
 
 
-- 
GitLab