41 #ifndef G4MULTITHREADED
43 msg<<
"Geant4 code is compiled without multi-threading support (-DG4MULTITHREADED is set to off).";
44 msg<<
" This type of RunManager can only be used in mult-threaded applications.";
62 msg<<
"G4MTRunManagerKernel is to be deleted while "
64 G4Exception(
"G4RunManagerKernel::~G4RunManagerKernel()",
172 wrm->G4RunManager::SetUserInitialization(const_cast<G4VUserDetectorConstruction*>(detector));
200 std::vector<G4WorkerRunManager*>::iterator itrWrm =
workerRMvector->begin();
238 for(
G4int i=0;i<nCh;i++)
247 std::vector<G4WorkerRunManager*>::iterator itr =
workerRMvector->begin();
249 { (*itr)->AbortRun(softAbort); }
virtual G4VSteppingVerbose * InitializeSteppingVerbose() const
static G4MTRunManager * GetMasterRunManager()
virtual void Build() const =0
virtual void SetupRNGEngine(const CLHEP::HepRandomEngine *aRNGEngine) const
std::ostringstream G4ExceptionDescription
const G4VUserPhysicsList * GetUserPhysicsList() const
int WorkerThreadJoinsPool()
static G4ParticleTable * GetParticleTable()
void SetUpDecayChannels()
static void BuildGeometryAndPhysicsVector()
static void DestroyGeometryAndPhysicsVector()
virtual void WorkerStart() const
virtual ~G4MTRunManagerKernel()
G4PTblDicIterator * GetIterator() const
void reset(G4bool ifSkipIon=true)
virtual void WorkerInitialize() const
static G4UImanager * GetUIpointer()
const CLHEP::HepRandomEngine * getMasterRandomEngine() const
int WorkerThreadLeavesPool()
#define G4MUTEX_INITIALIZER
void SetWorkerThread(G4WorkerThread *wc)
Sets the worker context.
G4VDecayChannel * GetDecayChannel(G4int index) const
void SetPinAffinity(G4int aff) const
void SetMultithreadedApplication(G4bool value)
G4VUserActionInitialization * GetNonConstUserActionInitialization() const
static void StartThread(G4WorkerThread *context)
G4ParticleDefinition * GetDaughter(G4int anIndex)
const G4UserWorkerInitialization * GetUserWorkerInitialization() const
G4int GetThreadId() const
static G4WorkerThread * GetWorkerThread()
void BroadcastAbortRun(G4bool softAbort)
static std::vector< G4WorkerRunManager * > * workerRMvector
void G4SetThreadId(G4int aNewValue)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
G4int GetPinAffinity() const
const G4VUserActionInitialization * GetUserActionInitialization() const
virtual void SetUserInitialization(G4VUserPhysicsList *userInit)
virtual G4WorkerRunManager * CreateWorkerRunManager() const
static void SetInstance(G4VSteppingVerbose *Instance)
void SetupShadowProcess() const
static G4ThreadLocal G4WorkerThread * wThreadContext
void SetUpForAThread(G4int tId)
virtual void WorkerStop() const
const G4UserWorkerThreadInitialization * GetUserWorkerThreadInitialization() const
virtual void Initialize()
virtual void SetupShadowProcess() const
const G4VUserDetectorConstruction * GetUserDetectorConstruction() const