58int main(
int argc,
char** argv)
67 char* part = std::getenv(
"DICOM_PARTIAL_PARAM");
68 G4bool bPartial = (part &&
G4String(part) ==
"1") ?
true :
false;
71 CLHEP::HepRandom::setTheSeed(G4long(24534575684783));
73 seeds[0] = G4long(534524575674523);
74 seeds[1] = G4long(526345623452457);
75 CLHEP::HepRandom::setTheSeeds(seeds);
78 G4int nthreads = G4GetEnv<G4int>(
"DICOM_NTHREADS", G4Thread::hardware_concurrency());
79 auto* runManager = G4RunManagerFactory::CreateRunManager();
80 runManager->SetNumberOfThreads(nthreads);
82 G4cout <<
"\n\n\tDICOM2 running with "
83 << runManager->GetNumberOfThreads()
84 <<
" threads\n\n" << G4endl;
98 char* env_inpfile = std::getenv(
"DICOM_INPUT_FILE");
100 inpfile = env_inpfile;
111 char* nest = std::getenv(
"DICOM_NESTED_PARAM" );
112 if( nest &&
G4String(nest) ==
"1" ) {
120 runManager->SetUserInitialization(theGeometry);
126 phys->SetDefaultCutValue(0.5*CLHEP::mm);
127 runManager->SetUserInitialization(phys);
132 runManager->Initialize();
141 visManager->Initialize();
144 G4UImanager* UImanager = G4UImanager::GetUIpointer();
153 G4String command =
"/control/execute ";
155 UImanager->ApplyCommand(command+fileName);
159 UImanager->ApplyCommand(
"/control/execute vis.mac");
181 G4cout <<
"\n[" << argv[0] <<
"] Primary execution time: " << t <<
"\n"