From 27f04d74d67bc30ff29bd823a61e048fa55c77aa Mon Sep 17 00:00:00 2001
From: lintao <lintao51@gmail.com>
Date: Tue, 20 Dec 2022 15:23:20 +0800
Subject: [PATCH] WIP: create track info.

---
 Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.cpp | 9 +++++++++
 Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.h   | 1 +
 2 files changed, 10 insertions(+)

diff --git a/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.cpp b/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.cpp
index ca3bf7b6..937f9e1f 100644
--- a/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.cpp
+++ b/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.cpp
@@ -472,6 +472,15 @@ Edm4hepWriterAnaElemTool::PostUserTrackingAction(const G4Track* track) {
 
                     mcp.addToParents(primary_particle);
                     primary_particle.addToDaughters(mcp);
+
+                    // store the edm4hep obj idx in track info.
+                    // using this idx, the MCParticle object could be modified later. 
+                    auto trackinfo = new CommonUserTrackInfo();
+                    trackinfo->setIdxEdm4hep(mcp.getObjectID().index);
+                    sectrk->SetUserInformation(trackinfo);
+                    info() << " Appending MCParticle: (id: " 
+                           << mcp.getObjectID().index << ")"
+                           << endmsg;
                 }
             }
         }
diff --git a/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.h b/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.h
index b290c40b..aad11e8d 100644
--- a/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.h
+++ b/Simulation/DetSimAna/src/Edm4hepWriterAnaElemTool.h
@@ -7,6 +7,7 @@
 #include "k4FWCore/DataHandle.h"
 #include "DetSimInterface/IAnaElemTool.h"
 #include "DetSimInterface/CommonUserEventInfo.hh"
+#include "DetSimInterface/CommonUserTrackInfo.hh"
 
 #include "edm4hep/MCParticleCollection.h"
 #include "edm4hep/SimTrackerHitCollection.h"
-- 
GitLab