Geant4  10.02.p02
G4WorkerRunManager Class Reference

#include <G4WorkerRunManager.hh>

+ Inheritance diagram for G4WorkerRunManager:
+ Collaboration diagram for G4WorkerRunManager:

Public Member Functions

 G4WorkerRunManager ()
 
 ~G4WorkerRunManager ()
 
virtual void InitializeGeometry ()
 
virtual void RunInitialization ()
 
virtual void DoEventLoop (G4int n_event, const char *macroFile=0, G4int n_select=-1)
 
virtual void ProcessOneEvent (G4int i_event)
 
virtual G4EventGenerateEvent (G4int i_event)
 
virtual void RunTermination ()
 
virtual void TerminateEventLoop ()
 
virtual void DoWork ()
 
void SetWorkerThread (G4WorkerThread *wc)
 Sets the worker context. More...
 
virtual void SetUserInitialization (G4VUserPhysicsList *userInit)
 
virtual void SetUserInitialization (G4VUserDetectorConstruction *userInit)
 
virtual void SetUserInitialization (G4VUserActionInitialization *userInit)
 
virtual void SetUserInitialization (G4UserWorkerInitialization *userInit)
 
virtual void SetUserInitialization (G4UserWorkerThreadInitialization *userInit)
 
virtual void SetUserAction (G4UserRunAction *userAction)
 
virtual void SetUserAction (G4VUserPrimaryGeneratorAction *userAction)
 
virtual void SetUserAction (G4UserEventAction *userAction)
 
virtual void SetUserAction (G4UserStackingAction *userAction)
 
virtual void SetUserAction (G4UserTrackingAction *userAction)
 
virtual void SetUserAction (G4UserSteppingAction *userAction)
 
virtual void RestoreRndmEachEvent (G4bool flag)
 
- Public Member Functions inherited from G4RunManager
 G4RunManager ()
 
virtual ~G4RunManager ()
 
virtual void BeamOn (G4int n_event, const char *macroFile=0, G4int n_select=-1)
 
virtual void Initialize ()
 
virtual void DefineWorldVolume (G4VPhysicalVolume *worldVol, G4bool topologyIsChanged=true)
 
virtual void AbortRun (G4bool softAbort=false)
 
virtual void AbortEvent ()
 
virtual void InitializePhysics ()
 
virtual G4bool ConfirmBeamOnCondition ()
 
virtual void InitializeEventLoop (G4int n_event, const char *macroFile=0, G4int n_select=-1)
 
virtual void TerminateOneEvent ()
 
virtual void AnalyzeEvent (G4Event *anEvent)
 
void DumpRegion (const G4String &rname) const
 
void DumpRegion (G4Region *region=0) const
 
virtual void rndmSaveThisRun ()
 
virtual void rndmSaveThisEvent ()
 
virtual void RestoreRandomNumberStatus (const G4String &fileN)
 
const G4VUserDetectorConstructionGetUserDetectorConstruction () const
 
const G4VUserPhysicsListGetUserPhysicsList () const
 
const G4VUserActionInitializationGetUserActionInitialization () const
 
G4VUserActionInitializationGetNonConstUserActionInitialization () const
 
const G4UserWorkerInitializationGetUserWorkerInitialization () const
 
const
G4UserWorkerThreadInitialization
GetUserWorkerThreadInitialization () const
 
const G4UserRunActionGetUserRunAction () const
 
const
G4VUserPrimaryGeneratorAction
GetUserPrimaryGeneratorAction () const
 
const G4UserEventActionGetUserEventAction () const
 
const G4UserStackingActionGetUserStackingAction () const
 
const G4UserTrackingActionGetUserTrackingAction () const
 
const G4UserSteppingActionGetUserSteppingAction () const
 
void SetNumberOfAdditionalWaitingStacks (G4int iAdd)
 
const G4StringGetVersionString () const
 
void SetPrimaryTransformer (G4PrimaryTransformer *pt)
 
void StoreRandomNumberStatusToG4Event (G4int vl)
 
