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)
110 G4cout <<
"===================================" <<
G4endl;
112 G4cout <<
"================ RunAction::BeginMaster" <<
G4endl;
114 G4cout <<
"===================================" <<
G4endl;
124 G4cout <<
"===================================" <<
G4endl;
125 G4cout <<
"================ RunAction::BeginWorker" <<
G4endl;
127 G4cout <<
"===================================" <<
G4endl;
146 G4cout <<
"===================================" <<
G4endl;
147 G4cout <<
"================ RunAction::EndWorker" <<
G4endl;
149 G4cout <<
"===================================" <<
G4endl;
153 if ( nofEvents == 0 )
157 G4cout <<
"================ NO EVENTS TREATED IN THIS RUN ==> Exit"
171 delete G4AnalysisManager::Instance();
176 std::map<const G4ParticleDefinition*, int>&
179 G4cout <<
"Number and type of particles created outside region \"Target\" :"
186 std::map<const G4ParticleDefinition*, int>&
189 G4cout <<
"Number and type of particles created in region \"Target\" :"
204 GetUserTrackingAction();
209 exDescrption <<
"fpTrackingAction is a null pointer. "
210 "Has it been correctly initialized ?";
233 G4cout <<
"##### Create analysis manager " <<
" " <<
this <<
G4endl;
237 G4cout <<
"Using " << analysisManager->GetType() <<
238 " analysis manager" <<
G4endl;
244 analysisManager->SetVerboseLevel(1);
248 if(command->GetOption().empty() ==
false)
250 fileName = command->GetOption();
254 fileName =
"microdosimetry";
256 analysisManager->OpenFile(fileName);
260 analysisManager->CreateNtuple(
"microdosimetry",
"physics");
261 analysisManager->CreateNtupleDColumn(
"flagParticle");
262 analysisManager->CreateNtupleDColumn(
"flagProcess");
263 analysisManager->CreateNtupleDColumn(
"x");
264 analysisManager->CreateNtupleDColumn(
"y");
265 analysisManager->CreateNtupleDColumn(
"z");
266 analysisManager->CreateNtupleDColumn(
"totalEnergyDeposit");
267 analysisManager->CreateNtupleDColumn(
"stepLength");
268 analysisManager->CreateNtupleDColumn(
"kineticEnergyDifference");
269 analysisManager->FinishNtuple();
287 analysisManager->Write();
288 analysisManager->CloseFile();
292 G4cout <<
"================ ROOT FILES HAVE BEEN WRITTEN"
301 G4cout <<
"================ Run is = "
303 G4cout <<
"================ Run type is = "
305 G4cout <<
"================ Event processed = "
307 G4cout <<
"================ Nevent = "
315 std::map<const G4ParticleDefinition*, int>::iterator it;
316 for(it = container.begin() ;
317 it != container.end(); it ++)
319 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