36 #include "RunAction.hh"
38 #include "TrackingAction.hh"
41 #include "Analysis.hh"
43 #include "CommandLineParser.hh"
47 void PrintNParticles(std::map<const G4ParticleDefinition*, int>& container);
52 fpTrackingAction(0), fInitialized(0), fDebug(false)
109 G4cout <<
"===================================" <<
G4endl;
111 G4cout <<
"================ RunAction::BeginMaster" <<
G4endl;
113 G4cout <<
"===================================" <<
G4endl;
123 G4cout <<
"===================================" <<
G4endl;
124 G4cout <<
"================ RunAction::BeginWorker" <<
G4endl;
126 G4cout <<
"===================================" <<
G4endl;
145 G4cout <<
"===================================" <<
G4endl;
146 G4cout <<
"================ RunAction::EndWorker" <<
G4endl;
148 G4cout <<
"===================================" <<
G4endl;
152 if ( nofEvents == 0 )
156 G4cout <<
"================ NO EVENTS TREATED IN THIS RUN ==> Exit"
170 delete G4AnalysisManager::Instance();
175 std::map<const G4ParticleDefinition*, int>&
178 G4cout <<
"Number and type of particles created outside region \"Target\" :"
185 std::map<const G4ParticleDefinition*, int>&
188 G4cout <<
"Number and type of particles created in region \"Target\" :"
203 GetUserTrackingAction();
208 exDescrption <<
"fpTrackingAction is a null pointer. "
209 "Has it been correctly initialized ?";
232 G4cout <<
"##### Create analysis manager " <<
" " <<
this <<
G4endl;
236 G4cout <<
"Using " << analysisManager->GetType() <<
237 " analysis manager" <<
G4endl;
243 analysisManager->SetVerboseLevel(1);
247 if(command->GetOption().empty() ==
false)
249 fileName = command->GetOption();
253 fileName =
"microdosimetry";
255 analysisManager->OpenFile(fileName);
259 analysisManager->CreateNtuple(
"microdosimetry",
"physics");
260 analysisManager->CreateNtupleDColumn(
"flagParticle");
261 analysisManager->CreateNtupleDColumn(
"flagProcess");
262 analysisManager->CreateNtupleDColumn(
"x");
263 analysisManager->CreateNtupleDColumn(
"y");
264 analysisManager->CreateNtupleDColumn(
"z");
265 analysisManager->CreateNtupleDColumn(
"totalEnergyDeposit");
266 analysisManager->CreateNtupleDColumn(
"stepLength");
267 analysisManager->CreateNtupleDColumn(
"kineticEnergyDifference");
268 analysisManager->FinishNtuple();
286 analysisManager->Write();
287 analysisManager->CloseFile();
291 G4cout <<
"================ ROOT FILES HAVE BEEN WRITTEN"
300 G4cout <<
"================ Run is = "
302 G4cout <<
"================ Run type is = "
304 G4cout <<
"================ Event processed = "
306 G4cout <<
"================ Nevent = "
314 std::map<const G4ParticleDefinition*, int>::iterator it;
315 for(it = container.begin() ;
316 it != container.end(); it ++)
318 G4cout <<
"N " << it->first->GetParticleName() <<
" : "
void BeginOfRunAction(const G4Run *)
std::ostringstream G4ExceptionDescription
std::map< const G4ParticleDefinition *, int > & GetNParticlesCreatedInTarget()
Command * GetCommandIfActive(const G4String &marker)
void PrintRunInfo(const G4Run *run)
void EndWorker(const G4Run *)
std::map< const G4ParticleDefinition *, int > & GetNParticlesCreatedInWorld()
void PrintNParticles(std::map< const G4ParticleDefinition *, int > &container)
TrackingAction * fpTrackingAction
G4GLOB_DLL std::ostream G4cout
void EndMaster(const G4Run *)
static RunInitManager * Instance()
G4int GetNumberOfEvent() const
RMType GetRunManagerType() const
void InitializeWorker(const G4Run *)
void EndOfRunAction(const G4Run *)
ExG4HbookAnalysisManager G4AnalysisManager
CommandLineParser * parser(0)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
static G4RunManager * GetRunManager()
void BeginWorker(const G4Run *)
void BeginMaster(const G4Run *)
G4int GetNumberOfEventToBeProcessed() const