53int main(
int argc,
char** argv) {
56 auto* runManager = G4RunManagerFactory::CreateRunManager(G4RunManagerType::Default);
61 runManager->SetUserInitialization(
new QBBC(0));
66 G4UImanager* UImanager = G4UImanager::GetUIpointer();
71 char* endptr =
nullptr;
73 long nthreads = std::strtol(argv[2], &endptr, 10);
74 if (errno != 0 || endptr == argv[2] || *endptr !=
'\0' || nthreads <= 0) {
75 std::cerr <<
"exampleB1: invalid nthreads argument '" << argv[2]
76 <<
"' (must be a positive integer)\n";
79 int rc = UImanager->ApplyCommand(G4String(
"/run/numberOfThreads ") + G4String(argv[2]));
81 std::cerr <<
"exampleB1: /run/numberOfThreads command failed (code " << rc <<
")\n";
89 G4String command =
"/control/execute ";
90 G4String fileName = argv[1];
91 exitCode = UImanager->ApplyCommand(command + fileName);
94 exitCode = UImanager->ApplyCommand(
"/run/initialize");
98 return exitCode != 0 ? 1 : 0;