From 024997d939af47d31cd16e0b0c448f7007127d62 Mon Sep 17 00:00:00 2001
From: Michael Deveaux <deveaux@physik.uni-frankfurt.de>
Date: Fri, 20 Jan 2023 17:02:04 +0100
Subject: [PATCH] CbmMvdPixelCharge->DigestCharge accepts time information

---
 sim/detectors/mvd/CbmMvdPixelCharge.cxx                     | 3 ++-
 sim/detectors/mvd/CbmMvdPixelCharge.h                       | 2 +-
 .../mvd/plugins/tasks/CbmMvdSensorDigitizerTask.cxx         | 6 +++---
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/sim/detectors/mvd/CbmMvdPixelCharge.cxx b/sim/detectors/mvd/CbmMvdPixelCharge.cxx
index 75fb5641b5..19d7f3c53c 100644
--- a/sim/detectors/mvd/CbmMvdPixelCharge.cxx
+++ b/sim/detectors/mvd/CbmMvdPixelCharge.cxx
@@ -51,7 +51,7 @@ CbmMvdPixelCharge::CbmMvdPixelCharge(Float_t charge, Int_t channelNrX, Int_t cha
 // all segments of a track). Checks if a new track contributed charge to the pixel
 // Checks if the new track is dominant
 
-void CbmMvdPixelCharge::DigestCharge(Float_t pointX, Float_t pointY, Int_t pointId, Int_t trackId)
+void CbmMvdPixelCharge::DigestCharge(Float_t pointX, Float_t pointY, Double_t time, Int_t pointId, Int_t trackId)
 {
   Float_t chargeContr = fTrackCharge;
 
@@ -67,6 +67,7 @@ void CbmMvdPixelCharge::DigestCharge(Float_t pointX, Float_t pointY, Int_t point
     fPointWeight.push_back(chargeContr);
     fPointX.push_back(pointX);
     fPointY.push_back(pointY);
+    fTime.push_back(time);
 
 //  fTime.push_back(time);
 //  fLink.push_back(); // TODO: pass link 
diff --git a/sim/detectors/mvd/CbmMvdPixelCharge.h b/sim/detectors/mvd/CbmMvdPixelCharge.h
index 9835af58f6..60482a289b 100644
--- a/sim/detectors/mvd/CbmMvdPixelCharge.h
+++ b/sim/detectors/mvd/CbmMvdPixelCharge.h
@@ -31,7 +31,7 @@ public:
 
   Bool_t TestXY(Int_t channelNrX, Int_t channelNrY);
 
-  void DigestCharge(Float_t pointX, Float_t pointY, Int_t PointId, Int_t trackId); // TODO: add time here
+  void DigestCharge(Float_t pointX, Float_t pointY, Double_t time, Int_t PointId, Int_t trackId); // TODO: add time here
   void AddCharge(Float_t charge) { fTrackCharge = fTrackCharge + charge; };
 
 
diff --git a/sim/detectors/mvd/plugins/tasks/CbmMvdSensorDigitizerTask.cxx b/sim/detectors/mvd/plugins/tasks/CbmMvdSensorDigitizerTask.cxx
index 6ee8a79bd3..3953c53441 100644
--- a/sim/detectors/mvd/plugins/tasks/CbmMvdSensorDigitizerTask.cxx
+++ b/sim/detectors/mvd/plugins/tasks/CbmMvdSensorDigitizerTask.cxx
@@ -948,7 +948,7 @@ void CbmMvdSensorDigitizerTask::ProducePixelCharge(CbmMvdPoint* point)
     CbmMvdPixelCharge* pixelCharge = fPixelChargeShort.at(f);
     if (pixelCharge) {
       pixelCharge->DigestCharge(((float) (point->GetX() + point->GetXOut()) / 2),
-                                ((float) (point->GetY() + point->GetYOut()) / 2), point->GetPointId(),
+                                ((float) (point->GetY() + point->GetYOut()) / 2), fEventTime + point->GetTime(),point->GetPointId(),
                                 point->GetTrackID());
     }
     else {
@@ -1001,13 +1001,13 @@ void CbmMvdSensorDigitizerTask::ProduceNoise()
     if (fChargeMapIt == fChargeMap.end()) {
       pixel = new ((*fPixelCharge)[fPixelCharge->GetEntriesFast()])
         CbmMvdPixelCharge(1000, xPix, yPix, 0, -4, Current[0], Current[1]); // TODO: Add time
-      pixel->DigestCharge(Current[0], Current[1], 0, -4);
+      pixel->DigestCharge(Current[0], Current[1],fEventTime, 0, -4);
       fChargeMap[thispoint] = pixel;
     }
     else {
       pixel = fChargeMapIt->second;
       pixel->AddCharge(1000); // TODO: Add time
-      pixel->DigestCharge(Current[0], Current[1], 0, -4);
+      pixel->DigestCharge(Current[0], Current[1], fEventTime, 0, -4);
     }
   }
 }
-- 
GitLab