61int main(
int argc,
char* argv[]) {
65 auto timeout = gopts->getScalarDouble(
"tt");
67 log->info(0,
"Starting gtree example...");
70 QApplication* app =
nullptr;
71 QMainWindow* window =
nullptr;
74 auto runManager = G4RunManagerFactory::CreateRunManager(G4RunManagerType::Default);
75 auto physicsList =
new QBBC;
76 runManager->SetUserInitialization(physicsList);
79 auto visManager =
new G4VisExecutive;
80 visManager->Initialize();
82 if (gopts->getSwitch(
"gui")) {
83 log->info(0,
"gtree",
"Running in GUI mode...");
84 app =
new QApplication(argc, argv);
85 window =
new QMainWindow();
86 window->setWindowTitle(QString::fromUtf8(
"gtree example"));
91 runManager->SetUserInitialization(
gdetector);
92 runManager->Initialize();
95 auto g4vmap =
gdetector->get_g4volumes_map();
97 log->info(0,
"gtree",
"Detector construction successful with ", g4vmap.size(),
" volumes.");
99 if (gopts->getSwitch(
"gui")) {
101 auto gtree =
new GTree(gopts, g4vmap, window);
103 window->setCentralWidget(
gtree);
107 QTimer::singleShot(timeout, app, &QCoreApplication::quit);
109 int appResult = QApplication::exec();
124 log->info(0,
"Running gtree in command line mode...");