From 4636a24e7071ed952e2e3e27f36f8a7bc63058fa Mon Sep 17 00:00:00 2001
From: Michael Deveaux <deveaux@physik.uni-frankfurt.de>
Date: Tue, 17 Jan 2023 14:59:31 +0100
Subject: [PATCH] Minor debugging. CbmMvdPoints now send as TObjects from
 CbmMvdDigitizer

---
 mvd/CbmMvdDigitizer.cxx                       | 50 ++++++++++++++++++-
 .../tasks/CbmMvdSensorClusterfinderTask.cxx   |  4 +-
 .../tasks/CbmMvdSensorDigiToHitTask.cxx       |  4 +-
 .../tasks/CbmMvdSensorDigitizerTBTask.cxx     |  8 +--
 mvd/plugins/tasks/CbmMvdSensorFindHitTask.cxx |  4 +-
 .../tasks/CbmMvdSensorHitfinderTask.cxx       |  4 +-
 mvd/plugins/tasks/CbmMvdSensorReadoutTask.cxx |  4 +-
 mvd/plugins/tasks/CbmMvdSensorTask.cxx        |  4 +-
 8 files changed, 65 insertions(+), 17 deletions(-)

diff --git a/mvd/CbmMvdDigitizer.cxx b/mvd/CbmMvdDigitizer.cxx
index deb978ea94..e7c748bca5 100644
--- a/mvd/CbmMvdDigitizer.cxx
+++ b/mvd/CbmMvdDigitizer.cxx
@@ -124,10 +124,58 @@ void CbmMvdDigitizer::Exec(Option_t* /*opt*/)
   BuildEvent();
   Int_t nPoints = fInputPoints->GetEntriesFast();
   Int_t nDigis  = 0;
