Geant4  10.03
G4MTRunManager Class Reference

#include <G4MTRunManager.hh>

+ Inheritance diagram for G4MTRunManager:
+ Collaboration diagram for G4MTRunManager:

Public Types

enum  WorkerActionRequest { WorkerActionRequest::UNDEFINED, WorkerActionRequest::NEXTITERATION, WorkerActionRequest::PROCESSUI, WorkerActionRequest::ENDWORKER }
 
typedef std::map< G4int,
G4VPhysicalVolume * > 
masterWorlds_t
 
- Public Types inherited from G4RunManager
enum  RMType { sequentialRM, masterRM, workerRM }
 

Public Member Functions

 G4MTRunManager ()
 
virtual ~G4MTRunManager ()
 
void SetNumberOfThreads (G4int n)
 
G4int GetNumberOfThreads () const
 
void SetPinAffinity (G4int n=1)
 
G4int GetPinAffinity () const
 
virtual void Initialize ()
 
virtual void InitializeEventLoop (G4int n_event, const char *macroFile=0, G4int n_select=-1)
 
virtual void TerminateOneEvent ()
 
virtual void ProcessOneEvent (G4int i_event)
 
virtual void ConstructScoringWorlds ()
 
virtual void RunTermination ()
 
virtual G4bool SetUpAnEvent (G4Event *, long &s1, long &s2, long &s3, G4bool reseedRequired=true)
 
virtual G4int SetUpNEvents (G4Event *, G4SeedsQueue *seedsQueue, G4bool reseedRequired=true)
 
std::vector< G4StringGetCommandStack ()
 
size_t GetNumberActiveThreads () const
 
virtual void ThisWorkerReady ()
 
virtual void ThisWorkerEndEventLoop ()
 
const CLHEP::HepRandomEngine * getMasterRandomEngine () const
 
virtual void SetUserInitialization (G4VUserPhysicsList *userPL)
 
virtual void SetUserInitialization (G4VUserDetectorConstruction *userDC)
 
virtual void SetUserInitialization (G4UserWorkerInitialization *userInit)
 
virtual void SetUserInitialization (G4UserWorkerThreadInitialization *userInit)
 
virtual void SetUserInitialization (G4VUserActionInitialization *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)
 
void MergeScores (const G4ScoringManager *localScoringManager)
 
void MergeRun (const G4Run *localRun)
 
virtual void RequestWorkersProcessCommandsStack ()
 
virtual void ThisWorkerProcessCommandsStackDone ()
 
virtual WorkerActionRequest ThisWorkerWaitForNextAction ()
 
void SetEventModulo (G4int i=1)
 
G4int GetEventModulo () const
 
virtual void AbortRun (G4bool softAbort=false)
 
virtual void AbortEvent ()
 
- 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 DefineWorldVolume (G4VPhysicalVolume *worldVol, G4bool topologyIsChanged=true)
 
virtual void InitializeGeometry ()
 
virtual void InitializePhysics ()
 
virtual G4bool ConfirmBeamOnCondition ()
 
virtual void RunInitialization ()
 
virtual void DoEventLoop (G4int n_event, const char *macroFile=0, G4int n_select=-1)
 
virtual void TerminateEventLoop ()
 
virtual G4EventGenerateEvent (G4int i_event)
 
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
 
virtual void RestoreRndmEachEvent (G4bool)
 

Static Public Member Functions

static G4ScoringManagerGetMasterScoringManager ()
 
static masterWorlds_tGetMasterWorlds ()
 
static void addWorld (G4int counter, G4VPhysicalVolume *w)
 
static G4MTRunManagerGetMasterRunManager ()
 
static G4RunManagerKernelGetMasterRunManagerKernel ()
 
static G4MTRunManagerKernelGetMTMasterRunManagerKernel ()
 
static G4int SeedOncePerCommunication ()
 
static void SetSeedOncePerCommunication (G4int val)
 
