From 39165bb9c3be03ce1b622ba1b0ce83cdd30a25c3 Mon Sep 17 00:00:00 2001
From: flavigny <flavigny@lpccaen.in2p3.fr>
Date: Wed, 22 Jul 2020 18:14:08 +0200
Subject: [PATCH] * Fix bug in StrassePhysics leading to segfault

---
 NPLib/Detectors/Strasse/TStrassePhysics.cxx | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/NPLib/Detectors/Strasse/TStrassePhysics.cxx b/NPLib/Detectors/Strasse/TStrassePhysics.cxx
index a4543ebf8..0262a70c3 100644
--- a/NPLib/Detectors/Strasse/TStrassePhysics.cxx
+++ b/NPLib/Detectors/Strasse/TStrassePhysics.cxx
@@ -353,12 +353,11 @@ void TStrassePhysics::BuildSimplePhysicalEvent() {
 void TStrassePhysics::BuildPhysicalEvent() {
   // apply thresholds and calibration
   PreTreat();
-  
+ 
     if(1 /*CheckEvent() == 1*/){
       vector<TVector2> inner = MatchInner();
       vector<TVector2> outer = MatchOuter();
   
-      
       for(unsigned int i=0; i<inner.size(); i++){
         int N = m_PreTreatedData->GetInner_TE_DetectorNbr(inner[i].X());
         int innerT = m_PreTreatedData->GetInner_TE_StripNbr(inner[i].X());
@@ -383,19 +382,19 @@ void TStrassePhysics::BuildPhysicalEvent() {
           InnerStripT.push_back(innerT);
           InnerStripL.push_back(innerL);
           DE.push_back(TE);
-          InnerPosX.push_back(GetInnerPositionOfInteraction(i).x());
-          InnerPosY.push_back(GetInnerPositionOfInteraction(i).y());
-          InnerPosZ.push_back(GetInnerPositionOfInteraction(i).z());
+          InnerPosX.push_back(GetInnerPositionOfInteraction(EventMultiplicity-1).x());
+          InnerPosY.push_back(GetInnerPositionOfInteraction(EventMultiplicity-1).y());
+          InnerPosZ.push_back(GetInnerPositionOfInteraction(EventMultiplicity-1).z());
 
           OuterStripT.push_back(outerT);
           OuterStripL.push_back(outerL);
           E.push_back(outerE);
-          OuterPosX.push_back(GetOuterPositionOfInteraction(i).x());
-          OuterPosY.push_back(GetOuterPositionOfInteraction(i).y());
-          OuterPosZ.push_back(GetOuterPositionOfInteraction(i).z());
+          OuterPosX.push_back(GetOuterPositionOfInteraction(EventMultiplicity-1).x());
+          OuterPosY.push_back(GetOuterPositionOfInteraction(EventMultiplicity-1).y());
+          OuterPosZ.push_back(GetOuterPositionOfInteraction(EventMultiplicity-1).z());
         }
-      }
 
+      }
     }
    
 }
-- 
GitLab