From 106eed48188e4b6835562bc23c018827f69171b6 Mon Sep 17 00:00:00 2001
From: Wouter Deconinck <wdconinc@gmail.com>
Date: Mon, 20 Jan 2025 15:52:07 +0000
Subject: [PATCH 1/2] feat: support EDM4hep-0.99 relations to MCParticle

---
 JugDigi/src/components/PhotoMultiplierDigi.cpp | 5 +++++
 JugDigi/src/components/SiliconTrackerDigi.cpp  | 9 +++++++++
 2 files changed, 14 insertions(+)

diff --git a/JugDigi/src/components/PhotoMultiplierDigi.cpp b/JugDigi/src/components/PhotoMultiplierDigi.cpp
index 82160a0b..daf42e6a 100644
--- a/JugDigi/src/components/PhotoMultiplierDigi.cpp
+++ b/JugDigi/src/components/PhotoMultiplierDigi.cpp
@@ -25,6 +25,7 @@
 
 // Event Model related classes
 #include "edm4eic/RawTrackerHitCollection.h"
+#include "edm4hep/EDM4hepVersion.h"
 #include "edm4hep/MCParticleCollection.h"
 #include "edm4hep/SimTrackerHitCollection.h"
 
@@ -99,7 +100,11 @@ public:
             }
             // cell id, time, signal amplitude
             uint64_t id = ahit.getCellID();
+#if EDM4HEP_BUILD_VERSION >= EDM4HEP_VERSION(0, 99, 0)
+            double time = ahit.getParticle().getTime();
+#else
             double time = ahit.getMCParticle().getTime();
+#endif
             double amp = m_speMean + m_rngNorm()*m_speError;
 
             // group hits
diff --git a/JugDigi/src/components/SiliconTrackerDigi.cpp b/JugDigi/src/components/SiliconTrackerDigi.cpp
index c54dbfe0..f4e3a8af 100644
--- a/JugDigi/src/components/SiliconTrackerDigi.cpp
+++ b/JugDigi/src/components/SiliconTrackerDigi.cpp
@@ -15,6 +15,7 @@
 
 // Event Model related classes
 // edm4hep's tracker hit is the input collectiopn
+#include "edm4hep/MCParticleCollection.h"
 #include "edm4hep/MCParticle.h"
 #include "edm4hep/SimTrackerHitCollection.h"
 // edm4eic's RawTrackerHit is the output
@@ -85,12 +86,20 @@ public:
         cell_hit_map[ahit.getCellID()] = rawhits->size();
         rawhits->create(
           ahit.getCellID(),
+#if EDM4HEP_BUILD_VERSION >= EDM4HEP_VERSION(0, 99, 0)
+          ahit.getParticle().getTime() * 1e6 + m_gaussDist() * 1e3, // ns->fs
+#else
           ahit.getMCParticle().getTime() * 1e6 + m_gaussDist() * 1e3, // ns->fs
+#endif
           std::llround(ahit.getEDep() * 1e6)
         );
       } else {
         auto hit = (*rawhits)[cell_hit_map[ahit.getCellID()]];
+#if EDM4HEP_BUILD_VERSION >= EDM4HEP_VERSION(0, 99, 0)
+        hit.setTimeStamp(ahit.getParticle().getTime() * 1e6 + m_gaussDist() * 1e3);
+#else
         hit.setTimeStamp(ahit.getMCParticle().getTime() * 1e6 + m_gaussDist() * 1e3);
+#endif
         auto ch = hit.getCharge();
         hit.setCharge(ch + std::llround(ahit.getEDep() * 1e6));
       }
-- 
GitLab


From ee75f57d1385a88cdb95abec7b6202c69b551581 Mon Sep 17 00:00:00 2001
From: Wouter Deconinck <wdconinc@gmail.com>
Date: Mon, 20 Jan 2025 16:01:51 +0000
Subject: [PATCH 2/2] fix: include EDM4hepVersion.h

---
 JugDigi/src/components/SiliconTrackerDigi.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/JugDigi/src/components/SiliconTrackerDigi.cpp b/JugDigi/src/components/SiliconTrackerDigi.cpp
index f4e3a8af..18face7f 100644
--- a/JugDigi/src/components/SiliconTrackerDigi.cpp
+++ b/JugDigi/src/components/SiliconTrackerDigi.cpp
@@ -15,8 +15,8 @@
 
 // Event Model related classes
 // edm4hep's tracker hit is the input collectiopn
+#include "edm4hep/EDM4hepVersion.h"
 #include "edm4hep/MCParticleCollection.h"
-#include "edm4hep/MCParticle.h"
 #include "edm4hep/SimTrackerHitCollection.h"
 // edm4eic's RawTrackerHit is the output
 #include "edm4eic/RawTrackerHitCollection.h"
-- 
GitLab