- Static Public Member Functions inherited from G4RunManager
static G4RunManagerGetRunManager ()
 
static G4bool IfGeometryHasBeenDestroyed ()
 

Protected Member Functions

virtual G4bool InitializeSeeds (G4int)
 
virtual void PrepareCommandsStack ()
 
virtual void StoreRNGStatus (const G4String &filenamePrefix)
 
virtual void CreateAndStartWorkers ()
 
virtual void WaitForReadyWorkers ()
 
virtual void WaitForEndEventLoopWorkers ()
 
virtual void TerminateWorkers ()
 
virtual void NewActionRequest (WorkerActionRequest newRequest)
 
void RefillSeeds ()
 
- 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

G4int numberOfEventToBeProcessed
 
WorkerActionRequest nextActionRequest
 
G4int eventModuloDef
 
G4int eventModulo
 
G4int nSeedsUsed
 
G4int nSeedsFilled
 
G4int nSeedsMax
 
G4int nSeedsPerEvent
 
double * randDbl
 
G4MTBarrier beginOfEventLoopBarrier
 
G4MTBarrier endOfEventLoopBarrier
 
G4MTBarrier nextActionRequestBarrier
 
G4MTBarrier processUIBarrier
 
- 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
 

Static Protected Attributes

static G4int seedOncePerCommunication = 0
 
- Static Protected Attributes inherited from G4RunManager
static G4bool fGeometryHasBeenDestroyed = false
 

Private Types

typedef std::list< G4Thread * > G4ThreadsList
 

Private Attributes

G4int nworkers
 
G4int forcedNwokers
 
G4int pinAffinity
 
G4ThreadsList threads
 
std::vector< G4StringuiCmdsForWorkers
 
CLHEP::HepRandomEngine * masterRNGEngine
 
G4MTRunManagerKernelMTkernel
 

Static Private Attributes

static G4ScoringManagermasterScM = 0
 
static masterWorlds_t masterWorlds = G4MTRunManager::masterWorlds_t()
 
static G4MTRunManagerfMasterRM = 0
 

Detailed Description

Definition at line 51 of file G4MTRunManager.hh.

Member Typedef Documentation

typedef std::list<G4Thread*> G4MTRunManager::G4ThreadsList
private

Definition at line 118 of file G4MTRunManager.hh.

Definition at line 159 of file G4MTRunManager.hh.

Member Enumeration Documentation

Enumerator
UNDEFINED 
NEXTITERATION 
PROCESSUI 
ENDWORKER 

Definition at line 198 of file G4MTRunManager.hh.

Constructor & Destructor Documentation

G4MTRunManager::G4MTRunManager ( )
G4MTRunManager::~G4MTRunManager ( )
virtual

Definition at line 153 of file G4MTRunManager.cc.

References randDbl, and TerminateWorkers().

+ Here is the call graph for this function:

Member Function Documentation

void G4MTRunManager::AbortEvent ( )
virtual

Reimplemented from G4RunManager.

Definition at line 569 of file G4MTRunManager.cc.

void G4MTRunManager::AbortRun ( G4bool  softAbort = false)
virtual

Reimplemented from G4RunManager.

Definition at line 553 of file G4MTRunManager.cc.

References G4MTRunManagerKernel::BroadcastAbortRun(), G4cerr, G4endl, G4State_EventProc, G4State_GeomClosed, G4StateManager::GetCurrentState(), G4StateManager::GetStateManager(), MTkernel, and G4RunManager::runAborted.

+ Here is the call graph for this function:

static void G4MTRunManager::addWorld ( G4int  counter,
G4VPhysicalVolume w 
)
inlinestatic

Definition at line 162 of file G4MTRunManager.hh.

References masterWorlds.

Referenced by ConstructScoringWorlds().

+ Here is the caller graph for this function:

void G4MTRunManager::ConstructScoringWorlds ( )
virtual

Reimplemented from G4RunManager.

