GEMC  2.3
Geant4 Monte-Carlo Framework
run_control.cc
Go to the documentation of this file.
1 // G4 headers
2 #include "G4ParticleTable.hh"
3 
4 // Qt headers
5 #include <QtWidgets>
6 
7 // gemc headers
8 #include "detector.h"
9 #include "run_control.h"
10 #include "string_utilities.h"
11 
12 // C++ headers
13 #include <ctime>
14 
16 {
17  gemcOpt = Opts;
18  verbosity = gemcOpt->optMap["LOG_VERBOSITY"].arg ;
19 
20 
21  pbeamtab = new particleTab(this, gemcOpt, "Primary");
22  lbeamtab = new particleTab(this, gemcOpt, "Lumi1");
23  lbeamtab2 = new particleTab(this, gemcOpt, "Lumi2");
24 
25 
26  QTabWidget* BeamType = new QTabWidget;
27  BeamType->addTab(pbeamtab, tr("Generator"));
28  BeamType->addTab(lbeamtab, tr("Beam 1"));
29  BeamType->addTab(lbeamtab2, tr("Beam 2"));
30 
31  BeamType->setStyleSheet(QString("QTabBar::tab:selected { background-color: rgb(124, 164, 210); } "));
32 
33  QVBoxLayout *mainLayout = new QVBoxLayout;
34  mainLayout->addWidget(BeamType);
35  setLayout(mainLayout);
36 
37  // Momentum
38  pbeamtab->momControl->set_momentum(gemcOpt->optMap["BEAM_P"].args);
39  pbeamtab->momControl->set_rmomentum(gemcOpt->optMap["SPREAD_P"].args);
40 
41  lbeamtab->momControl->set_momentum(gemcOpt->optMap["LUMI_P"].args);
42  lbeamtab->momControl->set_rmomentum(gemcOpt->optMap["LUMI_SPREAD_P"].args);
43 
44  lbeamtab2->momControl->set_momentum(gemcOpt->optMap["LUMI2_P"].args);
45  lbeamtab2->momControl->set_rmomentum(gemcOpt->optMap["LUMI2_SPREAD_P"].args);
46 
47 
48  // vertex
49  pbeamtab->vtxControl->set_vertex(gemcOpt->optMap["BEAM_V"].args);
50  pbeamtab->vtxControl->set_rvertex(gemcOpt->optMap["SPREAD_V"].args);
51 
52  lbeamtab->vtxControl->set_vertex(gemcOpt->optMap["LUMI_V"].args);
53  lbeamtab->vtxControl->set_rvertex(gemcOpt->optMap["LUMI_SPREAD_V"].args);
54 
55  lbeamtab2->vtxControl->set_vertex(gemcOpt->optMap["LUMI2_V"].args);
56  lbeamtab2->vtxControl->set_rvertex(gemcOpt->optMap["LUMI2_SPREAD_V"].args);
57 
58 }
59 
61 {
62  string hd_msg = gemcOpt->optMap["LOG_MSG"].args ;
63 
64  if(verbosity>2)
65  cout << hd_msg << " Run Control Widget Deleted." << endl;
66 }
67 
68 
69 
71 {
72  // Momentum
73  gemcOpt->optMap["BEAM_P"].args = pbeamtab->momControl->get_momentum(verbosity);
74  gemcOpt->optMap["SPREAD_P"].args = pbeamtab->momControl->get_rmomentum(verbosity);
75 
76  gemcOpt->optMap["LUMI_P"].args = lbeamtab->momControl->get_momentum(verbosity);
77  gemcOpt->optMap["LUMI_SPREAD_P"].args = lbeamtab->momControl->get_rmomentum(verbosity);
78 
79  gemcOpt->optMap["LUMI2_P"].args = lbeamtab2->momControl->get_momentum(verbosity);
80  gemcOpt->optMap["LUMI2_SPREAD_P"].args = lbeamtab2->momControl->get_rmomentum(verbosity);
81 
82 
83  // Vertex
84  gemcOpt->optMap["BEAM_V"].args = pbeamtab->vtxControl->get_vertex(verbosity);
85  gemcOpt->optMap["SPREAD_V"].args = pbeamtab->vtxControl->get_rvertex(verbosity);
86 
87  gemcOpt->optMap["LUMI_V"].args = lbeamtab->vtxControl->get_vertex(verbosity);
88  gemcOpt->optMap["LUMI_SPREAD_V"].args = lbeamtab->vtxControl->get_rvertex(verbosity);
89 
90  gemcOpt->optMap["LUMI2_V"].args = lbeamtab2->vtxControl->get_vertex(verbosity);
91  gemcOpt->optMap["LUMI2_SPREAD_V"].args = lbeamtab2->vtxControl->get_rvertex(verbosity);
92 
93 
94  // Luminosity Event
95  gemcOpt->optMap["LUMI_EVENT"].args = lbeamtab->get_lumi_event(0);
96  gemcOpt->optMap["LUMI2_EVENT"].args = lbeamtab2->get_lumi_event(lbeamtab->get_time_window());
97 
98 }
99 
100 
101 
102 
103 
104 
105 
106 
107 
108 
109 
110 
111 
112 
113 
goptions * gemcOpt
Definition: run_control.h:33
void set_rvertex(string vtxOption)
Definition: vtxControls.cc:153
double get_time_window()
Definition: primaryTab.cc:152
string get_momentum(double verbosity)
Definition: momControls.cc:146
string get_rvertex(double verbosity)
Definition: vtxControls.cc:138
momControls * momControl
Definition: primaryTab.h:50
map< string, aopt > optMap
Options map.
Definition: options.h:75
string get_lumi_event(double)
Definition: primaryTab.cc:137
void set_vertex(string vtxOption)
Definition: vtxControls.cc:118
string get_rmomentum(double verbosity)
Definition: momControls.cc:191
void changePars()
Definition: run_control.cc:70
run_control(QWidget *parent, goptions *)
Definition: run_control.cc:15
vtxControls * vtxControl
Definition: primaryTab.h:51
void set_rmomentum(string momOption)
Definition: momControls.cc:210
void set_momentum(string momOption)
Definition: momControls.cc:168
string get_vertex(double verbosity)
Definition: vtxControls.cc:101