G4int GetFlagRandomNumberStatusToG4Event () const
 
void SetRandomNumberStore (G4bool flag)
 
G4bool GetRandomNumberStore () const
 
void SetRandomNumberStoreDir (const G4String &dir)
 
const G4StringGetRandomNumberStoreDir () const
 
const G4StringGetRandomNumberStatusForThisRun () const
 
const G4StringGetRandomNumberStatusForThisEvent () const
 
void SetRandomNumberStorePerEvent (G4bool flag)
 
G4bool GetRandomNumberStorePerEvent () const
 
void GeometryHasBeenModified (G4bool prop=true)
 
void ReinitializeGeometry (G4bool destroyFirst=false, G4bool prop=true)
 
void PhysicsHasBeenModified ()
 
void CutOffHasBeenModified ()
 
void ReOptimizeMotherOf (G4VPhysicalVolume *)
 
void ReOptimize (G4LogicalVolume *)
 
void SetVerboseLevel (G4int vl)
 
G4int GetVerboseLevel () const
 
G4int GetPrintProgress ()
 
void SetPrintProgress (G4int i)
 
void SetGeometryToBeOptimized (G4bool vl)
 
G4bool GetGeometryToBeOptimized ()
 
void SetNumberOfEventsToBeStored (G4int val)
 
const G4RunGetCurrentRun () const
 
G4RunGetNonConstCurrentRun () const
 
const G4EventGetCurrentEvent () const
 
const G4EventGetPreviousEvent (G4int i) const
 
void SetRunIDCounter (G4int i)
 
G4int GetNumberOfParallelWorld () const
 
void SetNumberOfEventsToBeProcessed (G4int val)
 
G4int GetNumberOfEventsToBeProcessed () const
 
G4int GetNumberOfSelectEvents () const
 
G4String GetSelectMacro () const
 
void SetDCtable (G4DCtable *DCtbl)
 
RMType GetRunManagerType () const
 

Static Public Member Functions

static G4WorkerRunManagerGetWorkerRunManager ()
 
static G4WorkerRunManagerKernelGetWorkerRunManagerKernel ()
 
- Static Public Member Functions inherited from G4RunManager
static G4RunManagerGetRunManager ()
 
static G4bool IfGeometryHasBeenDestroyed ()
 

Protected Member Functions

virtual void ConstructScoringWorlds ()
 
virtual void StoreRNGStatus (const G4String &filenamePrefix)
 
virtual void MergePartialResults ()
 
- Protected Member Functions inherited from G4RunManager
void CleanUpPreviousEvents ()
 
void CleanUpUnnecessaryEvents (G4int keepNEvents)
 
void StackPreviousEvent (G4Event *anEvent)
 
 G4RunManager (RMType rmType)
 
void UpdateScoring ()
 
virtual void DeleteUserInitializations ()
 

Protected Attributes

G4bool eventLoopOnGoing
 
G4bool runIsSeeded
 
G4int nevModulo
 
G4int currEvID
 
G4SeedsQueue seedsQueue
 
G4bool readStatusFromFile
 
- Protected Attributes inherited from G4RunManager
G4RunManagerKernelkernel
 
G4EventManagereventManager
 
G4VUserDetectorConstructionuserDetector
 
G4VUserPhysicsListphysicsList
 
G4VUserActionInitializationuserActionInitialization
 
G4UserWorkerInitializationuserWorkerInitialization
 
G4UserWorkerThreadInitializationuserWorkerThreadInitialization
 
G4UserRunActionuserRunAction
 
G4VUserPrimaryGeneratorActionuserPrimaryGeneratorAction
 
G4UserEventActionuserEventAction
 
G4UserStackingActionuserStackingAction
 
G4UserTrackingActionuserTrackingAction
 
G4UserSteppingActionuserSteppingAction
 
G4bool geometryInitialized
 
G4bool physicsInitialized
 
G4bool runAborted
 
G4bool initializedAtLeastOnce
 