Definition at line 389 of file G4MTRunManager.cc.

References addWorld(), G4RunManager::ConstructScoringWorlds(), G4TransportationManager::GetNoWorlds(), G4ScoringManager::GetScoringManagerIfExist(), G4TransportationManager::GetTransportationManager(), G4TransportationManager::GetWorldsIterator(), masterScM, and masterWorlds.

+ Here is the call graph for this function:

void G4MTRunManager::CreateAndStartWorkers ( )
protectedvirtual

Reimplemented in SimpleTbbMasterRunManager.

Definition at line 235 of file G4MTRunManager.cc.

References G4UserWorkerThreadInitialization::CreateAndStartWorker(), NewActionRequest(), NEXTITERATION, nworkers, G4WorkerThread::SetNumberThreads(), G4WorkerThread::SetThreadId(), threads, and G4RunManager::userWorkerThreadInitialization.

Referenced by InitializeEventLoop().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::vector< G4String > G4MTRunManager::GetCommandStack ( )

Definition at line 229 of file G4MTRunManager.cc.

References uiCmdsForWorkers.

Referenced by G4WorkerRunManager::DoWork(), and tbbTask::execute().

+ Here is the caller graph for this function:

G4int G4MTRunManager::GetEventModulo ( ) const
inline

Definition at line 233 of file G4MTRunManager.hh.

References eventModuloDef.

Referenced by G4WorkerRunManager::GenerateEvent().

+ Here is the caller graph for this function:

const CLHEP::HepRandomEngine* G4MTRunManager::getMasterRandomEngine ( ) const
inline

Definition at line 163 of file G4MTRunManager.hh.

References masterRNGEngine.

Referenced by tbbTask::execute(), G4WorkerRunManager::SetupDefaultRNGEngine(), and G4MTRunManagerKernel::StartThread().

+ Here is the caller graph for this function:

G4RunManagerKernel * G4MTRunManager::GetMasterRunManagerKernel ( )
static

Definition at line 67 of file G4MTRunManager.cc.

References fMasterRM, and G4RunManager::kernel.

Referenced by G4WorkerRunManager::InitializeGeometry().

+ Here is the caller graph for this function:

static G4ScoringManager* G4MTRunManager::GetMasterScoringManager ( )
inlinestatic

Definition at line 160 of file G4MTRunManager.hh.

References masterScM.

Referenced by G4WorkerRunManager::ConstructScoringWorlds(), and G4WorkerRunManager::G4WorkerRunManager().

+ Here is the caller graph for this function:

static masterWorlds_t& G4MTRunManager::GetMasterWorlds ( )
inlinestatic

Definition at line 161 of file G4MTRunManager.hh.

References masterWorlds.

Referenced by G4RunManagerKernel::WorkerDefineWorldVolume(), and G4RunManagerKernel::WorkerUpdateWorldVolume().

+ Here is the caller graph for this function:

G4MTRunManagerKernel * G4MTRunManager::GetMTMasterRunManagerKernel ( )
static

Definition at line 72 of file G4MTRunManager.cc.

References fMasterRM, and MTkernel.

size_t G4MTRunManager::GetNumberActiveThreads ( ) const
inline

Definition at line 104 of file G4MTRunManager.hh.

References threads.

Referenced by NewActionRequest(), RequestWorkersProcessCommandsStack(), WaitForEndEventLoopWorkers(), and WaitForReadyWorkers().

+ Here is the caller graph for this function:

G4int G4MTRunManager::GetNumberOfThreads ( ) const
inline

Definition at line 57 of file G4MTRunManager.hh.

References nworkers.

Referenced by main().

+ Here is the caller graph for this function:

G4int G4MTRunManager::GetPinAffinity ( ) const
inline

Definition at line 59 of file G4MTRunManager.hh.

References pinAffinity.

Referenced by G4MTRunManagerKernel::StartThread().

