32 #ifndef G4MULTITHREADED
34 msg<<
"Geant4 code is compiled without multi-threading support (-DG4MULTITHREADED is set to off).";
35 msg<<
" This type of RunManager can only be used in mult-threaded applications.";
51 theParticleIterator->
reset();
53 while((*theParticleIterator)())
61 msg <<
"Process manager or process manager shadow to master are not set.\n";
62 msg <<
"Particle : "<<pd->
GetParticleName()<<
" ("<<pd<<
"), proc-manager: "<<pm;
63 msg <<
" proc-manager-shadow: "<<pmM;
72 G4cout <<
"G4WorkerRunManagerKernel::SetupShadowProcess() for particle <"
74 G4cout <<
" ProcessManager : " << pm <<
" ProcessManagerShadow : " << pmM <<
G4endl;
76 {
G4cout <<
" " << iv1 <<
" - " << procs[iv1]->GetProcessName() <<
G4endl; }
77 G4cout <<
"--------------------------------------------------------------" <<
G4endl;
79 {
G4cout <<
" " << iv2 <<
" - " << procsM[iv2]->GetProcessName() <<
G4endl; }
80 G4cout <<
"--------------------------------------------------------------" <<
G4endl;
82 msg<<
" Size of G4ProcessVector is inconsistent between master and worker threads ";
84 msg<<
" size of G4ProcessVector for worker thread is "<<procs.
size();
85 msg<<
" while masther thread is "<<procsM.
size()<<
".";
92 for (
G4int idx = 0 ; idx < procs.
size() ; ++idx )
94 procs[idx]->SetMasterProcess(procsM[idx]);
std::ostringstream G4ExceptionDescription
G4ProcessManager * GetProcessManager() const
const G4String & GetParticleName() const
G4GLOB_DLL std::ostream G4cout
void reset(G4bool ifSkipIon=true)
G4ProcessManager * GetMasterProcessManager() const
virtual ~G4WorkerRunManagerKernel()
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
G4WorkerRunManagerKernel()
static G4ParticleTable * GetParticleTable()
G4PTblDicIterator * GetIterator() const
#define theParticleIterator
G4ProcessVector * GetProcessList() const
void SetupShadowProcess() const