53int main(
int argc,
char** argv)
57 G4bool useInteractiveMode =
true;
60 " [option(s)] \n No additional arguments triggers an interactive mode "
61 "executing vis.mac macro. \n Options:\n\t-h\t\tdisplay this help "
62 "message\n\t-m MACRO\ttriggers a batch mode executing MACRO\n");
63 for(G4int i = 1; i < argc; ++i)
66 if(argument ==
"-h" || argument ==
"--help")
68 G4cout << helpMsg << G4endl;
71 else if(argument ==
"-m")
73 batchMacroName =
G4String(argv[i + 1]);
74 useInteractiveMode =
false;
79 G4Exception(
"main",
"Unknown argument", FatalErrorInArgument,
80 (
"Unknown argument passed to " +
G4String(argv[0]) +
" : " +
81 argument +
"\n" + helpMsg)
88 G4RunManagerFactory::CreateRunManager(G4RunManagerType::Default);
92 runManager->SetUserInitialization(detector);
98 fastSimulationPhysics->BeVerbose();
99 fastSimulationPhysics->ActivateFastSimulation(
"e-");
100 fastSimulationPhysics->ActivateFastSimulation(
"e+");
101 fastSimulationPhysics->ActivateFastSimulation(
"gamma");
102 physicsList->RegisterPhysics(fastSimulationPhysics);
104 G4EmParameters::Instance()->SetVerbose(0);
105 runManager->SetUserInitialization(physicsList);
106 G4HadronicProcessStore::Instance()->SetVerbose(0);
116 G4cout <<
"Instantiating Visualization Manager......." << G4endl;
118 visManager->Initialize();
119 G4UImanager* UImanager = G4UImanager::GetUIpointer();
121 if(useInteractiveMode)
124 UImanager->ApplyCommand(
"/control/execute vis.mac");
130 G4String command =
"/control/execute ";
131 UImanager->ApplyCommand(command + batchMacroName);