+ Here is the caller graph for this function:

void G4MTRunManager::Initialize ( void  )
virtual

G4UImanager::GetUIpointer()->SetIgnoreCmdNotFound(true);

Reimplemented from G4RunManager.

Definition at line 195 of file G4MTRunManager.cc.

References G4RunManager::BeamOn(), G4RunManager::Initialize(), and G4RunManager::SetRunIDCounter().

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual G4bool G4MTRunManager::InitializeSeeds ( G4int  )
inlineprotectedvirtual

Definition at line 93 of file G4MTRunManager.hh.

Referenced by InitializeEventLoop().

+ Here is the caller graph for this function:

void G4MTRunManager::MergeRun ( const G4Run localRun)

Definition at line 475 of file G4MTRunManager.cc.

References G4RunManager::currentRun, and G4Run::Merge().

Referenced by G4WorkerRunManager::MergePartialResults().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4MTRunManager::MergeScores ( const G4ScoringManager localScoringManager)

Definition at line 469 of file G4MTRunManager.cc.

References masterScM, and G4ScoringManager::Merge().

Referenced by G4WorkerRunManager::MergePartialResults().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4MTRunManager::NewActionRequest ( G4MTRunManager::WorkerActionRequest  newRequest)
protectedvirtual

Reimplemented in SimpleTbbMasterRunManager.

Definition at line 594 of file G4MTRunManager.cc.

References GetNumberActiveThreads(), nextActionRequest, nextActionRequestBarrier, G4MTBarrier::ReleaseBarrier(), and G4MTBarrier::Wait().

Referenced by CreateAndStartWorkers(), RequestWorkersProcessCommandsStack(), and TerminateWorkers().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4MTRunManager::PrepareCommandsStack ( )
protectedvirtual

Definition at line 218 of file G4MTRunManager.cc.

References G4UImanager::GetCommandStack(), G4UImanager::GetUIpointer(), and uiCmdsForWorkers.

Referenced by InitializeEventLoop(), and RequestWorkersProcessCommandsStack().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4MTRunManager::ProcessOneEvent ( G4int  i_event)
virtual

Reimplemented from G4RunManager.

Definition at line 209 of file G4MTRunManager.cc.

void G4MTRunManager::RefillSeeds ( )
protected

Definition at line 352 of file G4MTRunManager.cc.

References eventModulo, G4TemplateRNGHelper< T >::GetInstance(), masterRNGEngine, nSeedsFilled, nSeedsMax, nSeedsPerEvent, numberOfEventToBeProcessed, nworkers, randDbl, G4TemplateRNGHelper< T >::Refill(), and seedOncePerCommunication.

Referenced by SetUpAnEvent(), and SetUpNEvents().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4MTRunManager::RequestWorkersProcessCommandsStack ( )
virtual

Definition at line 607 of file G4MTRunManager.cc.

References GetNumberActiveThreads(), NewActionRequest(), PrepareCommandsStack(), PROCESSUI, processUIBarrier, G4MTBarrier::SetActiveThreads(), and G4MTBarrier::WaitForReadyWorkers().

Referenced by G4RunMessenger::SetNewValue(), and TerminateWorkers().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4MTRunManager::RunTermination ( )
virtual

Reimplemented from G4RunManager.

Reimplemented in SimpleTbbMasterRunManager.

Definition at line 376 of file G4MTRunManager.cc.

References G4RunManager::RunTermination(), G4RunManager::TerminateEventLoop(), and WaitForEndEventLoopWorkers().

Referenced by SimpleTbbMasterRunManager::RunTermination().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static G4int G4MTRunManager::SeedOncePerCommunication ( )
inlinestatic

Definition at line 256 of file G4MTRunManager.hh.

References seedOncePerCommunication.

Referenced by G4WorkerRunManager::GenerateEvent(), and G4RunMessenger::GetCurrentValue().

+ Here is the caller graph for this function:

void G4MTRunManager::SetEventModulo ( G4int  i = 1)
inline

Definition at line 232 of file G4MTRunManager.hh.

void G4MTRunManager::SetNumberOfThreads ( G4int  n)

Definition at line 170 of file G4MTRunManager.cc.

References forcedNwokers, G4Exception(), JustWarning, n, nworkers, and threads.

Referenced by main().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4MTRunManager::SetPinAffinity ( G4int  n = 1)

Definition at line 617 of file G4MTRunManager.cc.

References FatalException, G4Exception(), n, and pinAffinity.

+ Here is the call graph for this function:

static void G4MTRunManager::SetSeedOncePerCommunication ( G4int  val)
inlinestatic

Definition at line 257 of file G4MTRunManager.hh.

Referenced by G4RunMessenger::SetNewValue().

+ Here is the caller graph for this function:

G4bool G4MTRunManager::SetUpAnEvent ( G4Event evt,
long &  s1,
long &  s2,
long &  s3,
G4bool  reseedRequired = true 
)
virtual

Definition at line 481 of file G4MTRunManager.cc.

References G4TemplateRNGHelper< T >::GetInstance(), G4TemplateRNGHelper< T >::GetSeed(), nSeedsFilled, nSeedsPerEvent, nSeedsUsed, G4RunManager::numberOfEventProcessed, numberOfEventToBeProcessed, RefillSeeds(), and G4Event::SetEventID().

Referenced by G4WorkerRunManager::GenerateEvent().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4MTRunManager::SetUpNEvents ( G4Event evt,
G4SeedsQueue seedsQueue,
G4bool  reseedRequired = true 
)
virtual

Definition at line 503 of file G4MTRunManager.cc.

References eventModulo, G4TemplateRNGHelper< T >::GetInstance(), G4TemplateRNGHelper< T >::GetSeed(), nSeedsFilled, nSeedsPerEvent, nSeedsUsed, G4RunManager::numberOfEventProcessed, numberOfEventToBeProcessed, RefillSeeds(), G4RunManager::runAborted, seedOncePerCommunication, and G4Event::SetEventID().

Referenced by G4WorkerRunManager::GenerateEvent().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4MTRunManager::SetUserAction ( G4UserRunAction userAction)
virtual

Reimplemented from G4RunManager.

Definition at line 433 of file G4MTRunManager.cc.

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

Referenced by G4TheMTRayTracer::RestoreUserActions(), and G4TheMTRayTracer::StoreUserActions().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4MTRunManager::SetUserAction ( G4VUserPrimaryGeneratorAction userAction)
virtual

Reimplemented from G4RunManager.

Definition at line 439 of file G4MTRunManager.cc.

References FatalException, and G4Exception().

+ Here is the call graph for this function:

void G4MTRunManager::SetUserAction ( G4UserEventAction userAction)
virtual

Reimplemented from G4RunManager.

Definition at line 445 of file G4MTRunManager.cc.

References FatalException, and G4Exception().

+ Here is the call graph for this function:

void G4MTRunManager::SetUserAction ( G4UserStackingAction userAction)
virtual

Reimplemented from G4RunManager.

Definition at line 451 of file G4MTRunManager.cc.

References FatalException, and G4Exception().

+ Here is the call graph for this function:

void G4MTRunManager::SetUserAction ( G4UserTrackingAction userAction)
virtual

Reimplemented from G4RunManager.

Definition at line 457 of file G4MTRunManager.cc.

References FatalException, and G4Exception().

+ Here is the call graph for this function:

void G4MTRunManager::SetUserAction ( G4UserSteppingAction userAction)
virtual

Reimplemented from G4RunManager.

Definition at line 463 of file G4MTRunManager.cc.

References FatalException, and G4Exception().

+ Here is the call graph for this function:

void G4MTRunManager::SetUserInitialization ( G4VUserPhysicsList userPL)
virtual

Reimplemented from G4RunManager.

Definition at line 422 of file G4MTRunManager.cc.

References G4RunManager::SetUserInitialization().

Referenced by main(), G4TheMTRayTracer::RestoreUserActions(), and G4TheMTRayTracer::StoreUserActions().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4MTRunManager::SetUserInitialization ( G4VUserDetectorConstruction userDC)
virtual

Reimplemented from G4RunManager.

Definition at line 428 of file G4MTRunManager.cc.

References G4RunManager::SetUserInitialization().

+ Here is the call graph for this function:

void G4MTRunManager::SetUserInitialization ( G4UserWorkerInitialization userInit)
virtual

Reimplemented from G4RunManager.

Definition at line 406 of file G4MTRunManager.cc.

References G4RunManager::userWorkerInitialization.

void G4MTRunManager::SetUserInitialization ( G4UserWorkerThreadInitialization userInit)
virtual

Reimplemented from G4RunManager.

Definition at line 411 of file G4MTRunManager.cc.

References G4RunManager::userWorkerThreadInitialization.

void G4MTRunManager::SetUserInitialization ( G4VUserActionInitialization userInit)
virtual

Reimplemented from G4RunManager.

Definition at line 416 of file G4MTRunManager.cc.

References G4VUserActionInitialization::BuildForMaster(), and G4RunManager::userActionInitialization.

+ Here is the call graph for this function:

void G4MTRunManager::StoreRNGStatus ( const G4String filenamePrefix)
protectedvirtual

Reimplemented from G4RunManager.

Definition at line 163 of file G4MTRunManager.cc.

References G4RunManager::randomNumberStatusDir.

void G4MTRunManager::TerminateOneEvent ( )
virtual

Reimplemented from G4RunManager.

Definition at line 213 of file G4MTRunManager.cc.

void G4MTRunManager::TerminateWorkers ( )
protectedvirtual

Reimplemented in SimpleTbbMasterRunManager.

Definition at line 533 of file G4MTRunManager.cc.

References ENDWORKER, G4UserWorkerThreadInitialization::JoinWorker(), NewActionRequest(), RequestWorkersProcessCommandsStack(), threads, and G4RunManager::userWorkerThreadInitialization.

Referenced by ~G4MTRunManager().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4MTRunManager::ThisWorkerEndEventLoop ( )
virtual

Reimplemented in SimpleTbbMasterRunManager.

Definition at line 590 of file G4MTRunManager.cc.

References endOfEventLoopBarrier, and G4MTBarrier::ThisWorkerReady().

Referenced by G4WorkerRunManager::RunTermination().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4MTRunManager::ThisWorkerProcessCommandsStackDone ( )
virtual

Definition at line 614 of file G4MTRunManager.cc.

References processUIBarrier, and G4MTBarrier::ThisWorkerReady().

Referenced by G4WorkerRunManager::DoWork().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4MTRunManager::ThisWorkerReady ( )
virtual

Reimplemented in SimpleTbbMasterRunManager.

Definition at line 580 of file G4MTRunManager.cc.

References beginOfEventLoopBarrier, and G4MTBarrier::ThisWorkerReady().

Referenced by G4WorkerRunManager::RunInitialization().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4MTRunManager::WorkerActionRequest G4MTRunManager::ThisWorkerWaitForNextAction ( )
virtual

Reimplemented in SimpleTbbMasterRunManager.

Definition at line 602 of file G4MTRunManager.cc.

References nextActionRequest, nextActionRequestBarrier, and G4MTBarrier::ThisWorkerReady().

Referenced by G4WorkerRunManager::DoWork().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4MTRunManager::WaitForEndEventLoopWorkers ( )
protectedvirtual

Reimplemented in SimpleTbbMasterRunManager.

Definition at line 584 of file G4MTRunManager.cc.

