82int main(
int argc,
char* argv[])
85 unsigned int numberOfThreads = 1;
88 G4String outputFileName =
"FF_Neutron_HP.out";
92 G4ParticleHPManager::GetInstance()->SetProduceFissionFragments(
true );
94 char Force[] =
"G4FORCENUMBEROFTHREADS";
95 if(std::getenv(Force) != NULL) {
96 char doNotForce[]=
"G4FORCENUMBEROFTHREADS=1";
101 G4cout <<
"#### Starting: " << argv[0] <<
" ####" << G4endl;
109 if(argv[i][0] !=
'-')
111 G4cerr << G4endl <<
"!!!!" << G4endl;
112 G4cerr <<
"!!!! Error in argument " << i + 1 << G4endl;
113 G4cerr <<
"!!!! A command-line option was expected, but \""
114 << argv[i] <<
"\" was found" << G4endl;
115 G4cerr <<
"!!!! " << argv[0] <<
" will now terminate" << G4endl;
116 G4cerr <<
"!!!!" << G4endl << G4endl;
124 G4cerr << G4endl <<
"!!!!" << G4endl;
125 G4cerr <<
"!!!! Error in argument " << i + 2 << G4endl;
126 G4cerr <<
"!!!! An argument was expected, but \"" << argv[i + 1]
127 <<
"\" was found" << G4endl;
128 G4cerr <<
"!!!! Ensure that a space is used to separate the "
129 "option and argument" << G4endl;
130 G4cerr <<
"!!!! " << argv[0] <<
" will now terminate" << G4endl;
131 G4cerr <<
"!!!!" << G4endl << G4endl;
139 scriptFileName =
"/control/execute ";
140 scriptFileName.append(argv[i + 1]);
144 outputFileName = argv[i + 1];
148 result = sscanf(argv[i + 1],
153 G4cerr << G4endl <<
"!!!!" << G4endl;
154 G4cerr <<
"!!!! Error in argument " << i + 2 << G4endl;
155 G4cerr <<
"!!!! An positive number was expected, but \""
156 << argv[i + 1] <<
"\" was found" << G4endl;
157 G4cerr <<
"!!!! " << argv[0] <<
" will now terminate"
159 G4cerr <<
"!!!!" << G4endl << G4endl;
166 G4cout << G4endl <<
"!!!!" << G4endl;
167 G4cout <<
"!!!! Warning for command " << i + 1 << G4endl;
168 G4cout <<
"!!!! \"" << argv[i] <<
"\" is not a valid command"
170 G4cout <<
"!!!! " << argv[0] <<
" will ignore \"" << argv[i]
171 <<
"\" and \"" << argv[i + 1] <<
"\"" << G4endl;
172 G4cout <<
"!!!!" << G4endl << G4endl;
178 if (scriptFileName.length() == 0) {
185 const G4long seed = 62737819;
187 G4cout <<
"MT RNG Seed: " << seed << G4endl;
192 auto* runManager = G4RunManagerFactory::CreateRunManager();
193 runManager->SetNumberOfThreads(numberOfThreads);
194 G4cout <<
" Threads requested: " << numberOfThreads << G4endl;
195 G4cout <<
" Threads started: " << runManager->GetNumberOfThreads() << G4endl;
199 runManager->SetUserInitialization(
new QGSP_BIC_HP());
203 runManager->Initialize();
207 visManager->Initialize();
210 UIManager = G4UImanager::GetUIpointer();
215 UIManager->ApplyCommand(scriptFileName);