80int main(
int argc,
char** argv)
95 G4int randomSeed = 1234;
97 for ( G4int i=1; i<argc; i=i+2 ) {
98 if (
G4String(argv[i]) ==
"-m" ) macro = argv[i+1];
99 else if (
G4String(argv[i]) ==
"-r" ) randomSeed = atoi(argv[i+1]);
100 else if (
G4String(argv[i]) ==
"-p" ) physicsList = argv[i+1];
101 else if (
G4String(argv[i]) ==
"-s" ) startPhase = argv[i+1];
110 if ( ! macro.size() ) {
120#ifdef G4MULTITHREADED
127 G4Random::setTheSeed(randomSeed);
133 runManager->SetUserInitialization(detector);
135 runManager->SetUserInitialization(
new F04PhysicsList(physicsList));
148 visManager->Initialize();
152 G4UImanager* UImanager = G4UImanager::GetUIpointer();
156 if ( macro.size() ) {
158 G4String command =
"/control/execute ";
159 UImanager->ApplyCommand(command+macro);
163 if ( startPhase ==
"preinit" ) {
165 G4cout <<
"At the prompt, issue commands to set up detector & field, then:"
167 G4cout <<
"/run/initialize" << G4endl;
168 G4cout <<
"Then if you want a viewer:"<< G4endl;
169 G4cout <<
"/control/execute vis.mac" << G4endl;
170 G4cout <<
"Then: " << G4endl;
171 G4cout <<
"/run/beamOn … etc." << G4endl;
174 UImanager->ApplyCommand(
"/control/execute init_vis.mac");
177 UImanager->ApplyCommand(
"/control/execute gui.mac");