64int main(
int argc,
char** argv)
75 if ( argc == 2 ) macro = argv[1];
78 for ( G4int i=1; i<argc; i=i+2 )
80 if (
G4String(argv[i]) ==
"-m" ) macro = argv[i+1];
81 else if (
G4String(argv[i]) ==
"-b" ) onOffBiasing = argv[i+1];
90 if ( onOffBiasing ==
"" ) onOffBiasing =
"on";
99 auto* runManager = G4RunManagerFactory::CreateRunManager();
100 runManager->SetNumberOfThreads(4);
111 detector->RegisterParallelWorld( parallelWorld );
112 runManager->SetUserInitialization(detector);
118 biasingPhysics->BeVerbose();
119 if ( onOffBiasing ==
"on" )
124 biasingPhysics->NonPhysicsBias(
"neutron");
126 biasingPhysics->AddParallelGeometry(
"neutron",
"parallelWorldForSlices");
127 physicsList->RegisterPhysics(biasingPhysics);
128 G4cout <<
" ********************************************************* "
130 G4cout <<
" ********** processes are wrapped for biasing ************ "
132 G4cout <<
" ********************************************************* "
137 G4cout <<
" ************************************************* " << G4endl;
138 G4cout <<
" ********** processes are not wrapped ************ " << G4endl;
139 G4cout <<
" ************************************************* " << G4endl;
141 runManager->SetUserInitialization(physicsList);
147 runManager->Initialize();
152 visManager->Initialize();
155 G4UImanager* UImanager = G4UImanager::GetUIpointer();
159 G4String command =
"/control/execute ";
160 UImanager->ApplyCommand(command+macro);
164 UImanager->ApplyCommand(
"/control/execute vis.mac");