G4bool geometryToBeOptimized
 
G4int runIDCounter
 
G4int verboseLevel
 
G4int printModulo
 
G4Timertimer
 
G4DCtableDCtable
 
G4RuncurrentRun
 
G4EventcurrentEvent
 
std::list< G4Event * > * previousEvents
 
G4int n_perviousEventsToBeStored
 
G4int numberOfEventToBeProcessed
 
G4bool storeRandomNumberStatus
 
G4int storeRandomNumberStatusToG4Event
 
G4String randomNumberStatusDir
 
G4String randomNumberStatusForThisRun
 
G4String randomNumberStatusForThisEvent
 
G4bool rngStatusEventsFlag
 
G4VPhysicalVolumecurrentWorld
 
G4int nParallelWorlds
 
G4String msgText
 
G4int n_select_msg
 
G4int numberOfEventProcessed
 
G4String selectMacro
 
G4bool fakeRun
 
RMType runManagerType
 

Private Member Functions

void SetupDefaultRNGEngine ()
 

Private Attributes

G4WorkerThreadworkerContext
 

Additional Inherited Members

- Public Types inherited from G4RunManager
enum  RMType { sequentialRM, masterRM, workerRM }
 
- Static Protected Attributes inherited from G4RunManager
static G4bool fGeometryHasBeenDestroyed = false
 

Detailed Description

Definition at line 47 of file G4WorkerRunManager.hh.

Constructor & Destructor Documentation

G4WorkerRunManager::G4WorkerRunManager ( )
G4WorkerRunManager::~G4WorkerRunManager ( )

Definition at line 93 of file G4WorkerRunManager.cc.

References G4cout, G4endl, G4RunManager::physicsList, G4VUserPhysicsList::RemoveProcessManager(), G4RunManager::userActionInitialization, G4RunManager::userDetector, G4RunManager::userWorkerInitialization, G4RunManager::userWorkerThreadInitialization, and G4RunManager::verboseLevel.

+ Here is the call graph for this function:

Member Function Documentation

void G4WorkerRunManager::ConstructScoringWorlds ( )
protectedvirtual

Reimplemented from G4RunManager.

Reimplemented in tbbWorkerRunManager.

Definition at line 441 of file G4WorkerRunManager.cc.

References G4ProcessManager::AddProcess(), FatalException, G4RunManager::fGeometryHasBeenDestroyed, G4Exception(), G4VScoringMesh::GeometryHasBeenDestroyed(), G4ParticleTable::GetIterator(), G4MTRunManager::GetMasterScoringManager(), G4ScoringManager::GetMesh(), G4VScoringMesh::GetMeshElementLogical(), G4ScoringManager::GetNumberOfMesh(), G4VScoringMesh::GetParallelWorldProcess(), G4ParticleTable::GetParticleTable(), G4ParticleDefinition::GetProcessManager(), G4ScoringManager::GetScoringManagerIfExist(), G4TransportationManager::GetTransportationManager(), G4ScoringManager::GetWorldName(), idxAlongStep, idxAtRest, idxPostStep, G4ParallelWorldProcess::IsAtRestRequired(), G4TransportationManager::IsWorldExisting(), G4RunManager::kernel, G4ParticleTableIterator< K, V >::reset(), G4VScoringMesh::SetMeshElementLogical(), G4ParallelWorldProcess::SetParallelWorld(), G4VScoringMesh::SetParallelWorldProcess(), G4ProcessManager::SetProcessOrdering(), G4ProcessManager::SetProcessOrderingToSecond(), G4TemplateAutoLock< M, L, U >::unlock(), G4ParticleTableIterator< K, V >::value(), G4VScoringMesh::WorkerConstruct(), and G4RunManagerKernel::WorkerUpdateWorldVolume().

Referenced by tbbWorkerRunManager::ConstructScoringWorlds().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4WorkerRunManager::DoEventLoop ( G4int  n_event,
const char *  macroFile = 0,
G4int  n_select = -1 
)
virtual

