Geant4  10.01.p03
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 ()
 
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)
 
- 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
 
- 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 91 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 414 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 202 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:

G4WorkerRunManager * G4WorkerRunManager::GetWorkerRunManager ( )
static

Definition at line 51 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 54 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 353 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 246 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:

void G4WorkerRunManager::RunInitialization ( )
virtual

Reimplemented from G4RunManager.

Definition at line 131 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 362 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 516 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 510 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 532 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 527 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 537 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 542 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 547 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 504 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 498 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 492 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 480 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 486 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 75 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 552 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 383 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 97 of file G4WorkerRunManager.hh.

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

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

Definition at line 96 of file G4WorkerRunManager.hh.

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

G4bool G4WorkerRunManager::runIsSeeded
protected

Definition at line 95 of file G4WorkerRunManager.hh.

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

G4SeedsQueue G4WorkerRunManager::seedsQueue
protected

Definition at line 98 of file G4WorkerRunManager.hh.

Referenced by DoEventLoop(), and GenerateEvent().

G4WorkerThread* G4WorkerRunManager::workerContext
private

Definition at line 77 of file G4WorkerRunManager.hh.

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


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