+  CbmMvdPoint* point=0;
+
+  /*
+
+ CbmMvdPoint* point;
+  Int_t nEntries = input->GetEntriesFast();
+  Int_t nSensors = fSensorArray->GetEntriesFast();
+  CbmMvdSensor* sensor;
+  Bool_t send = kFALSE;
+  for (Int_t i = 0; i < nEntries; i++) {
+    point = (CbmMvdPoint*) input->At(i);
+    point->SetPointId(i);
+    for (Int_t k = 0; k < nSensors; k++) {
+      sensor = (CbmMvdSensor*) fSensorArray->At(k);
+
+      if (point->GetDetectorID() == sensor->GetDetectorID()) {
+        sensor->SendInputToPlugin(sensor->GetDigiPlugin(),(TObject*) point);
+        send = true;
+      }
+    }
+    if (!send) LOG(warn) << "Point not send to any sensor: " << point->GetDetectorID();
+  }
+}
+
+ */
   if (fInputPoints->GetEntriesFast() > 0) {
     LOG(debug) << "//----------------------------------------//";
     LOG(debug) << fName << ": Send Input";
-    fDetector->SendInput(fInputPoints);
+
+    // Get the sensor array from the Detector
+    TObjArray* sensorArray=fDetector->GetSensorArray();
+    CbmMvdSensor* sensor=0;
+
+    Int_t nSensors= sensorArray->GetEntriesFast();
+    Int_t nTargetPlugin=DetectPlugin(100);
+
+    for (Int_t i=0; i< nPoints; i++) { //loop over all points
+      for (Int_t k=0; k< nSensors; k++) { //lool over all sensors
+        point=(CbmMvdPoint*) fInputPoints->At(i);
+        sensor=(CbmMvdSensor*) sensorArray->At(k);
+
+        if (point->GetDetectorID() == sensor-> GetDetectorID()) {fDetector->SendInputToSensorPlugin(k, nTargetPlugin, (TObject*) point);
+                                                           break;
+        }
+      }
+    }
+
+
+
+
+    //fDetector->SendInput(fInputPoints);
+
     LOG(debug) << fName << ": Execute DigitizerPlugin Nr. " << fDigiPluginNr;
     fDetector->Exec(fDigiPluginNr);
     LOG(debug) << fName << ": End Chain";
diff --git a/mvd/plugins/tasks/CbmMvdSensorClusterfinderTask.cxx b/mvd/plugins/tasks/CbmMvdSensorClusterfinderTask.cxx
index b1e1e2578f..f1dd543bcf 100644
--- a/mvd/plugins/tasks/CbmMvdSensorClusterfinderTask.cxx
+++ b/mvd/plugins/tasks/CbmMvdSensorClusterfinderTask.cxx
@@ -22,7 +22,7 @@ using std::vector;
 // -----   Default constructor   -------------------------------------------
 CbmMvdSensorClusterfinderTask::CbmMvdSensorClusterfinderTask() : CbmMvdSensorClusterfinderTask(0, 0) {
 
-fPluginIDNumber= 200
+fPluginIDNumber= 200;
 
 }
 // -------------------------------------------------------------------------
@@ -84,7 +84,7 @@ CbmMvdSensorClusterfinderTask::CbmMvdSensorClusterfinderTask(Int_t iMode, Int_t
   , fBranchName("MvdHit")
   , fAddNoise(kFALSE)
 {
-fPluginIDNumber= 200
+fPluginIDNumber= 200;
 }
 // -------------------------------------------------------------------------
 
diff --git a/mvd/plugins/tasks/CbmMvdSensorDigiToHitTask.cxx b/mvd/plugins/tasks/CbmMvdSensorDigiToHitTask.cxx
index cfeabbb214..b9c870ebf8 100644
--- a/mvd/plugins/tasks/CbmMvdSensorDigiToHitTask.cxx
+++ b/mvd/plugins/tasks/CbmMvdSensorDigiToHitTask.cxx
@@ -73,7 +73,7 @@ UInt_t shape = 0;
 
 // -----   Default constructor   -------------------------------------------
 CbmMvdSensorDigiToHitTask::CbmMvdSensorDigiToHitTask() : CbmMvdSensorDigiToHitTask(0, 0) {
-fPluginIDNumber= 500
+fPluginIDNumber= 500;
 }
 // -------------------------------------------------------------------------
 
@@ -108,7 +108,7 @@ CbmMvdSensorDigiToHitTask::CbmMvdSensorDigiToHitTask(Int_t /*iMode*/, Int_t iVer
   , fHitPosErrZ(0.0)
 
 {
-fPluginIDNumber= 500
+fPluginIDNumber= 500;
 }
 // -------------------------------------------------------------------------
 
diff --git a/mvd/plugins/tasks/CbmMvdSensorDigitizerTBTask.cxx b/mvd/plugins/tasks/CbmMvdSensorDigitizerTBTask.cxx
index 5dc11bde91..93640276ff 100644
--- a/mvd/plugins/tasks/CbmMvdSensorDigitizerTBTask.cxx
+++ b/mvd/plugins/tasks/CbmMvdSensorDigitizerTBTask.cxx
@@ -57,9 +57,9 @@ using std::setw;
 using std::vector;
 
 //---------   Default constructor   ------------------------------------------
-CbmMvdSensorDigitizerTBTask::CbmMvdSensorDigitizerTBTask(){
-fPluginIDNumber= 1100
-}
+//CbmMvdSensorDigitizerTBTask::CbmMvdSensorDigitizerTBTask(){
+//fPluginIDNumber= 1100;
+//}
 
 // -----   Standard constructor   ------------------------------------------
 CbmMvdSensorDigitizerTBTask::CbmMvdSensorDigitizerTBTask()
@@ -171,7 +171,7 @@ CbmMvdSensorDigitizerTBTask::CbmMvdSensorDigitizerTBTask()
   fReadoutLast    = -1.;
   fReadoutCurrent = 0.;
 
-  fPluginIDNumber= 1100
+  fPluginIDNumber= 1100;
 }
 // -------------------------------------------------------------------------
 
diff --git a/mvd/plugins/tasks/CbmMvdSensorFindHitTask.cxx b/mvd/plugins/tasks/CbmMvdSensorFindHitTask.cxx
index e45dc0d074..3525d88406 100644
--- a/mvd/plugins/tasks/CbmMvdSensorFindHitTask.cxx
+++ b/mvd/plugins/tasks/CbmMvdSensorFindHitTask.cxx
@@ -113,7 +113,7 @@ CbmMvdSensorFindHitTask::CbmMvdSensorFindHitTask()
   , fDigisInCluster(-1)
   , fAddNoise(kFALSE)
 {
-fPluginIDNumber= 400
+fPluginIDNumber= 400;
 }
 // -------------------------------------------------------------------------
 
@@ -172,7 +172,7 @@ CbmMvdSensorFindHitTask::CbmMvdSensorFindHitTask(Int_t iMode)
   , fDigisInCluster(-1)
   , fAddNoise(kFALSE)
 {
-fPluginIDNumber= 400
+fPluginIDNumber= 400;
 }
 // -------------------------------------------------------------------------
 
diff --git a/mvd/plugins/tasks/CbmMvdSensorHitfinderTask.cxx b/mvd/plugins/tasks/CbmMvdSensorHitfinderTask.cxx
index dee213810b..23988ca9ea 100644
--- a/mvd/plugins/tasks/CbmMvdSensorHitfinderTask.cxx
+++ b/mvd/plugins/tasks/CbmMvdSensorHitfinderTask.cxx
@@ -112,7 +112,7 @@ CbmMvdSensorHitfinderTask::CbmMvdSensorHitfinderTask()
   , fDigisInCluster(0)
   , fAddNoise(kFALSE)
 {
-fPluginIDNumber= 300
+fPluginIDNumber= 300;
 }
 // -------------------------------------------------------------------------
 
@@ -169,7 +169,7 @@ CbmMvdSensorHitfinderTask::CbmMvdSensorHitfinderTask(Int_t iMode)
   , fDigisInCluster(0)
   , fAddNoise(kFALSE)
 {
-fPluginIDNumber= 300
+fPluginIDNumber= 300;
 }
 // -------------------------------------------------------------------------
 
diff --git a/mvd/plugins/tasks/CbmMvdSensorReadoutTask.cxx b/mvd/plugins/tasks/CbmMvdSensorReadoutTask.cxx
index d150323165..1ac40168c5 100644
--- a/mvd/plugins/tasks/CbmMvdSensorReadoutTask.cxx
+++ b/mvd/plugins/tasks/CbmMvdSensorReadoutTask.cxx
@@ -27,7 +27,7 @@ CbmMvdSensorReadoutTask::CbmMvdSensorReadoutTask()
   , fSensorBanks()
 {
   //    fSensorBanks[maxBanks] = {0};
-    fPluginIDNumber= 600
+    fPluginIDNumber= 600;
 }
 // -------------------------------------------------------------------------
 // -----  constructor   -------------------------------------------
@@ -39,7 +39,7 @@ CbmMvdSensorReadoutTask::CbmMvdSensorReadoutTask(const char* name)
   , fSensorBanks()
 {
   //    fSensorBanks[maxBanks] = {0};
-    fPluginIDNumber= 600
+    fPluginIDNumber= 600;
 }
 // -------------------------------------------------------------------------
 
diff --git a/mvd/plugins/tasks/CbmMvdSensorTask.cxx b/mvd/plugins/tasks/CbmMvdSensorTask.cxx
index 418d2158e7..51c02762a5 100644
--- a/mvd/plugins/tasks/CbmMvdSensorTask.cxx
+++ b/mvd/plugins/tasks/CbmMvdSensorTask.cxx
@@ -15,7 +15,7 @@
 
 // -----   Default constructor   -------------------------------------------
 CbmMvdSensorTask::CbmMvdSensorTask() : CbmMvdSensorPlugin(), fInputBuffer(NULL), fOutputBuffer(NULL), fSensor(NULL) {
-fPluginIDNumber= 0
+fPluginIDNumber= -1;
 }
 // -------------------------------------------------------------------------
 // -----  constructor   -------------------------------------------
@@ -25,7 +25,7 @@ CbmMvdSensorTask::CbmMvdSensorTask(const char* name)
   , fOutputBuffer(NULL)
   , fSensor(NULL)
 {
-fPluginIDNumber= 0
+fPluginIDNumber= -1;
 }
 // -------------------------------------------------------------------------
 
-- 
GitLab