Reimplemented from G4RunManager.

Definition at line 204 of file G4WorkerRunManager.cc.

References currEvID, eventLoopOnGoing, FatalException, G4Exception(), G4RunManager::InitializeEventLoop(), nevModulo, ProcessOneEvent(), G4RunManager::runAborted, runIsSeeded, seedsQueue, TerminateEventLoop(), G4RunManager::TerminateOneEvent(), and G4RunManager::userPrimaryGeneratorAction.

+ Here is the call graph for this function:

void G4WorkerRunManager::DoWork ( )
virtual

Definition at line 586 of file G4WorkerRunManager.cc.

References G4UImanager::ApplyCommand(), G4RunManager::BeamOn(), G4MTRunManager::ENDWORKER, FatalException, G4Exception(), G4ThreadLocal, G4MTRunManager::GetCommandStack(), G4MTRunManager::GetMasterRunManager(), G4RunManager::GetNumberOfEventsToBeProcessed(), G4RunManager::GetNumberOfSelectEvents(), G4RunManager::GetSelectMacro(), G4UImanager::GetUIpointer(), G4MTRunManager::NEXTITERATION, G4MTRunManager::ThisWorkerWaitForNextAction(), G4WorkerThread::UpdateGeometryAndPhysicsVectorFromMaster(), and workerContext.

Referenced by G4MTRunManagerKernel::StartThread().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4WorkerRunManager * G4WorkerRunManager::GetWorkerRunManager ( )
static

Definition at line 52 of file G4WorkerRunManager.cc.

References G4RunManager::GetRunManager().

Referenced by GetWorkerRunManagerKernel(), G4RTWorkerInitialization::WorkerRunEnd(), and G4RTWorkerInitialization::WorkerRunStart().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4WorkerRunManagerKernel * G4WorkerRunManager::GetWorkerRunManagerKernel ( )
static

Definition at line 55 of file G4WorkerRunManager.cc.

References GetWorkerRunManager(), and G4RunManager::kernel.

+ Here is the call graph for this function:

void G4WorkerRunManager::MergePartialResults ( )
protectedvirtual

Reimplemented in tbbWorkerRunManager.

Definition at line 380 of file G4WorkerRunManager.cc.

References G4RunManager::currentRun, G4MTRunManager::GetMasterRunManager(), G4ScoringManager::GetScoringManagerIfExist(), G4MTRunManager::MergeRun(), and G4MTRunManager::MergeScores().

Referenced by RunTermination().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4WorkerRunManager::ProcessOneEvent ( G4int  i_event)
virtual

Reimplemented from G4RunManager.

Definition at line 248 of file G4WorkerRunManager.cc.

References G4RunManager::AnalyzeEvent(), G4UImanager::ApplyCommand(), G4RunManager::currentEvent, eventLoopOnGoing, G4RunManager::eventManager, GenerateEvent(), G4Event::GetEventID(), G4UImanager::GetUIpointer(), G4RunManager::msgText, G4RunManager::n_select_msg, G4EventManager::ProcessOneEvent(), and G4RunManager::UpdateScoring().

Referenced by DoEventLoop().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual void G4WorkerRunManager::RestoreRndmEachEvent ( G4bool  flag)
inlinevirtual

Reimplemented from G4RunManager.

Definition at line 106 of file G4WorkerRunManager.hh.

void G4WorkerRunManager::RunInitialization ( )
virtual

Reimplemented from G4RunManager.

Definition at line 133 of file G4WorkerRunManager.cc.

