16 optMap[
"BEAM_P"].args =
"e-, 11*GeV, 0*deg, 0*deg";
17 optMap[
"BEAM_P"].help =
"Beam particle, momentum, angles (in respect of z-axis). \n";
18 optMap[
"BEAM_P"].help +=
" Example: -BEAM_P=\"e-, 6*GeV, 15*deg, 20*deg\" sets 6 GeV electrons 15 degrees in theta, 20 degrees in phi. \n";
19 optMap[
"BEAM_P"].help +=
" Use -BEAM_P=\"show_all\" to print the list of G4 supported particles.\n";
20 optMap[
"BEAM_P"].name =
"Primary particle, Energy, Theta, Phi";
22 optMap[
"BEAM_P"].ctgr =
"generator";
24 optMap[
"SPREAD_P"].args =
"0*GeV, 0*deg, 0*deg";
25 optMap[
"SPREAD_P"].help =
"Spread Primary Particle energy and angles (in respect of z-axis). \n";
26 optMap[
"SPREAD_P"].help +=
" Example: -SPREAD_P=\"0*GeV, 10*deg, 20*deg\" spreads 10 degrees in theta, 20 degrees in phi. \n";
27 optMap[
"SPREAD_P"].help +=
" If the word flat is added to the option, theta is flat instead of cos(theta). \n";
28 optMap[
"SPREAD_P"].name =
"delta_Energy, delta_Theta, delta_phi";
29 optMap[
"SPREAD_P"].type = 1;
30 optMap[
"SPREAD_P"].ctgr =
"generator";
32 optMap[
"ALIGN_ZAXIS"].args =
"no";
33 optMap[
"ALIGN_ZAXIS"].help =
"Align z axis to a custom direction. Options:\n";
34 optMap[
"ALIGN_ZAXIS"].help +=
" - \"beamp\" aligns z axis to the beam directions specified by BEAM_P.\n";
35 optMap[
"ALIGN_ZAXIS"].help +=
" - \"custom, theta*unit, phi*unit\" aligns z axis to a custom direction, changes BEAM_P reference frame.";
36 optMap[
"ALIGN_ZAXIS"].name =
"Align z axis to a custom direction.";
37 optMap[
"ALIGN_ZAXIS"].type = 1;
38 optMap[
"ALIGN_ZAXIS"].ctgr =
"generator";
40 optMap[
"BEAM_V"].args =
"(0, 0, 0)cm";
41 optMap[
"BEAM_V"].help =
"Primary Particle Vertex. Example: -BEAM_V=\"(0, 0, -20)cm\". ";
42 optMap[
"BEAM_V"].name =
"Primary Particle Vertex";
44 optMap[
"BEAM_V"].ctgr =
"generator";
46 optMap[
"SPREAD_V"].args =
"(0, 0)cm";
47 optMap[
"SPREAD_V"].help =
"Spread Primary Particle Radius, Z position. Example: -SPREAD_V=\"(0.1, 10)cm\". ";
48 optMap[
"SPREAD_V"].name =
"Primary Particle Vertex Spread";
49 optMap[
"SPREAD_V"].type = 1;
50 optMap[
"SPREAD_V"].ctgr =
"generator";
52 optMap[
"POLAR"].args =
"100, 0*deg, 0*deg";
53 optMap[
"POLAR"].help =
"Primary Particle polarization percentage and angles (in respect of z-axis). \n";
54 optMap[
"POLAR"].help +=
" Example: -POLAR=\"90, 90*deg, 270*deg\" sets 90% polarization 90 degrees in theta, 270 degrees in phi. \n";
55 optMap[
"POLAR"].help +=
" Use -POLAR=\"show_all\" to print the list of G4 supported particles.\n";
56 optMap[
"POLAR"].name =
"Primary Particle polarization in %, Theta, Phi";
58 optMap[
"POLAR"].ctgr =
"generator";
61 optMap[
"N"].help =
"Number of events to be simulated.";
62 optMap[
"N"].name =
"Number of events to be simulated";
64 optMap[
"N"].ctgr =
"generator";
67 optMap[
"EVTN"].help =
"Starting Event Number";
68 optMap[
"EVTN"].name =
"Starting Event Number";
70 optMap[
"EVTN"].ctgr =
"generator";
73 optMap[
"INPUT_GEN_FILE"].args =
"gemc_internal";
74 optMap[
"INPUT_GEN_FILE"].help =
"Generator Input. Current availables file formats:\n";
75 optMap[
"INPUT_GEN_FILE"].help +=
" LUND. \n";
76 optMap[
"INPUT_GEN_FILE"].help +=
" example: -INPUT_GEN_FILE=\"LUND, input.dat\" or -INPUT_GEN_FILE=\"StdHEP, darkphoton.stdhep\" \n";
77 optMap[
"INPUT_GEN_FILE"].name =
"Generator Input File";
78 optMap[
"INPUT_GEN_FILE"].type = 1;
79 optMap[
"INPUT_GEN_FILE"].ctgr =
"generator";
81 optMap[
"MERGE_LUND_BG"].args =
"no";
82 optMap[
"MERGE_LUND_BG"].help =
"LUND Input file to merge background events\n";
83 optMap[
"MERGE_LUND_BG"].help +=
" example: -MERGE_LUND_BG=\"background.dat\" \n";
84 optMap[
"MERGE_LUND_BG"].name =
"LUND Input file to merge background events";
85 optMap[
"MERGE_LUND_BG"].type = 1;
86 optMap[
"MERGE_LUND_BG"].ctgr =
"generator";
91 optMap[
"NGENP"].help =
"Max Number of Generated Particles to save in the Output.";
92 optMap[
"NGENP"].name =
"Max Number of Generated Particles to save in the Output";
94 optMap[
"NGENP"].ctgr =
"generator";
96 optMap[
"STEER_BEAM"].arg = 0;
97 optMap[
"STEER_BEAM"].type = 0;
98 optMap[
"STEER_BEAM"].ctgr =
"generator";
99 optMap[
"STEER_BEAM"].name =
"STEER_BEAM";
100 optMap[
"STEER_BEAM"].help =
"Steer the beam, and translate the vertex, of an StdHep file by the amount specified in Beam_P, Beam_V, Spread_V \n";
102 optMap[
"COSMICRAYS"].args =
"no";
103 optMap[
"COSMICRAYS"].help =
"Cosmic Generator. The model has a (cos(theta), p) probability function:\n\n";
104 optMap[
"COSMICRAYS"].help +=
" a^(b*cos(theta))/(c*p^2). \n\n";
105 optMap[
"COSMICRAYS"].help +=
" The COSMICRAYS option sets the parameters and the momentum range in the last two numbers. \n";
106 optMap[
"COSMICRAYS"].help +=
" By default the parameters are: \n";
107 optMap[
"COSMICRAYS"].help +=
" a = 55.6: \n";
108 optMap[
"COSMICRAYS"].help +=
" b = 1.04: \n";
109 optMap[
"COSMICRAYS"].help +=
" c = 64: \n";
110 optMap[
"COSMICRAYS"].help +=
" One can use the defaults or set the pars with the options: \n";
111 optMap[
"COSMICRAYS"].help +=
" example 1: -COSMICRAYS=\"default, 1, 10\" will use the default parameterization, and momentum range [1-10] GeV \n";
112 optMap[
"COSMICRAYS"].help +=
" example 2: -COSMICRAYS=\"55, 2, 66, 3, 4\" will set the parameterization, and momentum range [3-4] GeV \n";
113 optMap[
"COSMICRAYS"].name =
"Cosmic Generator";
114 optMap[
"COSMICRAYS"].type = 1;
115 optMap[
"COSMICRAYS"].ctgr =
"generator";
117 optMap[
"COSMICAREA"].args =
"0*cm, 0*cm, 0*cm, 50*cm";
118 optMap[
"COSMICAREA"].help =
"Target (x,y,z) location and radius of area of interest";
119 optMap[
"COSMICAREA"].name =
"Target (x,y,z) location and radius of area of interest";
120 optMap[
"COSMICAREA"].type = 1;
121 optMap[
"COSMICAREA"].ctgr =
"generator";
126 optMap[
"LUMI_P"].args =
"e-, 11*GeV, 0*deg, 0*deg";
127 optMap[
"LUMI_P"].help =
"Luminosity Particle, momentum, angles (in respect of z-axis). \n";
128 optMap[
"LUMI_P"].help +=
" Example: -LUMI_P=\"proton, 1*GeV, 25*deg, 2*deg\" sets 1 GeV protons, 25 degrees in theta, 2 degrees in phi. \n";
129 optMap[
"LUMI_P"].help +=
" Use -LUMI_P=\"show_all\" to print the list of G4 supported particles.\n";
130 optMap[
"LUMI_P"].name =
"Luminosity Particle, Energy, Theta, Phi";
131 optMap[
"LUMI_P"].type = 1;
132 optMap[
"LUMI_P"].ctgr =
"luminosity";
134 optMap[
"LUMI_SPREAD_P"].args =
"0*GeV, 0*deg, 0*deg";
135 optMap[
"LUMI_SPREAD_P"].help =
"Spread Luminosity Particle energy and angles (in respect of z-axis). \n";
136 optMap[
"LUMI_SPREAD_P"].help +=
" Example: -LUMI_SPREAD_P=\"0*GeV, 10*deg, 20*deg\" spreads 10 degrees in theta, 20 degrees in phi. \n";
137 optMap[
"LUMI_SPREAD_P"].help +=
" If the word flat is added to the option, theta is flat instead of cos(theta). \n";
138 optMap[
"LUMI_SPREAD_P"].name =
"delta_Energy, delta_Theta, delta_phi";
139 optMap[
"LUMI_SPREAD_P"].type = 1;
140 optMap[
"LUMI_SPREAD_P"].ctgr =
"generator";
142 optMap[
"LUMI_V"].args =
"(0, 0, -20)cm";
143 optMap[
"LUMI_V"].help =
"Luminosity Particle Vertex. Example: -LUMI_V=\"(0, 0, -20)cm\". ";
144 optMap[
"LUMI_V"].name =
"Luminosity Particle Vertex";
145 optMap[
"LUMI_V"].type = 1;
146 optMap[
"LUMI_V"].ctgr =
"luminosity";
148 optMap[
"LUMI_SPREAD_V"].args =
"(0, 0)cm";
149 optMap[
"LUMI_SPREAD_V"].help =
"Spread Luminosity Particle Radius, Z position. Example: -SPREAD_V=\"(0.1, 10)cm\". ";
150 optMap[
"LUMI_SPREAD_V"].name =
"Luminosity Particle Vertex Spread";
151 optMap[
"LUMI_SPREAD_V"].type = 1;
152 optMap[
"LUMI_SPREAD_V"].ctgr =
"luminosity";
154 optMap[
"LUMI_EVENT"].args =
"0, 0*ns, 2*ns";
155 optMap[
"LUMI_EVENT"].help =
"Luminosity Particle Parameters: number of Particles/Event, Time Window, Time Between Bunches\n";
156 optMap[
"LUMI_EVENT"].help +=
" Example: -LUMI_EVENT=\"10000, 120*ns, 2*ns\" simulate 10K particles per event distributed over 120 ns, at 2ns intervals. \n";
157 optMap[
"LUMI_EVENT"].name =
"Luminosity Particle Parameters";
158 optMap[
"LUMI_EVENT"].type = 1;
159 optMap[
"LUMI_EVENT"].ctgr =
"luminosity";
161 optMap[
"LUMI2_P"].args =
"proton, 50*GeV, 175*deg, 180*deg";
162 optMap[
"LUMI2_P"].help =
"Luminosity Particle 2, momentum, angles (in respect of z-axis). \n";
163 optMap[
"LUMI2_P"].help +=
" Example: -LUMI2_P=\"proton, 1*GeV, 25*deg, 2*deg\" sets 1 GeV protons, 25 degrees in theta, 2 degrees in phi. \n";
164 optMap[
"LUMI2_P"].help +=
" Use -LUMI2_P=\"show_all\" to print the list of G4 supported particles.\n";
165 optMap[
"LUMI2_P"].name =
"Luminosity Particle 2, Energy, Theta, Phi";
166 optMap[
"LUMI2_P"].type = 1;
167 optMap[
"LUMI2_P"].ctgr =
"luminosity";
169 optMap[
"LUMI2_SPREAD_P"].args =
"0*GeV, 0*deg, 0*deg";
170 optMap[
"LUMI2_SPREAD_P"].help =
"Spread Luminosity Particle 2 energy and angles (in respect of z-axis). \n";
171 optMap[
"LUMI2_SPREAD_P"].help +=
" Example: -LUMI2_SPREAD_P=\"0*GeV, 10*deg, 20*deg\" spreads 10 degrees in theta, 20 degrees in phi. \n";
172 optMap[
"LUMI2_SPREAD_P"].help +=
" If the word flat is added to the option, theta is flat instead of cos(theta). \n";
173 optMap[
"LUMI2_SPREAD_P"].name =
"delta_Energy, delta_Theta, delta_phi";
174 optMap[
"LUMI2_SPREAD_P"].type = 1;
175 optMap[
"LUMI2_SPREAD_P"].ctgr =
"generator";
177 optMap[
"LUMI2_V"].args =
"(4, 0, 50)cm";
178 optMap[
"LUMI2_V"].help =
"Luminosity Particle 2 Vertex. Example: -LUMI2_V=\"(0, 0, -20)cm\". ";
179 optMap[
"LUMI2_V"].name =
"Luminosity Particle 2 Vertex";
180 optMap[
"LUMI2_V"].type = 1;
181 optMap[
"LUMI2_V"].ctgr =
"luminosity";
183 optMap[
"LUMI2_SPREAD_V"].args =
"(0, 0)cm";
184 optMap[
"LUMI2_SPREAD_V"].help =
"Spread Luminosity Particle 2 Radius, Z position. Example: -SPREAD_V=\"(0.1, 10)cm\". ";
185 optMap[
"LUMI2_SPREAD_V"].name =
"Luminosity Particle Vertex 2 Spread";
186 optMap[
"LUMI2_SPREAD_V"].type = 1;
187 optMap[
"LUMI2_SPREAD_V"].ctgr =
"luminosity";
189 optMap[
"LUMI2_EVENT"].args =
"0, 2*ns";
190 optMap[
"LUMI2_EVENT"].help =
"Luminosity Particle 2 Parameters: number of Particles/Event, Time Between Bunches. The Time Window is specified with the LUMI_EVENT flag\n";
191 optMap[
"LUMI2_EVENT"].help +=
" Example: -LUMI2_EVENT=\"10000, 2*ns\" simulate 10K particles per event at 2ns intervals. \n";
192 optMap[
"LUMI2_EVENT"].name =
"Luminosity Particle 2 Parameters";
193 optMap[
"LUMI2_EVENT"].type = 1;
194 optMap[
"LUMI2_EVENT"].ctgr =
"luminosity";
199 optMap[
"DBHOST"].args =
"no";
200 optMap[
"DBHOST"].help =
"Selects mysql server host name.";
201 optMap[
"DBHOST"].name =
"mysql server host name";
202 optMap[
"DBHOST"].type = 1;
203 optMap[
"DBHOST"].ctgr =
"mysql";
205 optMap[
"DATABASE"].args =
"no";
206 optMap[
"DATABASE"].help =
"Selects mysql Database.";
207 optMap[
"DATABASE"].name =
"mysql Database";
208 optMap[
"DATABASE"].type = 1;
209 optMap[
"DATABASE"].ctgr =
"mysql";
211 optMap[
"DBUSER"].args =
"gemc";
212 optMap[
"DBUSER"].help =
"Select mysql user name";
213 optMap[
"DBUSER"].name =
"Select mysql user name";
214 optMap[
"DBUSER"].type = 1;
215 optMap[
"DBUSER"].ctgr =
"mysql";
217 optMap[
"DBPSWD"].args =
"no";
218 optMap[
"DBPSWD"].help =
"mysql password";
219 optMap[
"DBPSWD"].name =
"Select mysql password";
220 optMap[
"DBPSWD"].type = 1;
221 optMap[
"DBPSWD"].ctgr =
"mysql";
224 optMap[
"DBPORT"].help =
"Select mysql server port.";
225 optMap[
"DBPORT"].name =
"Select mysql server port";
226 optMap[
"DBPORT"].type = 0;
227 optMap[
"DBPORT"].ctgr =
"mysql";
235 optMap[
"G4P_VERBOSITY"].arg = 1;
236 optMap[
"G4P_VERBOSITY"].help =
"Controls Physical Volumes Construction Log Output.";
237 optMap[
"G4P_VERBOSITY"].name =
"Logical Volume Verbosity";
238 optMap[
"G4P_VERBOSITY"].type = 0;
239 optMap[
"G4P_VERBOSITY"].ctgr =
"verbosity";
241 optMap[
"GEO_VERBOSITY"].arg = 1;
242 optMap[
"GEO_VERBOSITY"].help =
"Controls Geometry Construction Log Output.";
243 optMap[
"GEO_VERBOSITY"].name =
"Geometry Verbosity";
244 optMap[
"GEO_VERBOSITY"].type = 0;
245 optMap[
"GEO_VERBOSITY"].ctgr =
"verbosity";
247 optMap[
"GUI_VERBOSITY"].arg = 1;
248 optMap[
"GUI_VERBOSITY"].help =
"Controls GUI Construction Log Output.";
249 optMap[
"GUI_VERBOSITY"].name =
"GUI Verbosity";
250 optMap[
"GUI_VERBOSITY"].type = 0;
251 optMap[
"GUI_VERBOSITY"].ctgr =
"verbosity";
253 optMap[
"HIT_VERBOSITY"].arg = 1;
254 optMap[
"HIT_VERBOSITY"].help =
"Controls Hits Log Output. ";
255 optMap[
"HIT_VERBOSITY"].name =
"Hit Verbosity";
256 optMap[
"HIT_VERBOSITY"].type = 0;
257 optMap[
"HIT_VERBOSITY"].ctgr =
"verbosity";
259 optMap[
"CATCH"].args =
"Maurizio";
260 optMap[
"CATCH"].help =
"Catch volumes matching the given string.";
261 optMap[
"CATCH"].name =
"Volume catcher";
263 optMap[
"CATCH"].ctgr =
"verbosity";
265 optMap[
"FIELD_VERBOSITY"].arg = 0;
266 optMap[
"FIELD_VERBOSITY"].help =
"Controls Electro-Magnetic Fields Log Output:\n";
267 optMap[
"FIELD_VERBOSITY"].help +=
" 0: no log";
268 optMap[
"FIELD_VERBOSITY"].help +=
" 1: field definitions log";
269 optMap[
"FIELD_VERBOSITY"].help +=
" 2: max field details";
270 optMap[
"FIELD_VERBOSITY"].name =
"Electro-Magnetic Fields Verbosity";
271 optMap[
"FIELD_VERBOSITY"].type = 0;
272 optMap[
"FIELD_VERBOSITY"].ctgr =
"verbosity";
274 optMap[
"PRINT_EVENT"].arg = 1000;
275 optMap[
"PRINT_EVENT"].help =
"-PRINT_EVENT=N: Print Event Number every N events.";
276 optMap[
"PRINT_EVENT"].name =
"Print Event Modulus";
277 optMap[
"PRINT_EVENT"].type = 0;
278 optMap[
"PRINT_EVENT"].ctgr =
"verbosity";
280 optMap[
"BANK_VERBOSITY"].arg = 1;
281 optMap[
"BANK_VERBOSITY"].help =
"Controls Bank Log Output.";
282 optMap[
"BANK_VERBOSITY"].name =
"Bank Output Verbosity";
283 optMap[
"BANK_VERBOSITY"].type = 0;
284 optMap[
"BANK_VERBOSITY"].ctgr =
"verbosity";
286 optMap[
"PHY_VERBOSITY"].arg = 1;
287 optMap[
"PHY_VERBOSITY"].help =
"Controls Physics List Log Output.";
288 optMap[
"PHY_VERBOSITY"].name =
"Physics List Verbosity";
289 optMap[
"PHY_VERBOSITY"].type = 0;
290 optMap[
"PHY_VERBOSITY"].ctgr =
"verbosity";
292 optMap[
"GEN_VERBOSITY"].arg = 0;
293 optMap[
"GEN_VERBOSITY"].help =
"Controls Geant4 Generator Verbosity.";
294 optMap[
"GEN_VERBOSITY"].name =
"Geant4 Generator Verbosity";
295 optMap[
"GEN_VERBOSITY"].type = 0;
296 optMap[
"GEN_VERBOSITY"].ctgr =
"verbosity";
298 optMap[
"G4TRACK_VERBOSITY"].arg = 0;
299 optMap[
"G4TRACK_VERBOSITY"].help =
"Controls Geant4 Track Verbosity.";
300 optMap[
"G4TRACK_VERBOSITY"].name =
"Geant4 Track Verbosity";
301 optMap[
"G4TRACK_VERBOSITY"].type = 0;
302 optMap[
"G4TRACK_VERBOSITY"].ctgr =
"verbosity";
304 optMap[
"MATERIAL_VERBOSITY"].arg = 0;
305 optMap[
"MATERIAL_VERBOSITY"].help =
"Controls Geant4 Material Verbosity.";
306 optMap[
"MATERIAL_VERBOSITY"].name =
"Geant4 Material Verbosity";
307 optMap[
"MATERIAL_VERBOSITY"].type = 0;
308 optMap[
"MATERIAL_VERBOSITY"].ctgr =
"verbosity";
310 optMap[
"PARAMETER_VERBOSITY"].arg = 0;
311 optMap[
"PARAMETER_VERBOSITY"].help =
"Controls Parameters Verbosity.";
312 optMap[
"PARAMETER_VERBOSITY"].name =
"Parameters Verbosity";
313 optMap[
"PARAMETER_VERBOSITY"].type = 0;
314 optMap[
"PARAMETER_VERBOSITY"].ctgr =
"verbosity";
316 optMap[
"MIRROR_VERBOSITY"].arg = 0;
317 optMap[
"MIRROR_VERBOSITY"].help =
"Controls Mirrors Verbosity.";
318 optMap[
"MIRROR_VERBOSITY"].name =
"Mirrors Verbosity";
319 optMap[
"MIRROR_VERBOSITY"].type = 0;
320 optMap[
"MIRROR_VERBOSITY"].ctgr =
"verbosity";
328 optMap[
"EXEC_MACRO"].args =
"no";
329 optMap[
"EXEC_MACRO"].help =
"Executes commands in macro file.";
330 optMap[
"EXEC_MACRO"].name =
"Executes commands in macro file";
331 optMap[
"EXEC_MACRO"].type = 1;
332 optMap[
"EXEC_MACRO"].ctgr =
"control";
333 optMap[
"EXEC_MACRO"].repe = 1;
335 optMap[
"CHECK_OVERLAPS"].arg = 0;
336 optMap[
"CHECK_OVERLAPS"].help =
"Checks Overlapping Volumes:\n";
337 optMap[
"CHECK_OVERLAPS"].help +=
" 1. Check Overlaps at Construction Time\n";
338 optMap[
"CHECK_OVERLAPS"].help +=
" 2. Check Overlaps based on standard lines grid setup\n";
339 optMap[
"CHECK_OVERLAPS"].help +=
" 3. Check Overlaps by shooting lines according to a cylindrical pattern\n";
340 optMap[
"CHECK_OVERLAPS"].name =
"Checks Overlapping Volumes";
341 optMap[
"CHECK_OVERLAPS"].type = 0;
342 optMap[
"CHECK_OVERLAPS"].ctgr =
"control";
344 optMap[
"USE_GUI"].arg = 1;
345 optMap[
"USE_GUI"].help =
" GUI switch\n";
346 optMap[
"USE_GUI"].help +=
" 0. Don't use the graphical interface\n";
347 optMap[
"USE_GUI"].help +=
" 1. OGLSQt (OGL, OGLS, OGLSQt)\n";
348 optMap[
"USE_GUI"].help +=
" 2. OGLIQt (OGLI, OGLIQt) \n";
349 optMap[
"USE_GUI"].name =
"QT Gui";
350 optMap[
"USE_GUI"].type = 0;
351 optMap[
"USE_GUI"].ctgr =
"control";
353 optMap[
"geometry"].args=
"620x620";
354 optMap[
"geometry"].help =
"Specify the size of the QT display window. Default '600x600' ";
355 optMap[
"geometry"].name=
"geometry";
356 optMap[
"geometry"].type=1;
357 optMap[
"geometry"].ctgr =
"control";
359 optMap[
"GUIPOS"].args=
"(150, 150)";
360 optMap[
"GUIPOS"].help =
"Specify the position of the QT display window. Default is at 50, 50 ";
361 optMap[
"GUIPOS"].name=
"geometry";
363 optMap[
"GUIPOS"].ctgr =
"control";
365 optMap[
"QTSTYLE"].args =
"no";
366 optMap[
"QTSTYLE"].name =
"Sets the GUI Style";
367 optMap[
"QTSTYLE"].help =
"Sets the GUI Style. Available options: \n";
368 optMap[
"QTSTYLE"].help +=
" - QCleanlooksStyle \n";
369 optMap[
"QTSTYLE"].help +=
" - QMacStyle \n";
370 optMap[
"QTSTYLE"].help +=
" - QPlastiqueStyle \n";
371 optMap[
"QTSTYLE"].help +=
" - QWindowsStyle \n";
372 optMap[
"QTSTYLE"].help +=
" - QMotifStyle";
373 optMap[
"QTSTYLE"].type = 1;
374 optMap[
"QTSTYLE"].ctgr =
"control";
376 optMap[
"RANDOM"].args =
"TIME";
377 optMap[
"RANDOM"].help =
"Random Engine Initialization. The argument (seed) can be an integer or the string TIME.";
378 optMap[
"RANDOM"].name =
"Random Engine Initialization";
379 optMap[
"RANDOM"].type = 1;
380 optMap[
"RANDOM"].ctgr =
"control";
382 optMap[
"gcard"].args =
"no";
383 optMap[
"gcard"].help =
"gemc card file.";
384 optMap[
"gcard"].name =
"gemc card file";
386 optMap[
"gcard"].ctgr =
"control";
389 optMap[
"EVN"].help =
"Initial Event Number.";
390 optMap[
"EVN"].name =
"Initial Event Number";
392 optMap[
"EVN"].ctgr =
"control";
394 optMap[
"ENERGY_CUT"].arg = -1.;
395 optMap[
"ENERGY_CUT"].help =
"Set an energy cut in MeV below which no particle will be tracked further. -1. turns this off.";
396 optMap[
"ENERGY_CUT"].name =
"Tracking Energy cut (in MeV)";
397 optMap[
"ENERGY_CUT"].type = 0;
398 optMap[
"ENERGY_CUT"].ctgr =
"control";
400 optMap[
"MAX_X_POS"].arg = 20000.;
401 optMap[
"MAX_X_POS"].help =
"Max X Position in millimeters. Beyond this the track will be killed";
402 optMap[
"MAX_X_POS"].name =
"Max X Position in millimeters. Beyond this the track will be killed.";
403 optMap[
"MAX_X_POS"].type = 0;
404 optMap[
"MAX_X_POS"].ctgr =
"control";
406 optMap[
"MAX_Y_POS"].arg = 20000.;
407 optMap[
"MAX_Y_POS"].help =
"Max Y Position in millimeters. Beyond this the track will be killed";
408 optMap[
"MAX_Y_POS"].name =
"Max Y Position in millimeters. Beyond this the track will be killed.";
409 optMap[
"MAX_Y_POS"].type = 0;
410 optMap[
"MAX_Y_POS"].ctgr =
"control";
412 optMap[
"MAX_Z_POS"].arg = 20000.;
413 optMap[
"MAX_Z_POS"].help =
"Max Z Position in millimeters. Beyond this the track will be killed";
414 optMap[
"MAX_Z_POS"].name =
"Max Z Position in millimeters. Beyond this the track will be killed.";
415 optMap[
"MAX_Z_POS"].type = 0;
416 optMap[
"MAX_Z_POS"].ctgr =
"control";
419 optMap[
"DAWN_N"].name =
"Number of events to be displayed with the DAWN driver (also activate the DAWN driver)";
420 optMap[
"DAWN_N"].help =
"Number of events to be displayed with the DAWN driver (also activate the DAWN driver).";
421 optMap[
"DAWN_N"].type = 0;
422 optMap[
"DAWN_N"].ctgr =
"control";
424 optMap[
"HIT_PROCESS_LIST"].args =
"clas12";
425 optMap[
"HIT_PROCESS_LIST"].name =
"Registers Hit Process Routines.";
426 optMap[
"HIT_PROCESS_LIST"].help =
"Registers Hit Process Routines. Can register multiple experiments, separated by space, e.v. \"clas12 aprime\"\n";
427 optMap[
"HIT_PROCESS_LIST"].help +=
" clas12. CLAS12 hit process routines (default)\n";
428 optMap[
"HIT_PROCESS_LIST"].help +=
" aprime. aprime hit process routines\n";
429 optMap[
"HIT_PROCESS_LIST"].help +=
" gluex. GlueX hit process routines\n";
430 optMap[
"HIT_PROCESS_LIST"].type = 1;
431 optMap[
"HIT_PROCESS_LIST"].ctgr =
"control";
433 optMap[
"SAVE_ALL_MOTHERS"].arg = 0;
434 optMap[
"SAVE_ALL_MOTHERS"].name =
"Set to 1 to save mother vertex and pid infos in output. High Memory Usage";
435 optMap[
"SAVE_ALL_MOTHERS"].help =
"Set to 1 to save mother vertex and pid infos in output. High Memory Usage. Default is 0.\n";
436 optMap[
"SAVE_ALL_MOTHERS"].help +=
"Set to 2 to save in LUND format particles that generate hits (unless mother also generate hits)\n";
437 optMap[
"SAVE_ALL_MOTHERS"].help +=
"Set to 3 to save in LUND format particles that generate hits (even if mother also generate hits)\n";
438 optMap[
"SAVE_ALL_MOTHERS"].type = 0;
439 optMap[
"SAVE_ALL_MOTHERS"].ctgr =
"control";
441 optMap[
"HIGH_RES"].arg = 1;
442 optMap[
"HIGH_RES"].name =
"Use High Resolution Graphics";
443 optMap[
"HIGH_RES"].help =
"Use High Resolution Graphics\n";
444 optMap[
"HIGH_RES"].type = 0;
445 optMap[
"HIGH_RES"].ctgr =
"control";
447 optMap[
"RECORD_PASSBY"].arg = 0;
448 optMap[
"RECORD_PASSBY"].name =
"Set to one if you want to save zero energy hits in the output";
449 optMap[
"RECORD_PASSBY"].help =
"Set to one if you want to save zero energy hits in the output. Default is 0.\n";
450 optMap[
"RECORD_PASSBY"].type = 0;
451 optMap[
"RECORD_PASSBY"].ctgr =
"control";
453 optMap[
"RECORD_MIRRORS"].arg = 0;
454 optMap[
"RECORD_MIRRORS"].name =
"Set to one if you want to save mirror hits in the output";
455 optMap[
"RECORD_MIRRORS"].help =
"Set to one if you want to save mirror hits in the output. Default is 0.\n";
456 optMap[
"RECORD_MIRRORS"].type = 0;
457 optMap[
"RECORD_MIRRORS"].ctgr =
"control";
460 optMap[
"RUNNO"].name =
"Run Number. Controls the geometry and calibration parameters";
461 optMap[
"RUNNO"].help =
"Run Number. Controls the geometry and calibration parameters. Default is 1\n";
463 optMap[
"RUNNO"].ctgr =
"control";
465 optMap[
"RUN_WEIGHTS"].args =
"no";
466 optMap[
"RUN_WEIGHTS"].name =
"Simulate events based on run based conditions table (text file)";
467 optMap[
"RUN_WEIGHTS"].help =
"Simulate events based on run based conditions table (text file)\n";
468 optMap[
"RUN_WEIGHTS"].help +=
" The text file must have two columns, run# and weight.\n";
469 optMap[
"RUN_WEIGHTS"].help +=
" For example:\n\n";
470 optMap[
"RUN_WEIGHTS"].help +=
" 11 0.1\n";
471 optMap[
"RUN_WEIGHTS"].help +=
" 12 0.7\n";
472 optMap[
"RUN_WEIGHTS"].help +=
" 13 0.2\n\n";
473 optMap[
"RUN_WEIGHTS"].help +=
" Will simulate 10% of events with run number 11 conditions, 70% run 12 and 20% run 13.\n";
474 optMap[
"RUN_WEIGHTS"].type = 1;
475 optMap[
"RUN_WEIGHTS"].ctgr =
"control";
481 optMap[
"OUTPUT"].args =
"no, output";
482 optMap[
"OUTPUT"].help =
"Type of output, output filename. Supported output: evio, txt. Example: -OUTPUT=\"evio, out.ev\"";
483 optMap[
"OUTPUT"].name =
"Type of output, output filename. ";
484 optMap[
"OUTPUT"].type = 1;
485 optMap[
"OUTPUT"].ctgr =
"output";
488 optMap[
"INTEGRATEDRAW"].args =
"no";
489 optMap[
"INTEGRATEDRAW"].help =
"Activates integrated geant4 raw output for system(s). Example: -INTEGRATEDRAW=\"DC, TOF\"";
490 optMap[
"INTEGRATEDRAW"].name =
"Activates integrated geant4 raw output for system(s)";
491 optMap[
"INTEGRATEDRAW"].type = 1;
492 optMap[
"INTEGRATEDRAW"].ctgr =
"output";
495 optMap[
"INTEGRATEDDGT"].args =
"yes";
496 optMap[
"INTEGRATEDDGT"].help =
"De-activates integrated digitized output for system(s). Example: -INTEGRATEDDGT=\"DC, TOF\"";
497 optMap[
"INTEGRATEDDGT"].name =
"De-activates integrated digitized output for system(s). ";
498 optMap[
"INTEGRATEDDGT"].type = 1;
499 optMap[
"INTEGRATEDRAW"].ctgr =
"output";
502 optMap[
"ALLRAWS"].args =
"no";
503 optMap[
"ALLRAWS"].help =
"Activates step-by-step output for system(s). Example: -ALLRAWS=\"DC, TOF\"";
504 optMap[
"ALLRAWS"].name =
"Activates step-by-step output for system(s). ";
505 optMap[
"ALLRAWS"].type = 1;
506 optMap[
"ALLRAWS"].ctgr =
"output";
509 optMap[
"SIGNALVT"].args =
"no";
510 optMap[
"SIGNALVT"].help =
"Activates voltage (t) output for system(s). Example: -SIGNALVT=\"DC, TOF\"";
511 optMap[
"SIGNALVT"].name =
"Activates voltage (t) output for system(s). ";
512 optMap[
"SIGNALVT"].type = 1;
513 optMap[
"SIGNALVT"].ctgr =
"output";
516 optMap[
"VTRESOLUTION"].arg = 0.1;
517 optMap[
"VTRESOLUTION"].help =
"Voltage versus time resolution, in ns";
518 optMap[
"VTRESOLUTION"].name =
"Voltage versus time resolution, in ns.";
519 optMap[
"VTRESOLUTION"].type = 0;
520 optMap[
"VTRESOLUTION"].ctgr =
"output";
525 optMap[
"TSAMPLING"].args =
"4, 500";
526 optMap[
"TSAMPLING"].help =
"Sampling time of electronics (typically FADC)";
527 optMap[
"TSAMPLING"].name =
"Sampling time of electronics (typically FADC)";
528 optMap[
"TSAMPLING"].type = 1;
529 optMap[
"TSAMPLING"].ctgr =
"output";
533 optMap[
"PHYSICS"].args =
"FTFP_BERT";
534 optMap[
"PHYSICS"].help =
" Physics List. The lists are modular and can be added together. \n";
535 optMap[
"PHYSICS"].help +=
" For example, a choice could be 'QGSC_BERT + STD + HP + Optical'\n";
536 optMap[
"PHYSICS"].help +=
" Possible Choices:\n";
537 optMap[
"PHYSICS"].help +=
" Hadronic: \n";
538 optMap[
"PHYSICS"].help +=
" - CHIPS\n";
539 optMap[
"PHYSICS"].help +=
" - FTFP_BERT\n";
540 optMap[
"PHYSICS"].help +=
" - FTFP_BERT_TRV\n";
541 optMap[
"PHYSICS"].help +=
" - FTF_BIC\n";
542 optMap[
"PHYSICS"].help +=
" - LHEP\n";
543 optMap[
"PHYSICS"].help +=
" - QGSC_BERT\n";
544 optMap[
"PHYSICS"].help +=
" - QGSP\n";
545 optMap[
"PHYSICS"].help +=
" - QGSP_BERT\n";
546 optMap[
"PHYSICS"].help +=
" - QGSP_BERT_CHIPS\n";
547 optMap[
"PHYSICS"].help +=
" - QGSP_BERT_HP\n";
548 optMap[
"PHYSICS"].help +=
" - QGSP_BIC\n";
549 optMap[
"PHYSICS"].help +=
" - QGSP_BIC_HP\n";
550 optMap[
"PHYSICS"].help +=
" - QGSP_FTFP_BERT\n";
551 optMap[
"PHYSICS"].help +=
" - QGS_BIC\n";
552 optMap[
"PHYSICS"].help +=
" - QGSP_INCLXX\n";
553 optMap[
"PHYSICS"].help +=
" Electromagnetic: \n";
554 optMap[
"PHYSICS"].help +=
" - STD\n";
555 optMap[
"PHYSICS"].help +=
" - EMV\n";
556 optMap[
"PHYSICS"].help +=
" - EMX\n";
557 optMap[
"PHYSICS"].help +=
" - EMY\n";
558 optMap[
"PHYSICS"].help +=
" - EMZ\n";
559 optMap[
"PHYSICS"].help +=
" - LIV\n";
560 optMap[
"PHYSICS"].help +=
" - PEN\n";
561 optMap[
"PHYSICS"].name =
"Choice of Physics List";
562 optMap[
"PHYSICS"].type = 1;
563 optMap[
"PHYSICS"].ctgr =
"physics";
565 optMap[
"HALL_MATERIAL"].args =
"Vacuum";
566 optMap[
"HALL_MATERIAL"].help =
"Composition of the Experimental Hall. \n";
567 optMap[
"HALL_MATERIAL"].help +=
" Air normal simulation\n";
568 optMap[
"HALL_MATERIAL"].help +=
" Air_Opt Simulation with Optical Physics\n";
569 optMap[
"HALL_MATERIAL"].help +=
" Vacuum (default)\n";
570 optMap[
"HALL_MATERIAL"].name =
"Composition of the Experimental Hall";
571 optMap[
"HALL_MATERIAL"].type = 1;
572 optMap[
"HALL_MATERIAL"].ctgr =
"physics";
574 optMap[
"DEFAULT_MATERIAL"].args =
"none";
575 optMap[
"DEFAULT_MATERIAL"].help =
"Default material for missing material field.\n";
576 optMap[
"DEFAULT_MATERIAL"].name =
"Default material for missing material field";
577 optMap[
"DEFAULT_MATERIAL"].type = 1;
578 optMap[
"DEFAULT_MATERIAL"].ctgr =
"physics";
580 optMap[
"HALL_FIELD"].args =
"no";
581 optMap[
"HALL_FIELD"].help =
"Magnetic Field of the Hall. \n";
582 optMap[
"HALL_FIELD"].name =
"Magnetic Field of the Hall";
583 optMap[
"HALL_FIELD"].type = 1;
584 optMap[
"HALL_FIELD"].ctgr =
"physics";
586 optMap[
"HALL_DIMENSIONS"].args =
"20*m, 20*m, 20*m";
587 optMap[
"HALL_DIMENSIONS"].help =
"(x,y,z) semi-dimensions of the experimental Hall.\n";
588 optMap[
"HALL_DIMENSIONS"].name =
"(x,y,z) semi-dimensions of the experimental Hall.";
589 optMap[
"HALL_DIMENSIONS"].type = 1;
590 optMap[
"HALL_DIMENSIONS"].ctgr =
"physics";
592 optMap[
"FIELD_DIR"].args =
"env";
593 optMap[
"FIELD_DIR"].help =
"Magnetic Field Maps Location. \n";
594 optMap[
"FIELD_DIR"].name =
"Magnetic Field Maps Location";
595 optMap[
"FIELD_DIR"].type = 1;
596 optMap[
"FIELD_DIR"].ctgr =
"physics";
598 optMap[
"NO_FIELD"].args =
"none";
599 optMap[
"NO_FIELD"].help =
"Sets Magnetic Field of a volume to zero. \"all\" means no magnetic field at all. \n";
600 optMap[
"NO_FIELD"].name =
"Sets Magnetic Field of a volume to zero. \"all\" means no magnetic field at all ";
601 optMap[
"NO_FIELD"].type = 1;
602 optMap[
"NO_FIELD"].ctgr =
"physics";
603 optMap[
"NO_FIELD"].repe = 0;
605 optMap[
"PHYS_VERBOSITY"].arg = 0;
606 optMap[
"PHYS_VERBOSITY"].help =
"Physics List Verbosity";
607 optMap[
"PHYS_VERBOSITY"].name =
"Physics List Verbosity";
608 optMap[
"PHYS_VERBOSITY"].type = 0;
609 optMap[
"PHYS_VERBOSITY"].ctgr =
"physics";
613 optMap[
"MAX_FIELD_STEP"].arg = 0;
614 optMap[
"MAX_FIELD_STEP"].help =
"Sets Maximum Acceptable Step in Magnetic Field (in mm).\n";
615 optMap[
"MAX_FIELD_STEP"].name =
"Sets Maximum Acceptable Step in Magnetic Field (in mm) ";
616 optMap[
"MAX_FIELD_STEP"].type = 0;
617 optMap[
"MAX_FIELD_STEP"].ctgr =
"physics";
619 optMap[
"SCALE_FIELD"].args =
"no, 1";
620 optMap[
"SCALE_FIELD"].help =
"Scales Magnetic Field by a factor.\n";
621 optMap[
"SCALE_FIELD"].help +=
" Usage:\n";
622 optMap[
"SCALE_FIELD"].help +=
" -SCALE_FIELD=\"fieldname, scalefactor\"\n";
623 optMap[
"SCALE_FIELD"].help +=
" Example: -SCALE_FIELD=\"srr-solenoid, 0.5\"\n";
624 optMap[
"SCALE_FIELD"].name =
"Electro-Magnetic Field scale";
625 optMap[
"SCALE_FIELD"].type = 1;
626 optMap[
"SCALE_FIELD"].ctgr =
"physics";
627 optMap[
"SCALE_FIELD"].repe = 1;
629 optMap[
"ACTIVEFIELDS"].args =
"none";
630 optMap[
"ACTIVEFIELDS"].help =
"List of activated fields\n";
631 optMap[
"ACTIVEFIELDS"].name =
"List of activated fields";
632 optMap[
"ACTIVEFIELDS"].type = 1;
633 optMap[
"ACTIVEFIELDS"].ctgr =
"physics";
634 optMap[
"ACTIVEFIELDS"].repe = 1;
636 optMap[
"PRODUCTIONCUT"].arg = 10;
637 optMap[
"PRODUCTIONCUT"].help =
"Production cut for root, in mm\n";
638 optMap[
"PRODUCTIONCUT"].name =
"Production cut for root, in mm";
639 optMap[
"PRODUCTIONCUT"].type = 0;
640 optMap[
"PRODUCTIONCUT"].ctgr =
"physics";
646 optMap[
"DF"].help =
"Selects Detector System and Factory type. \n";
647 optMap[
"DF"].help +=
" Example:\n";
648 optMap[
"DF"].help +=
" -DF=\"CTOF, MYSQL\" selects the MYSQL factory for the detector CTOF\n";
649 optMap[
"DF"].name =
"Detector System and Factory type.";
651 optMap[
"DF"].ctgr =
"general";
virtual void setGoptions()
Function to fill optMap.
map< string, aopt > optMap
Options map.