From 197ebb711aa44713e3f08e2f1561428cc83e7bd8 Mon Sep 17 00:00:00 2001
From: Markus Frank <Markus.Frank@cern.ch>
Date: Thu, 4 Jul 2019 15:24:37 +0200
Subject: [PATCH] Prepare DD4hep for Geant4 units in TGeo; Start digitization
 package

---
 DDDigi/src/DigiKernel.cpp                       | 6 +++---
 examples/ClientTests/CMakeLists.txt             | 4 +++-
 examples/ClientTests/src/MaterialTester_geo.cpp | 4 ++++
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/DDDigi/src/DigiKernel.cpp b/DDDigi/src/DigiKernel.cpp
index 75ae4783e..ed186124a 100644
--- a/DDDigi/src/DigiKernel.cpp
+++ b/DDDigi/src/DigiKernel.cpp
@@ -115,8 +115,8 @@ public:
     while( !kernel.internals->stop &&
            (todo = --kernel.internals->eventsToDo) >= 0 )    {
       int ev_num = kernel.internals->numEvents - todo;
-      unique_ptr<DigiContext> c = make_unique<DigiContext>(&kernel);
-      unique_ptr<DigiEvent>   e = make_unique<DigiEvent>(ev_num);
+      unique_ptr<DigiContext> c(new DigiContext(&kernel));
+      unique_ptr<DigiEvent>   e(new DigiEvent(ev_num));
       c->setEvent(e.release());
       kernel.executeEvent(c.release());
     }
@@ -346,7 +346,7 @@ int DigiKernel::run()   {
 #endif
   if ( internals->eventsToDo > 0 )   {
     for(int i=0; i<internals->numEvents; ++i)   {
-      unique_ptr<DigiContext> context = make_unique<DigiContext>(this);
+      unique_ptr<DigiContext> context(new DigiContext(this));
       ++internals->eventsToDo;
       executeEvent(context.release());
     }
diff --git a/examples/ClientTests/CMakeLists.txt b/examples/ClientTests/CMakeLists.txt
index 3a204e24b..8542e417a 100644
--- a/examples/ClientTests/CMakeLists.txt
+++ b/examples/ClientTests/CMakeLists.txt
@@ -191,7 +191,9 @@ dd4hep_add_test_reg( ClientTests_Check_VolumeDivisionTest
   REGEX_PASS "Checked 8 physical volume placements")
 #
 #
-foreach (test Assemblies BoxTrafos IronCylinder LheD_tracker MagnetFields MaterialTester 
+# only if root version > 6.19: MaterialTester
+#
+foreach (test Assemblies BoxTrafos IronCylinder LheD_tracker MagnetFields  
     MiniTel SectorBarrelCalorimeter SiliconBlock NestedSimple NestedDetectors 
     MultiCollections MultiSegmentations )
 
diff --git a/examples/ClientTests/src/MaterialTester_geo.cpp b/examples/ClientTests/src/MaterialTester_geo.cpp
index 2e29cff97..653ada20e 100644
--- a/examples/ClientTests/src/MaterialTester_geo.cpp
+++ b/examples/ClientTests/src/MaterialTester_geo.cpp
@@ -11,6 +11,9 @@
 //
 //==========================================================================
 
+#include "RVersion.h"
+
+#if ROOT_VERSION_CODE >= ROOT_VERSION(6,20,0)
 
 // Framework include files
 #include "DD4hep/DetFactoryHelper.h"
@@ -96,3 +99,4 @@ static Ref_t create_element(Detector& description, xml_h xml_det, SensitiveDetec
 }
 
 DECLARE_DETELEMENT(MaterialTester,create_element)
+#endif
-- 
GitLab