GEMC  2.2
Geant4 Monte-Carlo Framework
camera_control.h
Go to the documentation of this file.
1 #ifndef camera_control_H
2 #define camera_control_H 1
3 
4 // Qt headers
5 #include <QtWidgets>
6 
7 // gemc headers
8 #include "options.h"
9 
10 // G4 headers
11 #include "G4UImanager.hh"
12 
13 // C++ headers
14 #include <string>
15 #include <map>
16 using namespace std;
17 
18 
19 // Class definition
20 class camera_control : public QWidget
21 {
22  // metaobject required for non-qt slots
23  Q_OBJECT
24 
25  public:
26  camera_control(QWidget *parent, goptions*);
27  ~camera_control();
28 
30  G4UImanager *UImanager;
31 
32  private:
33  int theta_hall, phi_hall;
34 
35  QSlider *theta_slider;
36  QSlider *phi_slider;
37  vector<string> ThetaSet;
38  vector<string> PhiSet;
39 
40  QSlider *explodeSlider;
41 
42  QComboBox *moveCombo;
43  QComboBox *detvCombo;
44  QComboBox *projCombo;
45 
46  QComboBox *aliasing;
47  QComboBox *sides_per_circle;
48  QComboBox *auxiliary;
49 
50 
51  // slices
52  QLineEdit *sliceXEdit, *sliceYEdit, *sliceZEdit;
53  QCheckBox *sliceXActi, *sliceYActi, *sliceZActi;
54  QCheckBox *sliceXInve, *sliceYInve, *sliceZInve;
55 
56  private slots:
57  void change_theta(int);
58  void change_theta_s(int);
59  void set_theta(int);
60  void change_phi(int);
61  void change_phi_s(int);
62  void set_phi(int);
63  void update_angles();
64 
65  void slice();
66  void clearSlice();
67 
68  void explode(int);
69 
70  void set_perspective(int);
71  void switch_antialiasing(int);
72  void switch_auxiliary_edges(int);
73  void switch_sides_per_circle(int);
74 
75 };
76 
77 #endif
78 
79 
80 
81 
82 
83 
84 
85 
G4UImanager * UImanager
STL namespace.
goptions * gemcOpt