References G4UserRunAction::BeginOfRunAction(), G4RunManager::CleanUpPreviousEvents(), G4RunManager::currentRun, G4RunManager::DCtable, G4RunManager::fakeRun, G4RunManager::fGeometryHasBeenDestroyed, G4cout, G4endl, G4Threading::G4GetThreadId(), G4UserRunAction::GenerateRun(), G4VVisManager::GetConcreteInstance(), G4SDManager::GetHCtable(), G4ParallelWorldProcessStore::GetInstance(), G4MTRunManager::GetMasterRunManager(), G4Run::GetRunID(), G4SDManager::GetSDMpointerIfExist(), G4RunManager::GetUserWorkerInitialization(), G4RunManager::kernel, G4RunManager::n_perviousEventsToBeStored, G4RunManager::numberOfEventProcessed, G4RunManager::numberOfEventToBeProcessed, G4RunManager::previousEvents, G4RunManager::printModulo, G4RunManager::randomNumberStatusForThisRun, G4RunManager::rngStatusEventsFlag, G4RunManager::runAborted, G4RunManager::runIDCounter, G4RunManagerKernel::RunInitialization(), G4Run::SetDCtable(), G4Run::SetHCtable(), G4Run::SetNumberOfEventToBeProcessed(), G4Run::SetRandomNumberStatus(), G4Run::SetRunID(), G4RunManager::storeRandomNumberStatus, StoreRNGStatus(), G4MTRunManager::ThisWorkerReady(), G4ParallelWorldProcessStore::UpdateWorlds(), G4RunManager::userRunAction, G4RunManager::verboseLevel, and G4UserWorkerInitialization::WorkerRunStart().

+ Here is the call graph for this function:

void G4WorkerRunManager::RunTermination ( )
virtual

Reimplemented from G4RunManager.

Definition at line 389 of file G4WorkerRunManager.cc.

References G4RunManager::fakeRun, G4MTRunManager::GetMasterRunManager(), G4RunManager::GetUserWorkerInitialization(), MergePartialResults(), G4RunManager::RunTermination(), G4MTRunManager::ThisWorkerEndEventLoop(), and G4UserWorkerInitialization::WorkerRunEnd().

+ Here is the call graph for this function:

void G4WorkerRunManager::SetupDefaultRNGEngine ( )
private

Definition at line 543 of file G4WorkerRunManager.cc.

References G4MTRunManager::getMasterRandomEngine(), G4MTRunManager::GetMasterRunManager(), G4RunManager::GetUserWorkerThreadInitialization(), and G4UserWorkerThreadInitialization::SetupRNGEngine().

+ Here is the call graph for this function:

void G4WorkerRunManager::SetUserAction ( G4UserRunAction userAction)
virtual

Reimplemented from G4RunManager.

Definition at line 537 of file G4WorkerRunManager.cc.

References G4UserRunAction::SetMaster(), and G4RunManager::SetUserAction().

Referenced by G4RTWorkerInitialization::WorkerRunEnd(), and G4RTWorkerInitialization::WorkerRunStart().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4WorkerRunManager::SetUserAction ( G4VUserPrimaryGeneratorAction userAction)
virtual

Reimplemented from G4RunManager.

Definition at line 559 of file G4WorkerRunManager.cc.

References G4RunManager::SetUserAction().

+ Here is the call graph for this function:

void G4WorkerRunManager::SetUserAction ( G4UserEventAction userAction)
virtual

Reimplemented from G4RunManager.

Definition at line 554 of file G4WorkerRunManager.cc.

References G4RunManager::SetUserAction().

+ Here is the call graph for this function:

void G4WorkerRunManager::SetUserAction ( G4UserStackingAction userAction)
virtual

Reimplemented from G4RunManager.

Definition at line 564 of file G4WorkerRunManager.cc.

References G4RunManager::SetUserAction().

+ Here is the call graph for this function:

void G4WorkerRunManager::SetUserAction ( G4UserTrackingAction userAction)
virtual

Reimplemented from G4RunManager.

Definition at line 569 of file G4WorkerRunManager.cc.

References G4RunManager::SetUserAction().

+ Here is the call graph for this function:

void G4WorkerRunManager::SetUserAction ( G4UserSteppingAction userAction)
virtual

Reimplemented from G4RunManager.

Definition at line 574 of file G4WorkerRunManager.cc.

References G4RunManager::SetUserAction().

+ Here is the call graph for this function:

void G4WorkerRunManager::SetUserInitialization ( G4VUserPhysicsList userInit)
virtual

Reimplemented from G4RunManager.

Definition at line 531 of file G4WorkerRunManager.cc.

References G4VUserPhysicsList::InitializeWorker(), and G4RunManager::SetUserInitialization().

Referenced by G4MTRunManagerKernel::StartThread().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4WorkerRunManager::SetUserInitialization ( G4VUserDetectorConstruction userInit)
virtual

Reimplemented from G4RunManager.

Definition at line 525 of file G4WorkerRunManager.cc.

References FatalException, and G4Exception().

+ Here is the call graph for this function:

void G4WorkerRunManager::SetUserInitialization ( G4VUserActionInitialization userInit)
virtual

Reimplemented from G4RunManager.

Definition at line 519 of file G4WorkerRunManager.cc.

References FatalException, and G4Exception().

+ Here is the call graph for this function:

void G4WorkerRunManager::SetUserInitialization ( G4UserWorkerInitialization userInit)
virtual

Reimplemented from G4RunManager.

Definition at line 507 of file G4WorkerRunManager.cc.

References FatalException, and G4Exception().

+ Here is the call graph for this function:

void G4WorkerRunManager::SetUserInitialization ( G4UserWorkerThreadInitialization userInit)
virtual

Reimplemented from G4RunManager.

Definition at line 513 of file G4WorkerRunManager.cc.

References FatalException, and G4Exception().

+ Here is the call graph for this function:

void G4WorkerRunManager::SetWorkerThread ( G4WorkerThread wc)
inline

Sets the worker context.

Definition at line 79 of file G4WorkerRunManager.hh.

References workerContext.

Referenced by G4MTRunManagerKernel::StartThread().

+ Here is the caller graph for this function:

void G4WorkerRunManager::StoreRNGStatus ( const G4String filenamePrefix)
protectedvirtual

Reimplemented from G4RunManager.

Definition at line 579 of file G4WorkerRunManager.cc.

References G4WorkerThread::GetThreadId(), G4RunManager::randomNumberStatusDir, and workerContext.

Referenced by GenerateEvent(), and RunInitialization().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4WorkerRunManager::TerminateEventLoop ( )
virtual

Reimplemented from G4RunManager.

Definition at line 410 of file G4WorkerRunManager.cc.

References G4RunManager::fakeRun, G4cout, G4endl, G4RunManager::numberOfEventProcessed, G4RunManager::runAborted, G4Timer::Stop(), G4RunManager::timer, and G4RunManager::verboseLevel.

Referenced by DoEventLoop().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4int G4WorkerRunManager::currEvID
protected

Definition at line 101 of file G4WorkerRunManager.hh.

Referenced by DoEventLoop(), G4WorkerRunManager(), and GenerateEvent().

G4bool G4WorkerRunManager::eventLoopOnGoing
protected
G4int G4WorkerRunManager::nevModulo
protected

Definition at line 100 of file G4WorkerRunManager.hh.

Referenced by DoEventLoop(), G4WorkerRunManager(), and GenerateEvent().

G4bool G4WorkerRunManager::readStatusFromFile
protected

Definition at line 103 of file G4WorkerRunManager.hh.

Referenced by G4WorkerRunManager(), and GenerateEvent().

G4bool G4WorkerRunManager::runIsSeeded
protected

Definition at line 99 of file G4WorkerRunManager.hh.

Referenced by DoEventLoop(), G4WorkerRunManager(), and GenerateEvent().

G4SeedsQueue G4WorkerRunManager::seedsQueue
protected

Definition at line 102 of file G4WorkerRunManager.hh.

Referenced by DoEventLoop(), and GenerateEvent().

G4WorkerThread* G4WorkerRunManager::workerContext
private

Definition at line 81 of file G4WorkerRunManager.hh.

Referenced by DoWork(), G4WorkerRunManager(), SetWorkerThread(), and StoreRNGStatus().


The documentation for this class was generated from the following files: