123 pinAffinityCmd->
SetGuidance(
"Locks each thread to a specific logical core. Workers are locked in round robin to logical cores.");
127 pinAffinityCmd->
SetGuidance(
"If a value n>0 is provided it starts setting affinity from the n-th CPU (note: counting from 1).");
140 evModCmd->
SetGuidance(
"If it is set to zero (default value), N is roughly given by this.");
142 evModCmd->
SetGuidance(
"The value N may affect on the computing performance in particular");
144 evModCmd->
SetGuidance(
"The second parameter seedOnce specifies how frequently each worker");
147 evModCmd->
SetGuidance(
" - If seedOnce is set to 0 (default), seeds that are centrally managed");
148 evModCmd->
SetGuidance(
" by G4MTRunManager are set for every event of every worker thread.");
149 evModCmd->
SetGuidance(
" This option guarantees event reproducability regardless of number");
151 evModCmd->
SetGuidance(
" - If seedOnce is set to 1, seeds are set only once for the first");
152 evModCmd->
SetGuidance(
" event of each run of each worker thread. Event reproducability is");
154 evModCmd->
SetGuidance(
" On the other hand, this option offers better computing performance");
157 evModCmd->
SetGuidance(
" - If seedOnce is set to 2, seeds are set only for the first event of");
158 evModCmd->
SetGuidance(
" group of N events. This option is reserved for the future use when");
159 evModCmd->
SetGuidance(
" Geant4 allows number of threads to be dynatically changed during an");
208 abortCmd->
SetGuidance(
"If softAbort is false (default), currently processing event will be immediately aborted,");
209 abortCmd->
SetGuidance(
"while softAbort is true, abortion occurs after processing the current event.");
252 seedCmd->
SetGuidance(
"Initialize the random number generator with integer seed stream.");
254 seedCmd->
SetGuidance(
"Actual number of integers to be used depends on the individual random number engine.");
255 #ifdef G4MULTITHREADED
272 "begining of event (currentEvent.rndm) ");
289 " /random/setDirectoryName.");
303 " /random/setDirectoryName.");
318 randEvtCmd->
SetGuidance(
" flag = 2 : status before event processing (after primary particle generation) is stored");
320 randEvtCmd->
SetGuidance(
"Note: Some performance overhead may be seen by storing rndm status, in particular");
380 const char* nv = (
const char*)newValue;
381 std::istringstream is(nv);
402 G4cout<<
"*** /run/numberOfThreads command is issued in sequential mode."
403 <<
"\nCommand is ignored."<<
G4endl;
408 "/run/numberOfThreads command is issued to local thread.");
421 G4cout<<
"*** /run/useMaximumLogicalCores command is issued in sequential mode."
422 <<
"\nCommand is ignored."<<
G4endl;
427 "/run/useMaximumLogicalCores command is issued to local thread.");
440 G4cout<<
"*** /run/pinAffinity command is issued in sequential mode."
441 <<
"\nCommand is ignored."<<
G4endl;
446 "/run/pinAffinity command is issued to local thread.");
457 const char* nv = (
const char*)newValue;
458 std::istringstream is(nv);
459 is >> nevMod >> sOnce;
465 G4cout<<
"*** /run/eventModulo command is issued in sequential mode."
466 <<
"\nCommand is ignored."<<
G4endl;
471 "/run/eventModulo command is issued to local thread.");
476 if(newValue==
"**ALL**")
485 else if( command==
optCmd )
509 while(!(vl=next()).isNull())
510 { seeds[idx] = (long)(
StoI(vl)); idx++; }
512 {
G4cerr <<
"/random/setSeeds should have at least two integers. Command ignored." <<
G4endl; }
516 G4Random::setTheSeeds(seeds);
542 if ( rm !=
nullptr ) {
545 else {
G4Exception(
"G4RunManager::ApplyNewCommand",
"Run0128",
FatalException,
"/run/workersProcessCmds command issued on a non-G4MTRunManager class instance."); }
547 G4cout<<
"*** /run/workersProcessCmds command is issued in sequential mode."
548 <<
"\nCommand is ignored."<<
G4endl;
551 "/run/workersProcessCmds command is issued to local thread.");
575 static_cast<G4MTRunManager*>(
runManager)->GetNumberOfThreads());
588 static_cast<G4MTRunManager*>(
runManager)->GetEventModulo() )
592 {
G4cout<<
"*** /run/eventModulo command is valid only in MT mode."<<
G4endl; }
virtual void AbortRun(G4bool softAbort=false)
void SetGuidance(const char *aGuidance)
G4MaterialScanner * materialScanner
const G4String & GetRandomNumberStoreDir() const
G4UIcmdWithAString * randDirCmd
G4UIcmdWithABool * restoreRandCmdMT
void SetRandomNumberStoreDir(const G4String &dir)
void SetDefaultValue(G4bool defVal)
void SetDefaultValue(G4int defVal)
G4UIcmdWithABool * saveEachEventCmd
void SetVerboseLevel(G4int vl)
void SetNewValue(G4UIcommand *command, G4String newValues)
void SetRange(const char *rs)
G4UIcmdWithAnInteger * nThreadsCmd
G4UIcmdWithAString * restoreRandCmd
G4RunManager * runManager
G4int G4GetNumberOfCores()
void SetDefaultValue(const char *defVal)
G4String GetCurrentValue(G4UIcommand *command)
G4UIcmdWithAString * seedCmd
G4UIcmdWithABool * savingFlagCmd
static G4UImanager * GetUIpointer()
G4UIcmdWithABool * geomRebCmd
G4UIcmdWithAnInteger * pinAffinityCmd
static G4bool GetNewBoolValue(const char *paramString)
void SetParameterRange(const char *theRange)
void SetParameter(G4UIparameter *const newParameter)
void SetPauseAtBeginOfEvent(G4bool vl)
virtual void BeamOn(G4int n_event, const char *macroFile=0, G4int n_select=-1)
static void SetSeedOncePerCommunication(G4int val)
void SetDefaultValue(const char *theDefaultValue)
virtual void rndmSaveThisRun()
G4UIcmdWithAnInteger * verboseCmd
virtual void ConstructScoringWorlds()
G4UIcmdWithoutParameter * maxThreadsCmd
G4int GetFlagRandomNumberStatusToG4Event() const
G4UIcmdWithAString * dumpRegCmd
G4UIcmdWithABool * abortCmd
void GeometryHasBeenModified(G4bool prop=true)
G4GLOB_DLL std::ostream G4cerr
G4UIcmdWithoutParameter * geomCmd
void SetPauseAtEndOfEvent(G4bool vl)
G4UIcmdWithABool * brkBoECmd
static G4String ConvertToString(G4bool boolVal)
void SetRandomNumberStorePerEvent(G4bool flag)
static G4ProductionCutsTable * GetProductionCutsTable()
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
G4UIcmdWithoutParameter * constScoreCmd
void StoreRandomNumberStatusToG4Event(G4int vl)
void SetRandomNumberStore(G4bool flag)
void ReinitializeGeometry(G4bool destroyFirst=false, G4bool prop=true)
static G4int SeedOncePerCommunication()
void SetGeometryToBeOptimized(G4bool vl)
G4int GetVerboseLevel() const
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
G4UIcmdWithoutParameter * saveThisRunCmd
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
static G4int GetNewIntValue(const char *paramString)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void DumpRegion(const G4String &rname) const
virtual void RestoreRandomNumberStatus(const G4String &fileN)
void PhysicsHasBeenModified()
G4UIcmdWithABool * optCmd
G4GLOB_DLL std::ostream G4cout
G4UIcmdWithAnInteger * randEvtCmd
G4RunMessenger(G4RunManager *runMgr)
virtual void rndmSaveThisEvent()
virtual void AbortEvent()
G4UIdirectory * randomDirectory
virtual void RestoreRndmEachEvent(G4bool)
G4UIcmdWithoutParameter * initCmd
G4UIcmdWithoutParameter * saveThisEventCmd
RMType GetRunManagerType() const
virtual void RequestWorkersProcessCommandsStack()
G4UIcmdWithoutParameter * abortEventCmd
virtual void Initialize()
G4UIcmdWithAnInteger * printProgCmd
G4UIcmdWithABool * brkEoECmd
G4UIcmdWithoutParameter * dumpCoupleCmd
void AvailableForStates(G4ApplicationState s1)
G4UIcmdWithoutParameter * physCmd
G4UIdirectory * runDirectory
void SetToBeBroadcasted(G4bool val)
void SetPrintProgress(G4int i)