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