36 #include "RunAction.hh"
39 #include "Analysis.hh"
41 #include "CommandLineParser.hh"
43 using namespace G4DNAPARSER;
45 void PrintNParticles(std::map<const G4ParticleDefinition*, int>& container);
50 fInitialized(0), fDebug(false)
79 else BeginWorker(run);
102 void RunAction::BeginMaster(
const G4Run* run)
108 G4cout <<
"===================================" <<
G4endl;
110 G4cout <<
"================ RunAction::BeginMaster" <<
G4endl;
112 G4cout <<
"===================================" <<
G4endl;
118 void RunAction::BeginWorker(
const G4Run* run)
122 G4cout <<
"===================================" <<
G4endl;
123 G4cout <<
"================ RunAction::BeginWorker" <<
G4endl;
125 G4cout <<
"===================================" <<
G4endl;
127 if(fInitialized ==
false) InitializeWorker(run);
134 void RunAction::EndMaster(
const G4Run*)
140 void RunAction::EndWorker(
const G4Run* run)
148 if ( nofEvents == 0 )
152 G4cout <<
"================ NO EVENTS TREATED IN THIS RUN ==> Exit"
166 delete G4AnalysisManager::Instance();
171 void RunAction::InitializeWorker(
const G4Run*)
180 void RunAction::CreateNtuple()
192 G4cout <<
"##### Create analysis manager " <<
" " <<
this <<
G4endl;
196 G4cout <<
"Using " << analysisManager->GetType() <<
197 " analysis manager" <<
G4endl;
203 analysisManager->SetVerboseLevel(1);
207 if(command->GetOption().empty() ==
false)
209 fileName = command->GetOption();
213 fileName =
"wholeNuclearDNA";
216 analysisManager->OpenFile(fileName);
219 analysisManager->CreateNtuple(
"ntuple",
"geom_dna");
220 analysisManager->CreateNtupleDColumn(
"flagParticle");
221 analysisManager->CreateNtupleDColumn(
"flagProcess");
222 analysisManager->CreateNtupleDColumn(
"flagVolume");
223 analysisManager->CreateNtupleDColumn(
"x");
224 analysisManager->CreateNtupleDColumn(
"y");
225 analysisManager->CreateNtupleDColumn(
"z");
226 analysisManager->CreateNtupleDColumn(
"edep");
227 analysisManager->CreateNtupleDColumn(
"stepLength");
229 analysisManager->FinishNtuple();
235 void RunAction::WriteNtuple()
248 analysisManager->Write();
249 analysisManager->CloseFile();
254 void RunAction::PrintRunInfo(
const G4Run* run)
256 G4cout <<
"================ Run is = "
258 G4cout <<
"================ Run type is = "
260 G4cout <<
"================ Event processed = "
262 G4cout <<
"================ Nevent = "
void BeginOfRunAction(const G4Run *)
Command * GetCommandIfActive(const G4String &marker)
void PrintNParticles(std::map< const G4ParticleDefinition *, int > &container)
G4GLOB_DLL std::ostream G4cout
G4int GetNumberOfEvent() const
RMType GetRunManagerType() const
void EndOfRunAction(const G4Run *)
CommandLineParser * parser(0)
static G4RunManager * GetRunManager()
G4int GetNumberOfEventToBeProcessed() const
G4CsvAnalysisManager G4AnalysisManager