From 48d585cb4b398686ec0626ca8a2ccce6e0ade4a8 Mon Sep 17 00:00:00 2001
From: Alexandru Bercuci <abercuci@niham.nipne.ro>
Date: Fri, 24 Mar 2023 12:48:21 +0200
Subject: [PATCH] fix memory leak in timebased simulations of TRD2D (A.Nan)

---
 sim/detectors/trd/CbmTrdModuleSim2D.cxx | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/sim/detectors/trd/CbmTrdModuleSim2D.cxx b/sim/detectors/trd/CbmTrdModuleSim2D.cxx
index fb4fb0e95b..3c5ed0ad02 100644
--- a/sim/detectors/trd/CbmTrdModuleSim2D.cxx
+++ b/sim/detectors/trd/CbmTrdModuleSim2D.cxx
@@ -707,8 +707,14 @@ Int_t CbmTrdModuleSim2D::FlushBuffer(ULong64_t time)
       digi = iv->first;
       if (!digi->IsMasked()) {  // no more digi processed
         if (digi->GetTime() < newStartTime) newStartTime = digi->GetTime();
+        if ((digi->GetTime() - timeMax) > 400) {
+          delete digi;
+          iv = fBuffer[padAddress].erase(iv);  // remove from saved buffer
+          continue;
+        }
         break;
       }
+
       if (digi->IsFlagged(0)) {  // phys digi didn't produce CS/FT update last digiMatch
         delete digi;
         if (digiMatch) {
-- 
GitLab