g4dialog
Loading...
Searching...
No Matches
g4dialog_example.cc
Go to the documentation of this file.
1// geant4
2#include "G4VisExecutive.hh"
3#include "G4RunManagerFactory.hh"
4
5// g4dialog
6#include "g4dialog.h"
7#include "g4dialog_options.h"
8
9// qt
10#include <QApplication>
11#include <QMainWindow>
12#include <QTimer>
13
14int main(int argc, char* argv[]) {
15
16 QApplication app(argc, argv);
17
18 auto gopts =std::make_shared<GOptions>(argc, argv, g4dialog::defineOptions());
19
20 auto log = std::make_shared<GLogger>(gopts, SFUNCTION_NAME, G4DIALOG_LOGGER);
21
22 auto visManager = new G4VisExecutive;
23 visManager->Initialize();
24
25 // main window and controls
26 auto window = new QMainWindow();
27 window->setWindowTitle(QString::fromUtf8("displayUI example"));
28
29 auto g4dialog = new G4Dialog(gopts, window);
30 window->setCentralWidget(g4dialog);
31
32 log->info(0, "g4 dialog example started");
33 int ret = EXIT_SUCCESS;
34
35 if (gopts->getSwitch("gui")) {
36 window->show();
37
38 // --- quit after 0.5 s ---
39 QTimer::singleShot(500, &app, &QCoreApplication::quit); // ⬅️ key line :contentReference[oaicite:0]{index=0}
40
41 ret = QApplication::exec(); // returns when the timer fires
42 }
43
44 delete g4dialog;
45 delete window;
46 delete visManager;
47
48 return ret;
49
50}
int main(int argc, char *argv[])
constexpr const char * G4DIALOG_LOGGER
GOptions defineOptions()