diff --git a/include/RunAction.hh b/include/RunAction.hh index ef1c1e3d4f2e68500d283e1bfa501eac1dcd6b18..e48e114b70596b3c229c402b1337528123c4e362 100644 --- a/include/RunAction.hh +++ b/include/RunAction.hh @@ -55,6 +55,7 @@ class RunAction : public G4UserRunAction virtual void EndOfRunAction(const G4Run* aRun); std::vector< std::vector<double>* > GetVectors(){ return fPtrVec; } + inline void ClearVectors(){ for(auto vec : fPtrVec) vec->clear(); } private: G4Timer* fTimer; diff --git a/src/EventAction.cc b/src/EventAction.cc index 2db980b9f2ce9333f3f0601356c37ec40ab53f04..45c22c1d031115a9c0ba700730aa61a72caf1204 100644 --- a/src/EventAction.cc +++ b/src/EventAction.cc @@ -30,12 +30,14 @@ #include "G4ParticleDefinition.hh" #include "G4ParticleTypes.hh" #include "G4SDManager.hh" +#include "G4RunManager.hh" #include "G4Event.hh" #include "G4Track.hh" #include "G4ios.hh" #include "PMTHit.hh" #include "lgAnalysis.hh" +#include "RunAction.hh" /* * @@ -69,4 +71,6 @@ void EventAction::EndOfEventAction(const G4Event* event){ G4AnalysisManager* analysisManager = G4AnalysisManager::Instance(); analysisManager->FillNtupleIColumn( 0, event->GetEventID()); analysisManager->AddNtupleRow(); + + ((RunAction*)G4RunManager::GetRunManager()->GetUserRunAction())->ClearVectors(); }