From f82e8f59ca11e2fbee9be434dbbf0db83be0f2ca Mon Sep 17 00:00:00 2001
From: Adrien Matta <matta@lpccaen.in2p3.fr>
Date: Wed, 8 Jun 2022 09:51:40 +0200
Subject: [PATCH] * Fixing issue in Resisitve scorer

---
 NPSimulation/Detectors/SuperX3/SuperX3.cc |  2 ++
 NPSimulation/Scorers/DSSDScorers.cc       | 13 +++++++------
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/NPSimulation/Detectors/SuperX3/SuperX3.cc b/NPSimulation/Detectors/SuperX3/SuperX3.cc
index 8c0ab28f2..672e7b6f5 100644
--- a/NPSimulation/Detectors/SuperX3/SuperX3.cc
+++ b/NPSimulation/Detectors/SuperX3/SuperX3.cc
@@ -320,6 +320,8 @@ void SuperX3::ReadSensitive(const G4Event*) {
     m_Event->SetBackE(det, strip, energy);
     m_Event->SetBackT(det, strip, time);
   }
+  resistive->clear();
+  backstrip->clear();
 }
 
 void SuperX3::InitializeMaterials() {
diff --git a/NPSimulation/Scorers/DSSDScorers.cc b/NPSimulation/Scorers/DSSDScorers.cc
index dde7e5ad6..f89ec91d0 100644
--- a/NPSimulation/Scorers/DSSDScorers.cc
+++ b/NPSimulation/Scorers/DSSDScorers.cc
@@ -370,21 +370,22 @@ G4bool PS_Resistive::ProcessHits(G4Step* aStep, G4TouchableHistory*) {
 
   // Up
   vector<DSSDData>::iterator it;
-  it = m_HitUp.find(DSSDData::CalculateIndex(t_DetectorNumber, t_StripWidthNumber));
-  if (it != m_HitUp.end())
+  it = m_HitUp.find(DSSDData::CalculateIndex(t_StripWidthNumber, t_DetectorNumber));
+  if (it != m_HitUp.end()) {
     it->Add(t_EnergyUp);
-  else
+  }
+  else {
     m_HitUp.Set(t_EnergyUp, t_Time, t_StripWidthNumber, t_DetectorNumber);
-
+  }
   // Down
-  it = m_HitDown.find(DSSDData::CalculateIndex(t_DetectorNumber, t_StripWidthNumber));
+  it = m_HitDown.find(DSSDData::CalculateIndex(t_StripWidthNumber, t_DetectorNumber));
   if (it != m_HitDown.end())
     it->Add(t_EnergyDown);
   else
     m_HitDown.Set(t_EnergyDown, t_Time, t_StripWidthNumber, t_DetectorNumber);
 
   // Back
-  it = m_HitBack.find(DSSDData::CalculateIndex(t_DetectorNumber, t_StripWidthNumber));
+  it = m_HitBack.find(DSSDData::CalculateIndex(t_StripWidthNumber, t_DetectorNumber));
   if (it != m_HitBack.end())
     it->Add(t_Energy);
   else
-- 
GitLab