diff --git a/NPLib/Detectors/Mugast/TMugastData.cxx b/NPLib/Detectors/Mugast/TMugastData.cxx
index 341b8ae05536444bb5efbd84c4194535458c83ed..dd0530b267b963e4ecd934ecfc6e3273c2d3aed2 100644
--- a/NPLib/Detectors/Mugast/TMugastData.cxx
+++ b/NPLib/Detectors/Mugast/TMugastData.cxx
@@ -22,26 +22,25 @@
 #include <iostream>
 using namespace std;
 
-#include "TMugastData.h"
 #include "MugastMap.h"
+#include "TMugastData.h"
 ClassImp(TMugastData)
-////////////////////////////////////////////////////////////////////////////////
-TMugastData::TMugastData(){
+    ////////////////////////////////////////////////////////////////////////////////
+    TMugastData::TMugastData() {
   // Init the correspondace table
-  for(unsigned int i = 0 ; i < 128 ; i++){
-    fMG_MapTrapezeX[i+1] = MUGAST_MAP::TrapezeX[i];
-    fMG_MapTrapezeY[i+1] = MUGAST_MAP::TrapezeY[i];
-    fMG_MapSquareX[i+1]  = MUGAST_MAP::SquareX[i];
-    fMG_MapSquareY[i+1]  = MUGAST_MAP::SquareY[i];
-    fMG_MapAnnularX[i+1] = MUGAST_MAP::AnnularX[i];
-    fMG_MapAnnularY[i+1] = MUGAST_MAP::AnnularY[i];
-
+  for (unsigned int i = 0; i < 128; i++) {
+    fMG_MapTrapezeX[i + 1] = MUGAST_MAP::TrapezeX[i];
+    fMG_MapTrapezeY[i + 1] = MUGAST_MAP::TrapezeY[i];
+    fMG_MapSquareX[i + 1] = MUGAST_MAP::SquareX[i];
+    fMG_MapSquareY[i + 1] = MUGAST_MAP::SquareY[i];
+    fMG_MapAnnularX[i + 1] = MUGAST_MAP::AnnularX[i];
+    fMG_MapAnnularY[i + 1] = MUGAST_MAP::AnnularY[i];
   }
 }
 ////////////////////////////////////////////////////////////////////////////////
-TMugastData::~TMugastData(){}
+TMugastData::~TMugastData() {}
 ////////////////////////////////////////////////////////////////////////////////
-void TMugastData::Clear(){
+void TMugastData::Clear() {
   fMG_DSSDXE_DetectorNbr.clear();
   fMG_DSSDXE_StripNbr.clear();
   fMG_DSSDXE_Energy.clear();
@@ -62,37 +61,41 @@ void TMugastData::Clear(){
   fMG_SecondLayerT_Time.clear();
 }
 ////////////////////////////////////////////////////////////////////////////////
-void TMugastData::Dump() const
-{
+void TMugastData::Dump() const {
   cout << "XXXXXXXXXXXXXXXXXXXXXXXX Mugast Event XXXXXXXXXXXXXXXXX" << endl;
 
   cout << "// First Layer " << endl;
   // (X,E)
   cout << " DSSDXE_Mult = " << fMG_DSSDXE_DetectorNbr.size() << endl;
   for (UShort_t i = 0; i < fMG_DSSDXE_DetectorNbr.size(); i++)
-    cout << "  DetNbr: " << fMG_DSSDXE_DetectorNbr[i] << " DSSD: " << fMG_DSSDXE_StripNbr[i] << " Energy: " << fMG_DSSDXE_Energy[i] << endl;
+    cout << "  DetNbr: " << fMG_DSSDXE_DetectorNbr[i] << " DSSD: " << fMG_DSSDXE_StripNbr[i]
+         << " Energy: " << fMG_DSSDXE_Energy[i] << endl;
   // (X,T)
   cout << " DSSDXT_Mult = " << fMG_DSSDXT_DetectorNbr.size() << endl;
   for (UShort_t i = 0; i < fMG_DSSDXT_DetectorNbr.size(); i++)
-    cout << "  DetNbr: " << fMG_DSSDXT_DetectorNbr[i] << " DSSD: " << fMG_DSSDXT_StripNbr[i] << " Time: " << fMG_DSSDXT_Time[i] << endl;
+    cout << "  DetNbr: " << fMG_DSSDXT_DetectorNbr[i] << " DSSD: " << fMG_DSSDXT_StripNbr[i]
+         << " Time: " << fMG_DSSDXT_Time[i] << endl;
   // (Y,E)
   cout << " DSSDYE_Mult = " << fMG_DSSDYE_DetectorNbr.size() << endl;
   for (UShort_t i = 0; i < fMG_DSSDYE_DetectorNbr.size(); i++)
-    cout << "  DetNbr: " << fMG_DSSDYE_DetectorNbr[i] << " DSSD: " << fMG_DSSDYE_StripNbr[i] << " Energy: " << fMG_DSSDYE_Energy[i] << endl;
+    cout << "  DetNbr: " << fMG_DSSDYE_DetectorNbr[i] << " DSSD: " << fMG_DSSDYE_StripNbr[i]
+         << " Energy: " << fMG_DSSDYE_Energy[i] << endl;
   // (Y,T)
   cout << " DSSDYT_Mult = " << fMG_DSSDYT_DetectorNbr.size() << endl;
   for (UShort_t i = 0; i < fMG_DSSDYT_DetectorNbr.size(); i++)
-    cout << "  DetNbr: " << fMG_DSSDYT_DetectorNbr[i] << " DSSD: " << fMG_DSSDYT_StripNbr[i] << " Time: " << fMG_DSSDYT_Time[i] << endl;
+    cout << "  DetNbr: " << fMG_DSSDYT_DetectorNbr[i] << " DSSD: " << fMG_DSSDYT_StripNbr[i]
+         << " Time: " << fMG_DSSDYT_Time[i] << endl;
 
   // SecondLayer
   // Energy
   cout << "// Second Layer " << endl;
   cout << " SecondLayerE_Mult = " << fMG_SecondLayerE_DetectorNbr.size() << endl;
   for (UShort_t i = 0; i < fMG_SecondLayerE_DetectorNbr.size(); i++)
-    cout << "  Det: " << fMG_SecondLayerE_DetectorNbr[i] << " DSSD: " << fMG_SecondLayerE_StripNbr[i] << " Energy: " << fMG_SecondLayerE_Energy[i] << endl;
+    cout << "  Det: " << fMG_SecondLayerE_DetectorNbr[i] << " DSSD: " << fMG_SecondLayerE_StripNbr[i]
+         << " Energy: " << fMG_SecondLayerE_Energy[i] << endl;
   // Time
   cout << " SecondLayerT_Mult = " << fMG_SecondLayerT_DetectorNbr.size() << endl;
   for (UShort_t i = 0; i < fMG_SecondLayerT_DetectorNbr.size(); i++)
-    cout << "  Det: " << fMG_SecondLayerT_DetectorNbr[i] << " DSSD: " << fMG_SecondLayerT_StripNbr[i] << " Time: " << fMG_SecondLayerT_Time[i] << endl;
-
+    cout << "  Det: " << fMG_SecondLayerT_DetectorNbr[i] << " DSSD: " << fMG_SecondLayerT_StripNbr[i]
+         << " Time: " << fMG_SecondLayerT_Time[i] << endl;
 }
diff --git a/NPSimulation/Detectors/SuperX3/SuperX3.cc b/NPSimulation/Detectors/SuperX3/SuperX3.cc
index 0307a5bec879227d23f457fb696441cc043d5260..5aba80d02c67d0e1d03a20370507a4992c53483c 100644
--- a/NPSimulation/Detectors/SuperX3/SuperX3.cc
+++ b/NPSimulation/Detectors/SuperX3/SuperX3.cc
@@ -47,6 +47,8 @@
 #include "NPOptionManager.h"
 #include "NPSDetectorFactory.hh"
 #include "ObsoleteGeneralScorers.hh"
+
+#include "InteractionScorers.hh"
 #include "RootOutput.h"
 #include "SuperX3.hh"
 #include "TSuperX3Data.h"
@@ -336,10 +338,13 @@ void SuperX3::InitializeScorers() {
   //..... resistive starts..
   G4VPrimitiveScorer* resistivestrip =
       new DSSDScorers::PS_Resistive("resistivestrip", 1, SiliconFaceLength, SiliconFaceWidth, NbStrips);
+
+  G4VPrimitiveScorer* interaction = new InteractionScorers::PS_Interactions("Interaction", ms_InterCoord, 0);
   //... resistive ends......
   // and register it to the multifunctionnal detector
   //.... resistive starts...
   m_Scorer->RegisterPrimitive(resistivestrip);
+  m_Scorer->RegisterPrimitive(interaction);
   //.....resistive ends...
 
   //  Add All Scorer to the Global Scorer Manager