From 4bf8f39a445ab09791a7a4d4149aac271aaf8801 Mon Sep 17 00:00:00 2001 From: adrien-matta <a.matta@surrey.ac.uk> Date: Tue, 11 Apr 2017 16:49:34 +0200 Subject: [PATCH] * Cleaner TMust2Data class - remove dangerous setter - replace by single set method that guarantee the correllated vector are always the same size --- NPLib/Detectors/MUST2/TMust2Data.h | 148 ++++++++++++--------- NPLib/Detectors/MUST2/TMust2Physics.cxx | 58 +++----- NPSimulation/Detectors/MUST2/MUST2Array.cc | 64 +++------ 3 files changed, 117 insertions(+), 153 deletions(-) diff --git a/NPLib/Detectors/MUST2/TMust2Data.h b/NPLib/Detectors/MUST2/TMust2Data.h index c39d0e329..d3ae01641 100644 --- a/NPLib/Detectors/MUST2/TMust2Data.h +++ b/NPLib/Detectors/MUST2/TMust2Data.h @@ -78,88 +78,108 @@ class TMust2Data : public TObject { ///////////////////// SETTERS //////////////////////// // DSSD // (X,E) - void SetMMStripXEDetectorNbr(const UShort_t DetNbr) {fMM_StripXE_DetectorNbr.push_back(DetNbr);} - void SetMMStripXEStripNbr(const UShort_t StripNbr) {fMM_StripXE_StripNbr.push_back(StripNbr);} - void SetMMStripXEEnergy(const Double_t Energy) {fMM_StripXE_Energy.push_back(Energy);} + inline void SetStripXE(const UShort_t& DetNbr, const UShort_t& StripNbr, const Double_t& Energy){ + fMM_StripXE_DetectorNbr.push_back(DetNbr); + fMM_StripXE_StripNbr.push_back(StripNbr); + fMM_StripXE_Energy.push_back(Energy); + } + // (X,T) - void SetMMStripXTDetectorNbr(const UShort_t DetNbr) {fMM_StripXT_DetectorNbr.push_back(DetNbr);} - void SetMMStripXTStripNbr(const UShort_t StripNbr) {fMM_StripXT_StripNbr.push_back(StripNbr);} - void SetMMStripXTTime(const Double_t Time) {fMM_StripXT_Time.push_back(Time);} - // (Y,E) - void SetMMStripYEDetectorNbr(const UShort_t DetNbr) {fMM_StripYE_DetectorNbr.push_back(DetNbr);} - void SetMMStripYEStripNbr(const UShort_t StripNbr) {fMM_StripYE_StripNbr.push_back(StripNbr);} - void SetMMStripYEEnergy(const Double_t Energy) {fMM_StripYE_Energy.push_back(Energy);} + inline void SetStripXT(const UShort_t& DetNbr, const UShort_t& StripNbr, const Double_t& Time){ + fMM_StripXT_DetectorNbr.push_back(DetNbr); + fMM_StripXT_StripNbr.push_back(StripNbr); + fMM_StripXT_Time.push_back(Time); + } + // (Y,E) + inline void SetStripYE(const UShort_t& DetNbr, const UShort_t& StripNbr, const Double_t& Energy){ + fMM_StripYE_DetectorNbr.push_back(DetNbr); + fMM_StripYE_StripNbr.push_back(StripNbr); + fMM_StripYE_Energy.push_back(Energy); + } + // (Y,T) - void SetMMStripYTDetectorNbr(const UShort_t DetNbr) {fMM_StripYT_DetectorNbr.push_back(DetNbr);} - void SetMMStripYTStripNbr(const UShort_t StripNbr) {fMM_StripYT_StripNbr.push_back(StripNbr);} - void SetMMStripYTTime(const Double_t Time) {fMM_StripYT_Time.push_back(Time);} - + inline void SetStripYT(const UShort_t& DetNbr, const UShort_t& StripNbr, const Double_t& Time){ + fMM_StripYT_DetectorNbr.push_back(DetNbr); + fMM_StripYT_StripNbr.push_back(StripNbr); + fMM_StripYT_Time.push_back(Time); + } + // SiLi - //(E) - void SetMMSiLiEDetectorNbr(const Short_t DetNbr) {fMM_SiLiE_DetectorNbr.push_back(DetNbr);} - void SetMMSiLiEPadNbr(const UShort_t PadNbr) {fMM_SiLiE_PadNbr.push_back(PadNbr);} - void SetMMSiLiEEnergy(const Double_t Energy) {fMM_SiLiE_Energy.push_back(Energy);} - //(T) - void SetMMSiLiTDetectorNbr(const UShort_t DetNbr) {fMM_SiLiT_DetectorNbr.push_back(DetNbr);} - void SetMMSiLiTPadNbr(const UShort_t PadNbr) {fMM_SiLiT_PadNbr.push_back(PadNbr);} - void SetMMSiLiTTime(const Double_t Time) {fMM_SiLiT_Time.push_back(Time);} - + // E + inline void SetSiLiE(const UShort_t& DetNbr, const UShort_t& PadNbr, const Double_t& Energy){ + fMM_SiLiE_DetectorNbr.push_back(DetNbr); + fMM_SiLiE_PadNbr.push_back(PadNbr); + fMM_SiLiE_Energy.push_back(Energy); + } + + // T + inline void SetSiLiT(const UShort_t& DetNbr, const UShort_t& PadNbr, const Double_t& Time){ + fMM_SiLiT_DetectorNbr.push_back(DetNbr); + fMM_SiLiT_PadNbr.push_back(PadNbr); + fMM_SiLiT_Time.push_back(Time); + } + // CsI - // (E) - void SetMMCsIEDetectorNbr(const UShort_t DetNbr) {fMM_CsIE_DetectorNbr.push_back(DetNbr);} - void SetMMCsIECristalNbr(const UShort_t CristalNbr) {fMM_CsIE_CristalNbr.push_back(CristalNbr);} - void SetMMCsIEEnergy(const Double_t Energy) {fMM_CsIE_Energy.push_back(Energy);} - // (T) - void SetMMCsITDetectorNbr(const UShort_t DetNbr) {fMM_CsIT_DetectorNbr.push_back(DetNbr);} - void SetMMCsITCristalNbr(const UShort_t CristalNbr) {fMM_CsIT_CristalNbr.push_back(CristalNbr);} - void SetMMCsITTime(const Double_t Time) {fMM_CsIT_Time.push_back(Time);} - + // E + inline void SetCsIE(const UShort_t& DetNbr, const UShort_t& CristalNbr, const Double_t& Energy){ + fMM_CsIE_DetectorNbr.push_back(DetNbr); + fMM_CsIE_CristalNbr.push_back(CristalNbr); + fMM_CsIE_Energy.push_back(Energy); + } + + // T + inline void SetCsIT(const UShort_t& DetNbr, const UShort_t& CristalNbr, const Double_t& Time){ + fMM_CsIT_DetectorNbr.push_back(DetNbr); + fMM_CsIT_CristalNbr.push_back(CristalNbr); + fMM_CsIT_Time.push_back(Time); + } + ///////////////////// GETTERS //////////////////////// // DSSD // (X,E) - UShort_t GetMMStripXEMult() const {return fMM_StripXE_DetectorNbr.size();} - UShort_t GetMMStripXEDetectorNbr(const Int_t i) const {return fMM_StripXE_DetectorNbr[i];} - UShort_t GetMMStripXEStripNbr(const Int_t i) const {return fMM_StripXE_StripNbr[i];} - Double_t GetMMStripXEEnergy(const Int_t i) const {return fMM_StripXE_Energy[i];} + UShort_t GetMMStripXEMult() const {return fMM_StripXE_DetectorNbr.size();} + UShort_t GetMMStripXEDetectorNbr(const Int_t& i) const {return fMM_StripXE_DetectorNbr[i];} + UShort_t GetMMStripXEStripNbr(const Int_t& i) const {return fMM_StripXE_StripNbr[i];} + Double_t GetMMStripXEEnergy(const Int_t& i) const {return fMM_StripXE_Energy[i];} // (X,T) - UShort_t GetMMStripXTMult() const {return fMM_StripXT_DetectorNbr.size();} - UShort_t GetMMStripXTDetectorNbr(const Int_t i) const {return fMM_StripXT_DetectorNbr[i];} - UShort_t GetMMStripXTStripNbr(const Int_t i) const {return fMM_StripXT_StripNbr[i];} - Double_t GetMMStripXTTime(const Int_t i) const {return fMM_StripXT_Time[i];} + UShort_t GetMMStripXTMult() const {return fMM_StripXT_DetectorNbr.size();} + UShort_t GetMMStripXTDetectorNbr(const Int_t& i) const {return fMM_StripXT_DetectorNbr[i];} + UShort_t GetMMStripXTStripNbr(const Int_t& i) const {return fMM_StripXT_StripNbr[i];} + Double_t GetMMStripXTTime(const Int_t& i) const {return fMM_StripXT_Time[i];} // (Y,E) - UShort_t GetMMStripYEMult() const {return fMM_StripYE_DetectorNbr.size();} - UShort_t GetMMStripYEDetectorNbr(const Int_t i) const {return fMM_StripYE_DetectorNbr[i];} - UShort_t GetMMStripYEStripNbr(const Int_t i) const {return fMM_StripYE_StripNbr[i];} - Double_t GetMMStripYEEnergy(const Int_t i) const {return fMM_StripYE_Energy[i];} + UShort_t GetMMStripYEMult() const {return fMM_StripYE_DetectorNbr.size();} + UShort_t GetMMStripYEDetectorNbr(const Int_t& i) const {return fMM_StripYE_DetectorNbr[i];} + UShort_t GetMMStripYEStripNbr(const Int_t& i) const {return fMM_StripYE_StripNbr[i];} + Double_t GetMMStripYEEnergy(const Int_t& i) const {return fMM_StripYE_Energy[i];} // (Y,T) - UShort_t GetMMStripYTMult() const {return fMM_StripYT_DetectorNbr.size();} - UShort_t GetMMStripYTDetectorNbr(const Int_t i) const {return fMM_StripYT_DetectorNbr[i];} - UShort_t GetMMStripYTStripNbr(const Int_t i) const {return fMM_StripYT_StripNbr[i];} - Double_t GetMMStripYTTime(const Int_t i) const {return fMM_StripYT_Time[i];} + UShort_t GetMMStripYTMult() const {return fMM_StripYT_DetectorNbr.size();} + UShort_t GetMMStripYTDetectorNbr(const Int_t& i) const {return fMM_StripYT_DetectorNbr[i];} + UShort_t GetMMStripYTStripNbr(const Int_t& i) const {return fMM_StripYT_StripNbr[i];} + Double_t GetMMStripYTTime(const Int_t& i) const {return fMM_StripYT_Time[i];} // SiLi //(E) - UShort_t GetMMSiLiEMult() const {return fMM_SiLiE_DetectorNbr.size();} - UShort_t GetMMSiLiEDetectorNbr(const Int_t i) const {return fMM_SiLiE_DetectorNbr[i];} - UShort_t GetMMSiLiEPadNbr(const Int_t i) const {return fMM_SiLiE_PadNbr[i];} - Double_t GetMMSiLiEEnergy(const Int_t i) const {return fMM_SiLiE_Energy[i];} + UShort_t GetMMSiLiEMult() const {return fMM_SiLiE_DetectorNbr.size();} + UShort_t GetMMSiLiEDetectorNbr(const Int_t& i) const {return fMM_SiLiE_DetectorNbr[i];} + UShort_t GetMMSiLiEPadNbr(const Int_t& i) const {return fMM_SiLiE_PadNbr[i];} + Double_t GetMMSiLiEEnergy(const Int_t& i) const {return fMM_SiLiE_Energy[i];} //(T) - UShort_t GetMMSiLiTMult() const {return fMM_SiLiT_DetectorNbr.size();} - UShort_t GetMMSiLiTDetectorNbr(const Int_t i) const {return fMM_SiLiT_DetectorNbr[i];} - UShort_t GetMMSiLiTPadNbr(const Int_t i) const {return fMM_SiLiT_PadNbr[i];} - Double_t GetMMSiLiTTime(const Int_t i) const {return fMM_SiLiT_Time[i];} + UShort_t GetMMSiLiTMult() const {return fMM_SiLiT_DetectorNbr.size();} + UShort_t GetMMSiLiTDetectorNbr(const Int_t& i) const {return fMM_SiLiT_DetectorNbr[i];} + UShort_t GetMMSiLiTPadNbr(const Int_t& i) const {return fMM_SiLiT_PadNbr[i];} + Double_t GetMMSiLiTTime(const Int_t& i) const {return fMM_SiLiT_Time[i];} // CsI //(E) - UShort_t GetMMCsIEMult() const {return fMM_CsIE_DetectorNbr.size();} - UShort_t GetMMCsIEDetectorNbr(const Int_t i) const {return fMM_CsIE_DetectorNbr[i];} - UShort_t GetMMCsIECristalNbr(const Int_t i) const {return fMM_CsIE_CristalNbr[i];} - Double_t GetMMCsIEEnergy(const Int_t i) const {return fMM_CsIE_Energy[i];} + UShort_t GetMMCsIEMult() const {return fMM_CsIE_DetectorNbr.size();} + UShort_t GetMMCsIEDetectorNbr(const Int_t& i) const {return fMM_CsIE_DetectorNbr[i];} + UShort_t GetMMCsIECristalNbr(const Int_t& i) const {return fMM_CsIE_CristalNbr[i];} + Double_t GetMMCsIEEnergy(const Int_t& i) const {return fMM_CsIE_Energy[i];} //(T) - UShort_t GetMMCsITMult() const {return fMM_CsIT_DetectorNbr.size();} - UShort_t GetMMCsITDetectorNbr(const Int_t i) const {return fMM_CsIT_DetectorNbr[i];} - UShort_t GetMMCsITCristalNbr(const Int_t i) const {return fMM_CsIT_CristalNbr[i];} - Double_t GetMMCsITTime(const Int_t i) const {return fMM_CsIT_Time[i];} + UShort_t GetMMCsITMult() const {return fMM_CsIT_DetectorNbr.size();} + UShort_t GetMMCsITDetectorNbr(const Int_t& i) const {return fMM_CsIT_DetectorNbr[i];} + UShort_t GetMMCsITCristalNbr(const Int_t& i) const {return fMM_CsIT_CristalNbr[i];} + Double_t GetMMCsITTime(const Int_t& i) const {return fMM_CsIT_Time[i];} ClassDef(TMust2Data,2) // Must2Data structure }; diff --git a/NPLib/Detectors/MUST2/TMust2Physics.cxx b/NPLib/Detectors/MUST2/TMust2Physics.cxx index 0edbf88a4..c0d6adba8 100644 --- a/NPLib/Detectors/MUST2/TMust2Physics.cxx +++ b/NPLib/Detectors/MUST2/TMust2Physics.cxx @@ -329,22 +329,15 @@ void TMust2Physics::PreTreat(){ for(unsigned int i = 0 ; i < m_StripXEMult ; ++i){ if( m_EventData->GetMMStripXEEnergy(i)>m_Si_X_E_RAW_Threshold && IsValidChannel("X", m_EventData->GetMMStripXEDetectorNbr(i), m_EventData->GetMMStripXEStripNbr(i)) ){ double EX = fSi_X_E(m_EventData , i); - if( EX > m_Si_X_E_Threshold ){ - m_PreTreatedData->SetMMStripXEDetectorNbr( m_EventData->GetMMStripXEDetectorNbr(i) ); - m_PreTreatedData->SetMMStripXEStripNbr( m_EventData->GetMMStripXEStripNbr(i) ); - m_PreTreatedData->SetMMStripXEEnergy( EX ); - } - + if( EX > m_Si_X_E_Threshold ) + m_PreTreatedData->SetStripXE( m_EventData->GetMMStripXEDetectorNbr(i) , m_EventData->GetMMStripXEStripNbr(i) , EX); } } // T for(unsigned int i = 0 ; i < m_StripXTMult ; ++i){ - if(IsValidChannel("X", m_EventData->GetMMStripXTDetectorNbr(i), m_EventData->GetMMStripXTStripNbr(i))){ - m_PreTreatedData->SetMMStripXTDetectorNbr( m_EventData->GetMMStripXTDetectorNbr(i) ); - m_PreTreatedData->SetMMStripXTStripNbr( m_EventData->GetMMStripXTStripNbr(i) ); - m_PreTreatedData->SetMMStripXTTime( fSi_X_T(m_EventData , i) ); - } + if(IsValidChannel("X", m_EventData->GetMMStripXTDetectorNbr(i), m_EventData->GetMMStripXTStripNbr(i))) + m_PreTreatedData->SetStripXT( m_EventData->GetMMStripXTDetectorNbr(i),m_EventData->GetMMStripXTStripNbr(i),fSi_X_T(m_EventData , i)); } @@ -353,21 +346,16 @@ void TMust2Physics::PreTreat(){ for(unsigned int i = 0 ; i < m_StripYEMult ; ++i){ if( m_EventData->GetMMStripYEEnergy(i)<m_Si_Y_E_RAW_Threshold && IsValidChannel("Y", m_EventData->GetMMStripYEDetectorNbr(i), m_EventData->GetMMStripYEStripNbr(i))){ double EY = fSi_Y_E(m_EventData , i); - if( EY >m_Si_Y_E_Threshold ){ - m_PreTreatedData->SetMMStripYEDetectorNbr( m_EventData->GetMMStripYEDetectorNbr(i) ); - m_PreTreatedData->SetMMStripYEStripNbr( m_EventData->GetMMStripYEStripNbr(i) ); - m_PreTreatedData->SetMMStripYEEnergy( EY ); - } + if( EY >m_Si_Y_E_Threshold ) + m_PreTreatedData->SetStripYE( m_EventData->GetMMStripYEDetectorNbr(i),m_EventData->GetMMStripYEStripNbr(i),EY); + } } // T for(unsigned int i = 0 ; i < m_StripYTMult ; ++i){ - if(IsValidChannel("Y", m_EventData->GetMMStripYTDetectorNbr(i), m_EventData->GetMMStripYTStripNbr(i))){ - m_PreTreatedData->SetMMStripYTDetectorNbr( m_EventData->GetMMStripYTDetectorNbr(i) ); - m_PreTreatedData->SetMMStripYTStripNbr( m_EventData->GetMMStripYTStripNbr(i) ); - m_PreTreatedData->SetMMStripYTTime( fSi_Y_T(m_EventData , i) ); - } + if(IsValidChannel("Y", m_EventData->GetMMStripYTDetectorNbr(i), m_EventData->GetMMStripYTStripNbr(i))) + m_PreTreatedData->SetStripYT( m_EventData->GetMMStripYTDetectorNbr(i),m_EventData->GetMMStripYTStripNbr(i),fSi_Y_T(m_EventData , i)); } @@ -376,21 +364,15 @@ void TMust2Physics::PreTreat(){ for(unsigned int i = 0 ; i < m_CsIEMult ; ++i){ if( m_EventData->GetMMCsIEEnergy(i)>m_CsI_E_RAW_Threshold && IsValidChannel("CsI", m_EventData->GetMMCsIEDetectorNbr(i), m_EventData->GetMMCsIECristalNbr(i))){ double ECsI = fCsI_E(m_EventData , i); - if( ECsI > m_CsI_E_Threshold ){ - m_PreTreatedData->SetMMCsIEDetectorNbr( m_EventData->GetMMCsIEDetectorNbr(i) ); - m_PreTreatedData->SetMMCsIECristalNbr( m_EventData->GetMMCsIECristalNbr(i) ); - m_PreTreatedData->SetMMCsIEEnergy( ECsI ); - } + if( ECsI > m_CsI_E_Threshold ) + m_PreTreatedData->SetCsIE( m_EventData->GetMMCsIEDetectorNbr(i),m_EventData->GetMMCsIECristalNbr(i),ECsI); } } // T for(unsigned int i = 0 ; i < m_CsITMult ; ++i){ - if(IsValidChannel("CsI", m_EventData->GetMMCsITDetectorNbr(i), m_EventData->GetMMCsITCristalNbr(i))){ - m_PreTreatedData->SetMMCsITDetectorNbr( m_EventData->GetMMCsITDetectorNbr(i) ); - m_PreTreatedData->SetMMCsITCristalNbr( m_EventData->GetMMCsITCristalNbr(i) ); - m_PreTreatedData->SetMMCsITTime( fCsI_T(m_EventData , i) ); - } + if(IsValidChannel("CsI", m_EventData->GetMMCsITDetectorNbr(i), m_EventData->GetMMCsITCristalNbr(i))) + m_PreTreatedData->SetCsIT(m_EventData->GetMMCsITDetectorNbr(i), m_EventData->GetMMCsITCristalNbr(i), fCsI_T(m_EventData , i)); } @@ -399,21 +381,15 @@ void TMust2Physics::PreTreat(){ for(unsigned int i = 0 ; i < m_SiLiEMult ; ++i){ if( m_EventData->GetMMSiLiEEnergy(i)>m_SiLi_E_RAW_Threshold && IsValidChannel("SiLi", m_EventData->GetMMSiLiEDetectorNbr(i), m_EventData->GetMMSiLiEPadNbr(i))){ double ESiLi = fSiLi_E(m_EventData , i); - if( ESiLi > m_SiLi_E_Threshold ){ - m_PreTreatedData->SetMMSiLiEDetectorNbr( m_EventData->GetMMSiLiEDetectorNbr(i) ); - m_PreTreatedData->SetMMSiLiEPadNbr( m_EventData->GetMMSiLiEPadNbr(i) ); - m_PreTreatedData->SetMMSiLiEEnergy( ESiLi ); - } + if( ESiLi > m_SiLi_E_Threshold ) + m_PreTreatedData->SetSiLiE( m_EventData->GetMMSiLiEDetectorNbr(i), m_EventData->GetMMSiLiEPadNbr(i),ESiLi); } } // T for(unsigned int i = 0 ; i < m_SiLiTMult ; ++i){ - if(IsValidChannel("SiLi", m_EventData->GetMMSiLiTDetectorNbr(i), m_EventData->GetMMSiLiTPadNbr(i))){ - m_PreTreatedData->SetMMSiLiTDetectorNbr( m_EventData->GetMMSiLiTDetectorNbr(i) ); - m_PreTreatedData->SetMMSiLiTPadNbr( m_EventData->GetMMSiLiTPadNbr(i) ); - m_PreTreatedData->SetMMSiLiTTime( fSiLi_T(m_EventData , i) ); - } + if(IsValidChannel("SiLi", m_EventData->GetMMSiLiTDetectorNbr(i), m_EventData->GetMMSiLiTPadNbr(i))) + m_PreTreatedData->SetSiLiT(m_EventData->GetMMSiLiTDetectorNbr(i), m_EventData->GetMMSiLiTPadNbr(i) , fSiLi_T(m_EventData , i)); } return; diff --git a/NPSimulation/Detectors/MUST2/MUST2Array.cc b/NPSimulation/Detectors/MUST2/MUST2Array.cc index d36f56531..7d8fc76fe 100644 --- a/NPSimulation/Detectors/MUST2/MUST2Array.cc +++ b/NPSimulation/Detectors/MUST2/MUST2Array.cc @@ -747,14 +747,10 @@ void MUST2Array::ReadSensitive(const G4Event* event){ if(r==0){ trig.insert(detectorNbr); // Energy - m_Event->SetMMStripXEDetectorNbr(detectorNbr); - m_Event->SetMMStripXEStripNbr(b+1); - m_Event->SetMMStripXEEnergy(energyX); + m_Event->SetStripXE(detectorNbr,b+1,energyX); // Time - m_Event->SetMMStripXTDetectorNbr(detectorNbr); - m_Event->SetMMStripXTStripNbr(b+1); - m_Event->SetMMStripXTTime(RandGauss::shoot(time, ResoTimeMust)); + m_Event->SetStripXT(detectorNbr,b+1,RandGauss::shoot(time, ResoTimeMust)); } else{ // Interstrip X, keep maximum shared energy double rand = G4UniformRand(); @@ -763,14 +759,10 @@ void MUST2Array::ReadSensitive(const G4Event* event){ if(energyX>0.1*keV){ trig.insert(detectorNbr); // Energy - m_Event->SetMMStripXEDetectorNbr(detectorNbr); - m_Event->SetMMStripXEStripNbr(b+1); - m_Event->SetMMStripXEEnergy(energyX); + m_Event->SetStripXE(detectorNbr,b+1,energyX) ; // Time - m_Event->SetMMStripXTDetectorNbr(detectorNbr); - m_Event->SetMMStripXTStripNbr(b+1); - m_Event->SetMMStripXTTime(RandGauss::shoot(time, ResoTimeMust)); + m_Event->SetStripXT(detectorNbr,b+1,RandGauss::shoot(time, ResoTimeMust)); } } else{ @@ -779,14 +771,10 @@ void MUST2Array::ReadSensitive(const G4Event* event){ trig.insert(detectorNbr); // Energy - m_Event->SetMMStripXEDetectorNbr(detectorNbr); - m_Event->SetMMStripXEStripNbr(g+1); - m_Event->SetMMStripXEEnergy(energyX); + m_Event->SetStripXE(detectorNbr,g+1,energyX) ; // Time - m_Event->SetMMStripXTDetectorNbr(detectorNbr); - m_Event->SetMMStripXTStripNbr(g+1); - m_Event->SetMMStripXTTime(RandGauss::shoot(time, ResoTimeMust)); + m_Event->SetStripXT(detectorNbr,g+1,RandGauss::shoot(time, ResoTimeMust)); } } } @@ -800,14 +788,10 @@ void MUST2Array::ReadSensitive(const G4Event* event){ if(r==0){ trig.insert(detectorNbr); // Energy - m_Event->SetMMStripYEDetectorNbr(detectorNbr); - m_Event->SetMMStripYEStripNbr(b+1); - m_Event->SetMMStripYEEnergy(energyY); + m_Event->SetStripYE(detectorNbr,b+1,energyY); // Time - m_Event->SetMMStripYTDetectorNbr(detectorNbr); - m_Event->SetMMStripYTStripNbr(b+1); - m_Event->SetMMStripYTTime(RandGauss::shoot(time, ResoTimeMust)); + m_Event->SetStripYT(detectorNbr,b+1,RandGauss::shoot(time, ResoTimeMust)); } else{ // Interstrip Y, keep both strip with shared energy double rand = G4UniformRand(); @@ -816,28 +800,20 @@ void MUST2Array::ReadSensitive(const G4Event* event){ trig.insert(detectorNbr); // Energy - m_Event->SetMMStripYEDetectorNbr(detectorNbr); - m_Event->SetMMStripYEStripNbr(b+1); - m_Event->SetMMStripYEEnergy(energyY1); + m_Event->SetStripYE(detectorNbr,b+1,energyY1); // Time - m_Event->SetMMStripYTDetectorNbr(detectorNbr); - m_Event->SetMMStripYTStripNbr(b+1); - m_Event->SetMMStripYTTime(RandGauss::shoot(time, ResoTimeMust)); + m_Event->SetStripYT(detectorNbr,b+1,RandGauss::shoot(time, ResoTimeMust)); } if(energyY1>0.1*keV){ trig.insert(detectorNbr); double energyY2 = (1-rand)*energyY; // Energy - m_Event->SetMMStripYEDetectorNbr(detectorNbr); - m_Event->SetMMStripYEStripNbr(g+1); - m_Event->SetMMStripYEEnergy(energyY2); + m_Event->SetStripYE(detectorNbr,g+1,energyY2); // Time - m_Event->SetMMStripYTDetectorNbr(detectorNbr); - m_Event->SetMMStripYTStripNbr(g+1); - m_Event->SetMMStripYTTime(RandGauss::shoot(time, ResoTimeMust)); + m_Event->SetStripYT(detectorNbr,g+1,RandGauss::shoot(time, ResoTimeMust)); } } } @@ -864,12 +840,8 @@ void MUST2Array::ReadSensitive(const G4Event* event){ for(SiLi_itr = SiLiHitMap->GetMap()->begin(); SiLi_itr!=SiLiHitMap->GetMap()->end() ; SiLi_itr++){ G4double* Info = *(SiLi_itr->second); if(Info[7]==*itr){//matching telescope number - m_Event->SetMMSiLiEDetectorNbr(Info[7]); - m_Event->SetMMSiLiEEnergy(RandGauss::shoot(Info[0],ResoSiLi)); - m_Event->SetMMSiLiEPadNbr(Info[8]); - m_Event->SetMMSiLiTDetectorNbr(Info[7]); - m_Event->SetMMSiLiTTime(RandGauss::shoot(Info[1],ResoTimeMust)); - m_Event->SetMMSiLiTPadNbr(Info[8]); + m_Event->SetSiLiE(Info[7],Info[8],RandGauss::shoot(Info[0],ResoSiLi)); + m_Event->SetSiLiT(Info[7],Info[8],RandGauss::shoot(Info[1],ResoTimeMust)); } } } @@ -880,12 +852,8 @@ void MUST2Array::ReadSensitive(const G4Event* event){ G4double* Info = *(CsI_itr->second); if(Info[7]==*itr){//matching telescope number - m_Event->SetMMCsIEDetectorNbr(Info[7]); - m_Event->SetMMCsIEEnergy(RandGauss::shoot(Info[0],ResoCsI)); - m_Event->SetMMCsIECristalNbr(Info[8]); - m_Event->SetMMCsITDetectorNbr(Info[7]); - m_Event->SetMMCsITTime(RandGauss::shoot(Info[1],ResoTimeMust)); - m_Event->SetMMCsITCristalNbr(Info[8]); + m_Event->SetCsIE(Info[7],Info[8],RandGauss::shoot(Info[0],ResoCsI)); + m_Event->SetCsIT(Info[7],Info[8],RandGauss::shoot(Info[1],ResoTimeMust)); } } } -- GitLab