References beginOfEventLoopBarrier, endOfEventLoopBarrier, GetNumberActiveThreads(), G4MTBarrier::ReleaseBarrier(), G4MTBarrier::ResetCounter(), and G4MTBarrier::Wait().

Referenced by RunTermination().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4MTRunManager::WaitForReadyWorkers ( )
protectedvirtual

Reimplemented in SimpleTbbMasterRunManager.

Definition at line 574 of file G4MTRunManager.cc.

References beginOfEventLoopBarrier, endOfEventLoopBarrier, GetNumberActiveThreads(), G4MTBarrier::ReleaseBarrier(), G4MTBarrier::ResetCounter(), and G4MTBarrier::Wait().

Referenced by InitializeEventLoop().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4MTBarrier G4MTRunManager::beginOfEventLoopBarrier
protected
G4MTBarrier G4MTRunManager::endOfEventLoopBarrier
protected
G4int G4MTRunManager::eventModulo
protected

Definition at line 222 of file G4MTRunManager.hh.

Referenced by InitializeEventLoop(), RefillSeeds(), and SetUpNEvents().

G4int G4MTRunManager::eventModuloDef
protected

Definition at line 221 of file G4MTRunManager.hh.

Referenced by GetEventModulo(), and InitializeEventLoop().

G4MTRunManager * G4MTRunManager::fMasterRM = 0
staticprivate
G4int G4MTRunManager::forcedNwokers
private

Definition at line 113 of file G4MTRunManager.hh.

Referenced by G4MTRunManager(), and SetNumberOfThreads().

CLHEP::HepRandomEngine* G4MTRunManager::masterRNGEngine
private
G4ScoringManager * G4MTRunManager::masterScM = 0
staticprivate
G4MTRunManager::masterWorlds_t G4MTRunManager::masterWorlds = G4MTRunManager::masterWorlds_t()
staticprivate

Definition at line 167 of file G4MTRunManager.hh.

Referenced by addWorld(), ConstructScoringWorlds(), and GetMasterWorlds().

G4MTRunManagerKernel* G4MTRunManager::MTkernel
private
WorkerActionRequest G4MTRunManager::nextActionRequest
protected

Definition at line 217 of file G4MTRunManager.hh.

Referenced by NewActionRequest(), and ThisWorkerWaitForNextAction().

G4MTBarrier G4MTRunManager::nextActionRequestBarrier
protected

Definition at line 262 of file G4MTRunManager.hh.

Referenced by NewActionRequest(), and ThisWorkerWaitForNextAction().

G4int G4MTRunManager::nSeedsFilled
protected

Definition at line 224 of file G4MTRunManager.hh.

Referenced by InitializeEventLoop(), RefillSeeds(), SetUpAnEvent(), and SetUpNEvents().

G4int G4MTRunManager::nSeedsMax
protected

Definition at line 225 of file G4MTRunManager.hh.

Referenced by G4MTRunManager(), InitializeEventLoop(), and RefillSeeds().

G4int G4MTRunManager::nSeedsPerEvent
protected
G4int G4MTRunManager::nSeedsUsed
protected

Definition at line 223 of file G4MTRunManager.hh.

Referenced by InitializeEventLoop(), SetUpAnEvent(), and SetUpNEvents().

G4int G4MTRunManager::numberOfEventToBeProcessed
protected
G4int G4MTRunManager::nworkers
private
G4int G4MTRunManager::pinAffinity
private

Definition at line 115 of file G4MTRunManager.hh.

Referenced by GetPinAffinity(), and SetPinAffinity().

G4MTBarrier G4MTRunManager::processUIBarrier
protected
double* G4MTRunManager::randDbl
protected
G4int G4MTRunManager::seedOncePerCommunication = 0
staticprotected
G4ThreadsList G4MTRunManager::threads
private
std::vector<G4String> G4MTRunManager::uiCmdsForWorkers
private

Definition at line 122 of file G4MTRunManager.hh.

Referenced by GetCommandStack(), and PrepareCommandsStack().


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