GEMC  1.8
Geant4 Monte-Carlo Framework
run_control.h
Go to the documentation of this file.
1 #ifndef run_control_H
2 #define run_control_H 1
3 
4 // %%%%%%%%%%
5 // Qt headers
6 // %%%%%%%%%%
7 #include <QWidget>
8 #include <QSlider>
9 #include <QLabel>
10 #include <QComboBox>
11 
12 
13 // %%%%%%%%%%%%%
14 // gemc headers
15 // %%%%%%%%%%%%%
16 #include "usage.h"
17 
18 // %%%%%%%%%%
19 // G4 headers
20 // %%%%%%%%%%
21 #include "G4UImanager.hh"
22 
23 // %%%%%%%%%%%
24 // C++ headers
25 // %%%%%%%%%%%
26 #include <string>
27 #include <map>
28 using namespace std;
29 
30 
31 // %%%%%%%%%%%%%%%%
32 // Class definition
33 // %%%%%%%%%%%%%%%%
34 
35 
36 class PrimaryBeamTab : public QWidget
37 {
38  Q_OBJECT
39 
40  public:
41  PrimaryBeamTab(QWidget *parent = 0, gemc_opts* = 0);
42 
43  QComboBox *beam_particle;
44  QSlider *momentum_slider;
45  QSlider *rmomentum_slider;
46  QSlider *theta_slider;
47  QSlider *rtheta_slider;
48  QSlider *phi_slider;
49  QSlider *rphi_slider;
50 
51  QSlider *vx_slider;
52  QSlider *vy_slider;
53  QSlider *vz_slider;
54  QSlider *rv_slider;
55  QSlider *rvz_slider;
56 
57  QLabel *momentum_ro;
58  QLabel *theta_ro;
59  QLabel *phi_ro;
60 
61  QLabel *vxyz_ro;
62  QLabel *vdr_ro;
63  QLabel *vdz_ro;
64 
65 };
66 
67 
68 class LuminosityBeamTab : public QWidget
69 {
70  Q_OBJECT
71 
72  public:
73  LuminosityBeamTab(QWidget *parent = 0, gemc_opts* = 0, int type = 1);
74 
75  QLineEdit *nevents;
76  QLineEdit *timewindow;
77  QLineEdit *time_bunch;
78 
79  QComboBox *beam_particle;
80  QSlider *momentum_slider;
81  QSlider *theta_slider;
82  QSlider *phi_slider;
83 
84  QSlider *vx_slider;
85  QSlider *vy_slider;
86  QSlider *vz_slider;
87 
88  QLabel *momentum_ro;
89  QLabel *theta_ro;
90  QLabel *phi_ro;
91 
92  QLabel *vxyz_ro;
93 };
94 
95 
96 
97 class run_control : public QWidget
98  {
99  // metaobject required for non-qt slots
100  Q_OBJECT
101 
102  public:
103  run_control(QWidget *parent, gemc_opts*);
104  ~run_control();
105 
107  G4UImanager *UImanager;
108 
109 
110  private:
111  PrimaryBeamTab *pbeamtab;
112  LuminosityBeamTab *lbeamtab;
113  LuminosityBeamTab *lbeamtab2;
114  QComboBox *n_units;
115  QComboBox *n_mult;
116  QLabel *nevents;
117  void change_beam_pars();
118 
119 
120  private slots:
121  void beamOn();
122  void beam_every2sec();
123  void set_beam_values();
124  void set_vertex_values();
125  };
126 
127 
128 
129 
130 
131 
132 #endif
QLabel * theta_ro
Definition: run_control.h:89
QLineEdit * time_bunch
Definition: run_control.h:77
QSlider * theta_slider
Definition: run_control.h:81
QLabel * phi_ro
Definition: run_control.h:59
STL namespace.
QSlider * vx_slider
Definition: run_control.h:51
QSlider * phi_slider
Definition: run_control.h:82
QSlider * vx_slider
Definition: run_control.h:84
QSlider * phi_slider
Definition: run_control.h:48
QSlider * rvz_slider
Definition: run_control.h:55
QLineEdit * timewindow
Definition: run_control.h:76
QLabel * vxyz_ro
Definition: run_control.h:92
QLabel * vdr_ro
Definition: run_control.h:62
QLabel * theta_ro
Definition: run_control.h:58
QSlider * vz_slider
Definition: run_control.h:86
QLabel * momentum_ro
Definition: run_control.h:57
QComboBox * beam_particle
Definition: run_control.h:43
QSlider * rphi_slider
Definition: run_control.h:49
QSlider * rmomentum_slider
Definition: run_control.h:45
QLabel * momentum_ro
Definition: run_control.h:88
QSlider * momentum_slider
Definition: run_control.h:44
gemc_opts * gemcOpt
Definition: run_control.h:106
QLabel * vdz_ro
Definition: run_control.h:63
QComboBox * beam_particle
Definition: run_control.h:79
QSlider * theta_slider
Definition: run_control.h:46
QSlider * momentum_slider
Definition: run_control.h:80
QSlider * vz_slider
Definition: run_control.h:53
QLabel * vxyz_ro
Definition: run_control.h:61
QSlider * rv_slider
Definition: run_control.h:54
QSlider * rtheta_slider
Definition: run_control.h:47
G4UImanager * UImanager
Definition: run_control.h:107
QLineEdit * nevents
Definition: run_control.h:75
QSlider * vy_slider
Definition: run_control.h:52
QSlider * vy_slider
Definition: run_control.h:85