GEMC  2.3
Geant4 Monte-Carlo Framework
gemc_MainGui.h
Go to the documentation of this file.
1 #ifndef gemc_MAINGUI_H
2 #define gemc_MAINGUI_H
3 
4 // Qt headers
5 #include <QtWidgets>
6 
7 // G4 headers
8 #include "G4RunManager.hh"
9 
10 // gemc headers
11 #include "options.h"
12 #include "runControl/run_control.h"
13 #include "camera_control.h"
14 #include "detector_tree.h"
15 #include "infos.h"
16 #include "g4dialog.h"
17 #include "gsignal.h"
18 #include "gtrigger.h"
19 
20 
21 // Class definition
22 
23 class gemcMainWidget : public QWidget
24 {
25  // metaobject required for non-qt slots
26  Q_OBJECT
27 
28  public:
29  gemcMainWidget(goptions*, G4RunManager*, map<string, sensitiveDetector*>, map<string, detector>*, map<string, G4Material*>);
31 
33 
34  G4RunManager *RM;
35 
36  public slots:
37  void changePage(QListWidgetItem *current, QListWidgetItem *previous);
38  void change_background(QListWidgetItem*);
39 
40  private:
41  gsignal *gsig;
42  gtrigger *gtrig;
43  QLineEdit *nEvents;
44  QTimer *gtimer;
45  int playing; // controls cycling event
46 
47  private slots:
48 
49  // we need to delete runManager before quitting the qApp
50  // looks like no need to delete the visManager
51  void gemc_quit(){delete RM; cout << endl << " Arrivederci! " << endl << endl; qApp->quit();}
52  void stopBeam();
53 
54  void beamOn();
55  void beamOnCycle();
56 
57  private:
58  void createIcons();
59 
60  QListWidget *contentsWidget;
61  QStackedWidget *pagesWidget;
62 
63  vector<QListWidgetItem*> buttons;
64  QListWidgetItem* addItem(string text, QPixmap pixmap);
65 
66  QColor i_default;
67  QColor i_hovered;
68 };
69 
70 #endif
71 
72 
73 
gemcMainWidget(goptions *, G4RunManager *, map< string, sensitiveDetector * >, map< string, detector > *, map< string, G4Material * >)
Definition: gemc_MainGui.cc:24
goptions * gemcOpt
Definition: gemc_MainGui.h:32
void change_background(QListWidgetItem *)
G4RunManager * RM
Definition: gemc_MainGui.h:34
void changePage(QListWidgetItem *current, QListWidgetItem *previous)