diff --git a/NPSimulation/Detectors/SuperX3/SuperX3.cc b/NPSimulation/Detectors/SuperX3/SuperX3.cc index 8c0ab28f29553a3bbc5ce3f210ff6c373c8b0d52..672e7b6f5577151bc2916303f8841875db1e702e 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 dde7e5ad619559fa30219068325483435688404a..f89ec91d0d296c6ff648602c82a9caeca20dcc32 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