59 beamOnCmd->
SetGuidance(
"If G4 kernel is not initialized, it will be initialized.");
60 beamOnCmd->
SetGuidance(
"Default number of events to be processed is 1.");
61 beamOnCmd->
SetGuidance(
"The second and third arguments can be used for");
62 beamOnCmd->
SetGuidance(
"executing a macro file at the end of each event.");
63 beamOnCmd->
SetGuidance(
"If the second argument, i.e. name of the macro");
64 beamOnCmd->
SetGuidance(
"file, is given but the third argument is not,");
65 beamOnCmd->
SetGuidance(
"the macro file will be executed for all of the");
67 beamOnCmd->
SetGuidance(
"If the third argument (nSelect) is given, the");
68 beamOnCmd->
SetGuidance(
"macro file will be executed only for the first");
84 verboseCmd->
SetGuidance(
"Set the Verbose level of G4RunManager.");
86 verboseCmd->
SetGuidance(
" 1 : Display main topics");
87 verboseCmd->
SetGuidance(
" 2 : Display main topics and run summary");
90 verboseCmd->
SetRange(
"level >=0 && level <=2");
93 dumpRegCmd->
SetGuidance(
"Dump region information.");
94 dumpRegCmd->
SetGuidance(
"In case name of a region is not given, all regions will be displayed.");
100 dumpCoupleCmd->
SetGuidance(
"Dump material-cuts-couple information.");
101 dumpCoupleCmd->
SetGuidance(
"Note that material-cuts-couple information is updated");
102 dumpCoupleCmd->
SetGuidance(
"after BeamOn has started.");
106 optCmd->
SetGuidance(
"Set the optimization flag for geometry.");
107 optCmd->
SetGuidance(
"If it is set to TRUE, G4GeometryManager will optimize");
109 optCmd->
SetGuidance(
"GEANT4 is initialized with this flag as TRUE.");
115 brkBoECmd->
SetGuidance(
"Set a break point at the begining of every event.");
120 brkEoECmd->
SetGuidance(
"Set a break point at the end of every event.");
125 abortCmd->
SetGuidance(
"Abort current run processing.");
126 abortCmd->
SetGuidance(
"If softAbort is false (default), currently processing event will be immediately aborted,");
127 abortCmd->
SetGuidance(
"while softAbort is true, abortion occurs after processing the current event.");
133 abortEventCmd->
SetGuidance(
"Abort currently processing event.");
137 geomCmd->
SetGuidance(
"Force geometry to be closed again.");
138 geomCmd->
SetGuidance(
"This command must be applied");
139 geomCmd->
SetGuidance(
" if geometry has been modified after the");
140 geomCmd->
SetGuidance(
" first initialization (or BeamOn).");
144 physCmd->
SetGuidance(
"Force all physics tables recalculated again.");
145 physCmd->
SetGuidance(
"This command must be applied");
146 physCmd->
SetGuidance(
" if physics process has been modified after the");
147 physCmd->
SetGuidance(
" first initialization (or BeamOn).");
151 cutCmd->
SetGuidance(
"/run/cutoffModified becomes obsolete.");
152 cutCmd->
SetGuidance(
"It is safe to remove invoking this command.");
155 constScoreCmd->
SetGuidance(
"Constrct scoring parallel world(s) if defined.");
156 constScoreCmd->
SetGuidance(
"This command is not mandatory, but automatically called when a run starts.");
157 constScoreCmd->
SetGuidance(
"But the user may use this to visualize the scoring world(s) before a run to start.");
163 randomDirectory->
SetGuidance(
"Random number status control commands.");
166 seedCmd->
SetGuidance(
"Initialize the random number generator with integer seed stream.");
167 seedCmd->
SetGuidance(
"Number of integers should be more than 1.");
168 seedCmd->
SetGuidance(
"Actual number of integers to be used depends on the individual random number engine.");
173 randDirCmd->
SetGuidance(
"Define the directory name of the rndm status files.");
174 randDirCmd->
SetGuidance(
"Directory will be created if it does not exist.");
180 savingFlagCmd->
SetGuidance(
"The randomNumberStatus will be saved at :");
181 savingFlagCmd->
SetGuidance(
"begining of run (currentRun.rndm) and "
182 "begining of event (currentEvent.rndm) ");
187 saveThisRunCmd->
SetGuidance(
"copy currentRun.rndm to runXXX.rndm");
191 saveThisEventCmd->
SetGuidance(
"copy currentEvent.rndm to runXXXevtYYY.rndm");
195 restoreRandCmd->
SetGuidance(
"Reset the status of the rndm engine from a file.");
196 restoreRandCmd->
SetGuidance(
"See CLHEP manual for detail.");
197 restoreRandCmd->
SetGuidance(
"The engine status must be stored beforehand.");
198 restoreRandCmd->
SetGuidance(
"Directory of the status file should be set by"
199 " /random/setDirectoryName.");
205 randEvtCmd->
SetGuidance(
"Flag to store rndm status to G4Event object.");
206 randEvtCmd->
SetGuidance(
" flag = 0 : not store (default)");
207 randEvtCmd->
SetGuidance(
" flag = 1 : status before primary particle generation is stored");
208 randEvtCmd->
SetGuidance(
" flag = 2 : status before event processing (after primary particle generation) is stored");
209 randEvtCmd->
SetGuidance(
" flag = 3 : both are stored");
210 randEvtCmd->
SetGuidance(
"Note: Some performance overhead may be seen by storing rndm status, in particular");
211 randEvtCmd->
SetGuidance(
"for the case of simplest geometry and small number of tracks per event.");
214 randEvtCmd->
SetRange(
"flag>=0 && flag<3");
220 randDirOld->
SetGuidance(
"Define the directory name of the rndm status files.");
221 randDirOld->
SetGuidance(
"Directory must be creates before storing the files.");
222 randDirOld->
SetGuidance(
"OBSOLETE --- Please use commands in /random/ directory");
228 storeRandOld->
SetGuidance(
"The randomNumberStatus will be saved at :");
229 storeRandOld->
SetGuidance(
"begining of run (currentRun.rndm) and "
230 "begining of event (currentEvent.rndm) ");
231 storeRandOld->
SetGuidance(
"OBSOLETE --- Please use commands in /random/ directory");
236 restoreRandOld->
SetGuidance(
"Reset the status of the rndm engine from a file.");
237 restoreRandOld->
SetGuidance(
"See CLHEP manual for detail.");
238 restoreRandOld->
SetGuidance(
"The engine status must be stored beforehand.");
239 restoreRandOld->
SetGuidance(
"Directory of the status file should be set by"
240 " /random/setDirectoryName.");
241 restoreRandOld->
SetGuidance(
"OBSOLETE --- Please use commands in /random/ directory");
249 delete materialScanner;
254 delete dumpCoupleCmd;
258 delete abortEventCmd;
264 delete randDirOld;
delete storeRandOld;
delete restoreRandOld;
265 delete constScoreCmd;
270 delete savingFlagCmd;
271 delete saveThisRunCmd;
272 delete saveThisEventCmd;
273 delete restoreRandCmd;
274 delete randomDirectory;
279 if( command==beamOnCmd )
283 const char* nv = (
const char*)newValue;
284 std::istringstream is(nv);
285 is >> nev >> macroFileName >> nst;
286 if(macroFileName==
"***NULL***")
287 { runManager->
BeamOn(nev); }
289 { runManager->
BeamOn(nev,macroFileName,nst); }
291 else if( command==verboseCmd )
293 else if( command==dumpRegCmd )
295 if(newValue==
"**ALL**")
300 else if( command==dumpCoupleCmd)
304 else if( command==optCmd )
306 else if( command==brkBoECmd )
308 else if( command==brkEoECmd )
310 else if( command==abortCmd )
312 else if( command==abortEventCmd )
314 else if( command==initCmd )
316 else if( command==geomCmd )
318 else if( command==physCmd )
320 else if( command==cutCmd )
323 else if( command==seedCmd )
329 while(!(vl=next()).isNull())
330 { seeds[idx] = (long)(
StoI(vl)); idx++; }
332 {
G4cerr <<
"/random/setSeeds should have at least two integers. Command ignored." <<
G4endl; }
339 else if( command==randDirCmd )
341 else if( command==savingFlagCmd )
343 else if( command==saveThisRunCmd )
345 else if( command==saveThisEventCmd )
347 else if( command==restoreRandCmd )
349 else if( command==randEvtCmd )
352 else if( command==randDirOld )
353 {
G4cout <<
"warning: deprecated command. Use /random/setDirectoryName"
357 else if( command==storeRandOld )
358 {
G4cout <<
"warning: deprecated command. Use /random/setSavingFlag"
365 else if( command==restoreRandOld )
366 {
G4cout <<
"warning: deprecated command. Use /random/resetEngineFrom"
370 else if( command==constScoreCmd )
379 if( command==verboseCmd )
381 else if( command==randDirCmd )
383 else if( command==randEvtCmd )
G4DLLIMPORT std::ostream G4cerr
G4DLLIMPORT std::ostream G4cout
static void setTheSeeds(const long *seeds, int aux=-1)
static G4ProductionCutsTable * GetProductionCutsTable()
virtual void AbortRun(G4bool softAbort=false)
virtual void Initialize()
virtual void RestoreRandomNumberStatus(const G4String &fileN)
virtual void BeamOn(G4int n_event, const char *macroFile=0, G4int n_select=-1)
void SetRandomNumberStoreDir(const G4String &dir)
virtual void rndmSaveThisEvent()
virtual void AbortEvent()
virtual void rndmSaveThisRun()
void PhysicsHasBeenModified()
void GeometryHasBeenModified()
void SetVerboseLevel(G4int vl)
const G4String & GetRandomNumberStoreDir() const
void SetGeometryToBeOptimized(G4bool vl)
void StoreRandomNumberStatusToG4Event(G4int vl)
void CutOffHasBeenModified()
G4int GetFlagRandomNumberStatusToG4Event() const
void SetRandomNumberStore(G4bool flag)
void DumpRegion(const G4String &rname) const
G4int GetVerboseLevel() const
void ConstructScoringWorlds()
G4RunMessenger(G4RunManager *runMgr)
G4String GetCurrentValue(G4UIcommand *command)
void SetNewValue(G4UIcommand *command, G4String newValues)
static G4bool GetNewBoolValue(const char *paramString)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetDefaultValue(G4bool defVal)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
void SetDefaultValue(const char *defVal)
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
static G4int GetNewIntValue(const char *paramString)
void SetDefaultValue(G4int defVal)
static G4String ConvertToString(G4bool boolVal)
void SetParameter(G4UIparameter *const newParameter)
void SetGuidance(const char *aGuidance)
void SetRange(const char *rs)
void AvailableForStates(G4ApplicationState s1)
void SetPauseAtBeginOfEvent(G4bool vl)
static G4UImanager * GetUIpointer()
void SetPauseAtEndOfEvent(G4bool vl)
void SetDefaultValue(const char *theDefaultValue)
void SetParameterRange(const char *theRange)