From f6877285941a3d59ca4915be7dd232d0135643e8 Mon Sep 17 00:00:00 2001 From: Chad <clantz2@illinois.edu> Date: Tue, 10 May 2022 19:31:07 -0500 Subject: [PATCH] Cleared output vectores at the end of events to avoid re-writing data and exponentially growing output files --- include/RunAction.hh | 1 + src/EventAction.cc | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/include/RunAction.hh b/include/RunAction.hh index ef1c1e3..e48e114 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 2db980b..45c22c1 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(); } -- GitLab