Geant4-11
G4ShortLivedConstructor.cc
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26//
27//
28//
29// --------------------------------------------------------------
30// GEANT 4 class implementation file
31//
32// Add "rho0" 25 Feb. 2000 H.Kurashige
33// Fix spin/isospin number for quarks 06 Apr. 2001 H.Kurashige
34// update quark mass 11 Oct. 2006 H.Kurashige
35// update meson/baryon masses 11 Oct. 2006 H.Kurashige
36// Added charm and bottom diquarks 09 Oct. 2019 V.Uzhinsky
37
39
40#include "G4SystemOfUnits.hh"
42#include "G4ParticleTable.hh"
44#include "G4VDecayChannel.hh"
45#include "G4DecayTable.hh"
46
48
50{
51}
52
54{
55}
56
57
59{
60 if (!isConstructed){
63 isConstructed = true;
64 }
65}
66
67#include "G4DiQuarks.hh"
68#include "G4Quarks.hh"
69#include "G4Gluons.hh"
71{
72 G4ParticleDefinition* particle;
73
74 // Construct Quraks/Gluons as dynamic object
75 // Arguments for constructor are as follows
76 // name mass width charge
77 // 2*spin parity C-conjugation
78 // 2*Isospin 2*Isospin3 G-parity
79 // type lepton number baryon number PDG encoding
80 // stable lifetime decay table
81
82 // gluon
83 particle = new G4Gluons(
84 "gluon", 0.0*MeV, 0.0*MeV, 0.0*eplus,
85 2, -1, 0,
86 0, 0, 0,
87 "gluons", 0, 0, 21,
88 true, -1.0, NULL);
89 particle->SetAntiPDGEncoding(21);
90 // u-quark
91 particle = new G4Quarks(
92 "u_quark", 2.2*MeV, 0.0*keV, 2./3.*eplus,
93 1, +1, 0,
94 1, +1, 0,
95 "quarks", 0, 0, 2,
96 true, -1.0, NULL);
97 // d-quark
98 particle = new G4Quarks(
99 "d_quark", 4.7*MeV, 0.0*keV, -1./3.*eplus,
100 1, +1, 0,
101 1, -1, 0,
102 "quarks", 0, 0, 1,
103 true, -1.0, NULL);
104 // s-quark
105 particle = new G4Quarks(
106 "s_quark", 96.0*MeV, 0.0*keV, -1./3.*eplus,
107 1, +1, 0,
108 0, 0, 0,
109 "quarks", 0, 0, 3,
110 true, -1.0, NULL);
111 // c-quark
112 particle = new G4Quarks(
113 "c_quark", 1.28*GeV, 0.0*keV, +2./3.*eplus,
114 1, +1, 0,
115 0, 0, 0,
116 "quarks", 0, 0, 4,
117 true, -1.0, NULL);
118 // b-quark
119 particle = new G4Quarks(
120 "b_quark", 4.18*GeV, 0.0*keV, -1./3.*eplus,
121 1, +1, 0,
122 0, 0, 0,
123 "quarks", 0, 0, 5,
124 true, -1.0, NULL);
125 // t-quark
126 particle = new G4Quarks(
127 "t_quark", 173.1*GeV, 1.41*GeV, +2./3.*eplus,
128 1, +1, 0,
129 0, 0, 0,
130 "quarks", 0, 0, 6,
131 true, -1.0, NULL);
132 // anti u-quark
133 particle = new G4Quarks(
134 "anti_u_quark", 2.2*MeV, 0.0*keV, -2./3.*eplus,
135 1, +1, 0,
136 1, -1, 0,
137 "quarks", 0, 0, -2,
138 true, -1.0, NULL);
139 // anti d-quark
140 particle = new G4Quarks(
141 "anti_d_quark", 4.7*MeV, 0.0*keV, 1./3.*eplus,
142 1, +1, 0,
143 1, +1, 0,
144 "quarks", 0, 0, -1,
145 true, -1.0, NULL);
146 // anti s-quark
147 particle = new G4Quarks(
148 "anti_s_quark", 96.0*MeV, 0.0*keV, 1./3.*eplus,
149 1, +1, 0,
150 0, 0, 0,
151 "quarks", 0, 0, -3,
152 true, -1.0, NULL);
153 // anti c-quark
154 particle = new G4Quarks(
155 "anti_c_quark", 1.28*GeV, 0.0*keV, -2./3.*eplus,
156 1, +1, 0,
157 0, 0, 0,
158 "quarks", 0, 0, -4,
159 true, -1.0, NULL);
160 // anti b-quark
161 particle = new G4Quarks(
162 "anti_b_quark", 4.18*GeV, 0.0*keV, 1./3.*eplus,
163 1, +1, 0,
164 0, 0, 0,
165 "quarks", 0, 0, -5,
166 true, -1.0, NULL);
167 // anti t-quark
168 particle = new G4Quarks(
169 "anti_t_quark", 173.1*GeV, 1.41*GeV, -2./3.*eplus,
170 1, +1, 0,
171 0, 0, 0,
172 "quarks", 0, 0, -6,
173 true, -1.0, NULL);
174
175 // uu1-Diquark
176 particle = new G4DiQuarks(
177 "uu1_diquark", 4.6*MeV, 0.0*MeV, 4./3.*eplus,
178 2, +1, 0,
179 2, +2, 0,
180 "diquarks", 0, 0, 2203,
181 true, -1.0, NULL);
182 // ud1-Diquark
183 particle = new G4DiQuarks(
184 "ud1_diquark", 7.0*MeV, 0.0*MeV, 1./3.*eplus,
185 2, +1, 0,
186 2, +0, 0,
187 "diquarks", 0, 0, 2103,
188 true, -1.0, NULL);
189 // dd1-Diquark
190 particle = new G4DiQuarks(
191 "dd1_diquark", 9.6*MeV, 0.0*MeV, -2./3.*eplus,
192 2, +1, 0,
193 2, -2, 0,
194 "diquarks", 0, 0, 1103,
195 true, -1.0, NULL);
196
197 // ud0-Diquark
198 particle = new G4DiQuarks(
199 "ud0_diquark", 7.1*MeV, 0.0*MeV, 1./3.*eplus,
200 0, +1, 0,
201 0, +0, 0,
202 "diquarks", 0, 0, 2101,
203 true, -1.0, NULL);
204
205 // sd1-Diquark
206 particle = new G4DiQuarks(
207 "sd1_diquark", 102.8*MeV, 0.0*MeV, -2./3.*eplus,
208 2, +1, 0,
209 1, -1, 0,
210 "diquarks", 0, 0, 3103,
211 true, -1.0, NULL);
212
213 // su1-Diquark
214 particle = new G4DiQuarks(
215 "su1_diquark", 101.4*MeV, 0.0*MeV, 1./3.*eplus,
216 2, +1, 0,
217 1, +1, 0,
218 "diquarks", 0, 0, 3203,
219 true, -1.0, NULL);
220
221 // sd0-Diquark
222 particle = new G4DiQuarks(
223 "sd0_diquark", 102.0*MeV, 0.0*MeV, -2./3.*eplus,
224 0, +1, 0,
225 1, -1, 0,
226 "diquarks", 0, 0, 3101,
227 true, -1.0, NULL);
228
229 // su0-Diquark
230 particle = new G4DiQuarks(
231 "su0_diquark", 101.4*MeV, 0.0*MeV, 1./3.*eplus,
232 0, +1, 0,
233 1, +1, 0,
234 "diquarks", 0, 0, 3201,
235 true, -1.0, NULL);
236
237 // anti uu1-Diquark
238 particle = new G4DiQuarks(
239 "anti_uu1_diquark", 4.6*MeV, 0.0*MeV, -4./3.*eplus,
240 2, +1, 0,
241 2, -2, 0,
242 "diquarks", 0, 0, -2203,
243 true, -1.0, NULL);
244 // anti ud1-Diquark
245 particle = new G4DiQuarks(
246 "anti_ud1_diquark", 7.0*MeV, 0.0*MeV, -1./3.*eplus,
247 2, +1, 0,
248 2, +0, 0,
249 "diquarks", 0, 0, -2103,
250 true, -1.0, NULL);
251 // anti dd1-Diquark
252 particle = new G4DiQuarks(
253 "anti_dd1_diquark", 9.6*MeV, 0.0*MeV, 2./3.*eplus,
254 2, +1, 0,
255 2, +2, 0,
256 "diquarks", 0, 0, -1103,
257 true, -1.0, NULL);
258
259 // anti ud0-Diquark
260 particle = new G4DiQuarks(
261 "anti_ud0_diquark", 7.1*MeV, 0.0*MeV, -1./3.*eplus,
262 0, +1, 0,
263 0, +0, 0,
264 "diquarks", 0, 0, -2101,
265 true, -1.0, NULL);
266
267 // anti sd1-Diquark
268 particle = new G4DiQuarks(
269 "anti_sd1_diquark", 102.8*MeV, 0.0*MeV, 2./3.*eplus,
270 2, +1, 0,
271 1, +1, 0,
272 "diquarks", 0, 0, -3103,
273 true, -1.0, NULL);
274
275 // anti su1-Diquark
276 particle = new G4DiQuarks(
277 "anti_su1_diquark", 101.4*MeV, 0.0*MeV, -1./3.*eplus,
278 2, +1, 0,
279 1, -1, 0,
280 "diquarks", 0, 0, -3203,
281 true, -1.0, NULL);
282
283 // anti sd0-Diquark
284 particle = new G4DiQuarks(
285 "anti_sd0_diquark", 102.0*MeV, 0.0*MeV, 2./3.*eplus,
286 0, +1, 0,
287 1, +1, 0,
288 "diquarks", 0, 0, -3101,
289 true, -1.0, NULL);
290
291 // anti su0-Diquark
292 particle = new G4DiQuarks(
293 "anti_su0_diquark", 101.4*MeV, 0.0*MeV, -1./3.*eplus,
294 0, +1, 0,
295 1, -1, 0,
296 "diquarks", 0, 0, -3201,
297 true, -1.0, NULL);
298 // ss1-Diquark
299 particle = new G4DiQuarks(
300 "ss1_diquark", 198.0*MeV, 0.0*MeV, -2./3.*eplus,
301 2, +1, 0,
302 0, 0, 0,
303 "diquarks", 0, 0, 3303,
304 true, -1.0, NULL);
305
306 // anti ss1-Diquark
307 particle = new G4DiQuarks(
308 "anti_ss1_diquark", 198.0*MeV, 0.0*MeV, 2./3.*eplus,
309 2, +1, 0,
310 0, 0, 0,
311 "diquarks", 0, 0, -3303,
312 true, -1.0, NULL);
313
314 // ----------- V. Uzhinsky October 2019: Add di-quarks having c and b quarks ----------------
315 // They have to be improved.
316
317 // cd0-Diquark
318 particle = new G4DiQuarks(
319 "cd0_diquark", 1286.1*MeV, 0.0*MeV, 1./3.*eplus,
320 0, +1, 0,
321 0, +0, 0,
322 "diquarks", 0, 0, 4101,
323 true, -1.0, NULL);
324
325 // cd1-Diquark
326 particle = new G4DiQuarks(
327 "cd1_diquark", 1286.0*MeV, 0.0*MeV, 1./3.*eplus,
328 2, +1, 0,
329 2, +0, 0,
330 "diquarks", 0, 0, 4103,
331 true, -1.0, NULL);
332
333 // cu0-Diquark
334 particle = new G4DiQuarks(
335 "cu0_diquark", 1283.1*MeV, 0.0*MeV, 4./3.*eplus,
336 0, +1, 0,
337 0, +0, 0,
338 "diquarks", 0, 0, 4201,
339 true, -1.0, NULL);
340
341 // cu1-Diquark
342 particle = new G4DiQuarks(
343 "cu1_diquark", 1283.0*MeV, 0.0*MeV, 4./3.*eplus,
344 2, +1, 0,
345 2, +0, 0,
346 "diquarks", 0, 0, 4203,
347 true, -1.0, NULL);
348
349 // cs0-Diquark
350 particle = new G4DiQuarks(
351 "cs0_diquark", 1380.1*MeV, 0.0*MeV, 1./3.*eplus,
352 0, +1, 0,
353 0, +0, 0,
354 "diquarks", 0, 0, 4301,
355 true, -1.0, NULL);
356
357 // cs1-Diquark
358 particle = new G4DiQuarks(
359 "cs1_diquark", 1380.0*MeV, 0.0*MeV, 1./3.*eplus,
360 2, +1, 0,
361 2, +0, 0,
362 "diquarks", 0, 0, 4303,
363 true, -1.0, NULL);
364
365 // cc1-Diquark
366 particle = new G4DiQuarks(
367 "cc1_diquark", 2565.0*MeV, 0.0*MeV, 4./3.*eplus,
368 2, +1, 0,
369 2, +0, 0,
370 "diquarks", 0, 0, 4403,
371 true, -1.0, NULL);
372
373 //---------------------------------------------
374
375 // bd0-Diquark
376 particle = new G4DiQuarks(
377 "bd0_diquark", 4186.1*MeV, 0.0*MeV, -2./3.*eplus,
378 0, +1, 0,
379 0, +0, 0,
380 "diquarks", 0, 0, 5101,
381 true, -1.0, NULL);
382
383 // bd1-Diquark
384 particle = new G4DiQuarks(
385 "bd1_diquark", 4186.0*MeV, 0.0*MeV, -2./3.*eplus,
386 2, +1, 0,
387 2, +0, 0,
388 "diquarks", 0, 0, 5103,
389 true, -1.0, NULL);
390
391 // bu0-Diquark
392 particle = new G4DiQuarks(
393 "bu0_diquark", 4183.1*MeV, 0.0*MeV, 1./3.*eplus,
394 0, +1, 0,
395 0, +0, 0,
396 "diquarks", 0, 0, 5201,
397 true, -1.0, NULL);
398
399 // bu1-Diquark
400 particle = new G4DiQuarks(
401 "bu1_diquark", 4183.0*MeV, 0.0*MeV, 1./3.*eplus,
402 2, +1, 0,
403 2, +0, 0,
404 "diquarks", 0, 0, 5203,
405 true, -1.0, NULL);
406
407 // bs0-Diquark
408 particle = new G4DiQuarks(
409 "bs0_diquark", 4280.1*MeV, 0.0*MeV, -2./3.*eplus,
410 0, +1, 0,
411 0, +0, 0,
412 "diquarks", 0, 0, 5301,
413 true, -1.0, NULL);
414
415 // bs1-Diquark
416 particle = new G4DiQuarks(
417 "bs1_diquark", 4280.0*MeV, 0.0*MeV, -2./3.*eplus,
418 2, +1, 0,
419 2, +0, 0,
420 "diquarks", 0, 0, 5303,
421 true, -1.0, NULL);
422
423 // bc0-Diquark
424 particle = new G4DiQuarks(
425 "bc0_diquark", 5465.1*MeV, 0.0*MeV, 1./3.*eplus,
426 0, +1, 0,
427 0, +0, 0,
428 "diquarks", 0, 0, 5401,
429 true, -1.0, NULL);
430
431 // bc1-Diquark
432 particle = new G4DiQuarks(
433 "bc1_diquark", 5465.0*MeV, 0.0*MeV, 1./3.*eplus,
434 2, +1, 0,
435 2, +0, 0,
436 "diquarks", 0, 0, 5403,
437 true, -1.0, NULL);
438
439 // bb1-Diquark
440 particle = new G4DiQuarks(
441 "bb1_diquark", 8365.0*MeV, 0.0*MeV, -2./3.*eplus,
442 2, +1, 0,
443 2, +0, 0,
444 "diquarks", 0, 0, 5503,
445 true, -1.0, NULL);
446
447 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
448
449 // anti cd0-Diquark
450 particle = new G4DiQuarks(
451 "anti_cd0_diquark", 1286.1*MeV, 0.0*MeV, -1./3.*eplus,
452 0, +1, 0,
453 0, +0, 0,
454 "diquarks", 0, 0, -4101,
455 true, -1.0, NULL);
456
457 // anti cd1-Diquark
458 particle = new G4DiQuarks(
459 "anti_cd1_diquark", 1286.0*MeV, 0.0*MeV, -1./3.*eplus,
460 2, +1, 0,
461 2, +0, 0,
462 "diquarks", 0, 0, -4103,
463 true, -1.0, NULL);
464
465 // anti cu0-Diquark
466 particle = new G4DiQuarks(
467 "anti_cu0_diquark", 1283.1*MeV, 0.0*MeV, -4./3.*eplus,
468 0, +1, 0,
469 0, +0, 0,
470 "diquarks", 0, 0, -4201,
471 true, -1.0, NULL);
472
473 // anti cu1-Diquark
474 particle = new G4DiQuarks(
475 "anti_cu1_diquark", 1283.0*MeV, 0.0*MeV, -4./3.*eplus,
476 2, +1, 0,
477 2, +0, 0,
478 "diquarks", 0, 0, -4203,
479 true, -1.0, NULL);
480
481 // anti cs0-Diquark
482 particle = new G4DiQuarks(
483 "anti_cs0_diquark", 1380.1*MeV, 0.0*MeV, -1./3.*eplus,
484 0, +1, 0,
485 0, +0, 0,
486 "diquarks", 0, 0, -4301,
487 true, -1.0, NULL);
488
489 // anti cs1-Diquark
490 particle = new G4DiQuarks(
491 "anti_cs1_diquark", 1380.0*MeV, 0.0*MeV, -1./3.*eplus,
492 2, +1, 0,
493 2, +0, 0,
494 "diquarks", 0, 0, -4303,
495 true, -1.0, NULL);
496
497 // anti cc1-Diquark
498 particle = new G4DiQuarks(
499 "anti_cc1_diquark", 2565.0*MeV, 0.0*MeV, -4./3.*eplus,
500 2, +1, 0,
501 2, +0, 0,
502 "diquarks", 0, 0, -4403,
503 true, -1.0, NULL);
504
505 //---------------------------------------------
506
507 // anti bd0-Diquark
508 particle = new G4DiQuarks(
509 "anti_bd0_diquark", 4186.1*MeV, 0.0*MeV, +2./3.*eplus,
510 0, +1, 0,
511 0, +0, 0,
512 "diquarks", 0, 0, -5101,
513 true, -1.0, NULL);
514
515 // anti bd1-Diquark
516 particle = new G4DiQuarks(
517 "anti_bd1_diquark", 4186.0*MeV, 0.0*MeV, +2./3.*eplus,
518 2, +1, 0,
519 2, +0, 0,
520 "diquarks", 0, 0, -5103,
521 true, -1.0, NULL);
522
523 // anti bu0-Diquark
524 particle = new G4DiQuarks(
525 "anti_bu0_diquark", 4183.1*MeV, 0.0*MeV, -1./3.*eplus,
526 0, +1, 0,
527 0, +0, 0,
528 "diquarks", 0, 0, -5201,
529 true, -1.0, NULL);
530
531 // anti bu1-Diquark
532 particle = new G4DiQuarks(
533 "anti_bu1_diquark", 4183.0*MeV, 0.0*MeV, -1./3.*eplus,
534 2, +1, 0,
535 2, +0, 0,
536 "diquarks", 0, 0, -5203,
537 true, -1.0, NULL);
538
539 // anti bs0-Diquark
540 particle = new G4DiQuarks(
541 "anti_bs0_diquark", 4280.1*MeV, 0.0*MeV, +2./3.*eplus,
542 0, +1, 0,
543 0, +0, 0,
544 "diquarks", 0, 0, -5301,
545 true, -1.0, NULL);
546
547 // anti bs1-Diquark
548 particle = new G4DiQuarks(
549 "anti_bs1_diquark", 4280.0*MeV, 0.0*MeV, +2./3.*eplus,
550 2, +1, 0,
551 2, +0, 0,
552 "diquarks", 0, 0, -5303,
553 true, -1.0, NULL);
554
555 // anti bc0-Diquark
556 particle = new G4DiQuarks(
557 "anti_bc0_diquark", 5465.1*MeV, 0.0*MeV, -1./3.*eplus,
558 0, +1, 0,
559 0, +0, 0,
560 "diquarks", 0, 0, -5401,
561 true, -1.0, NULL);
562
563 // anti bc1-Diquark
564 particle = new G4DiQuarks(
565 "anti_bc1_diquark", 5465.0*MeV, 0.0*MeV, -1./3.*eplus,
566 2, +1, 0,
567 2, +0, 0,
568 "diquarks", 0, 0, -5403,
569 true, -1.0, NULL);
570
571 // anti bb1-Diquark
572 particle = new G4DiQuarks(
573 "anti_bb1_diquark", 8365.0*MeV, 0.0*MeV, 2./3.*eplus,
574 2, +1, 0,
575 2, +0, 0,
576 "diquarks", 0, 0, -5503,
577 true, -1.0, NULL);
578
579 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
580
581 particle = NULL;
582}
583
591{
594
595 // N*
597 nucleons.Construct();
598
599 // Delta*
601 deltas.Construct();
602
603 // Lambda*
605 lamdas.Construct();
606
607 // Sigma*
609 sigmas.Construct();
610
611 // Xi*
613 xis.Construct();
614
615 // Mesons
617 mesons.Construct();
618
619}
620
621
622#include "G4ExcitedBaryons.hh"
624{
625 G4DecayTable* decayTable;
626 G4VDecayChannel* mode;
627 G4ExcitedBaryons* particle;
628
629 // Construct Resonace particles as dynamic object
630 // Arguments for constructor are as follows
631 // name mass width charge
632 // 2*spin parity C-conjugation
633 // 2*Isospin 2*Isospin3 G-parity
634 // type lepton number baryon number PDG encoding
635 // stable lifetime decay table
636
637 // delta baryons
638 // delta(1232)++
639 particle = new G4ExcitedBaryons(
640 "delta++", 1.232*GeV, 120.0*MeV, +2.0*eplus,
641 3, +1, 0,
642 3, +3, 0,
643 "baryon", 0, +1, 2224,
644 false, 0.0, NULL);
645 // set sub type
646 particle->SetMultipletName("delta");
647 // create decay table
648 decayTable = new G4DecayTable();
649 // create decay channel of delta++ -> proton + pi+
650 // parent BR #daughters
651 mode = new G4PhaseSpaceDecayChannel("delta++",1.000, 2,
652 "proton","pi+");
653 // add decay table
654 decayTable->Insert(mode);
655 particle->SetDecayTable(decayTable);
656
657 // delta(1232)+
658 particle = new G4ExcitedBaryons(
659 "delta+", 1.232*GeV, 120.0*MeV, +1.0*eplus,
660 3, +1, 0,
661 3, +1, 0,
662 "baryon", 0, +1, 2214,
663 false, 0.0, NULL);
664 // set sub type
665 particle->SetMultipletName("delta(1232)");
666 // create decay table
667 decayTable = new G4DecayTable();
668 // create decay channel of delta+ -> proton + Gamma
669 // parent BR #daughters
670 mode = new G4PhaseSpaceDecayChannel("delta+", 0.01, 2,
671 "proton","gamma");
672 decayTable->Insert(mode);
673 // create decay channel of delta+ -> neutron + pi+
674 // parent BR #daughters
675 // create decay channel of delta+ -> proton + pi0
676 // parent BR #daughters
677 mode = new G4PhaseSpaceDecayChannel("delta+", 0.495, 2,
678 "proton","pi0");
679 decayTable->Insert(mode);
680 // create decay channel of delta+ -> neutron + pi+
681 // parent BR #daughters
682 mode = new G4PhaseSpaceDecayChannel("delta+", 0.495, 2,
683 "neutron","pi+");
684 decayTable->Insert(mode);
685 particle->SetDecayTable(decayTable);
686
687 // delta(1232)0
688 particle = new G4ExcitedBaryons(
689 "delta0", 1.232*GeV, 120.0*MeV, +0.0*eplus,
690 3, +1, 0,
691 3, -1, 0,
692 "baryon", 0, +1, 2114,
693 false, 0.0, NULL);
694 // set sub type
695 particle->SetMultipletName("delta(1232)");
696 // create decay table
697 decayTable = new G4DecayTable();
698 // create decay channel of delta+ -> neutron + gamma
699 // parent BR #daughters
700 mode = new G4PhaseSpaceDecayChannel("delta0", 0.01, 2,
701 "neutron","gamma");
702 decayTable->Insert(mode);
703 // create decay channel of delta+ -> proton + pi-
704 // parent BR #daughters
705 mode = new G4PhaseSpaceDecayChannel("delta0", 0.495, 2,
706 "proton","pi-");
707 decayTable->Insert(mode);
708 // create decay channel of delta+ -> neutron + pi0
709 // parent BR #daughters
710 mode = new G4PhaseSpaceDecayChannel("delta0", 0.495, 2,
711 "neutron","pi0");
712 decayTable->Insert(mode);
713 particle->SetDecayTable(decayTable);
714
715 // delta(1232)-
716 particle = new G4ExcitedBaryons(
717 "delta-", 1.232*GeV, 117.0*MeV, -1.0*eplus,
718 3, +1, 0,
719 3, -3, 0,
720 "baryon", 0, +1, 1114,
721 false, 0.0, NULL);
722 // set sub type
723 particle->SetMultipletName("delta(1232)");
724 // create decay table
725 decayTable = new G4DecayTable();
726 // create decay channel of delta+ -> neutron + pi-
727 // parent BR #daughters
728 mode = new G4PhaseSpaceDecayChannel("delta-", 1.000, 2,
729 "neutron","pi-");
730 decayTable->Insert(mode);
731 particle->SetDecayTable(decayTable);
732
733
735 // anti_delta baryons
736 // anti_delta(1232)++
737 particle = new G4ExcitedBaryons(
738 "anti_delta++", 1.232*GeV, 120.0*MeV, -2.0*eplus,
739 3, +1, 0,
740 3, -3, 0,
741 "baryon", 0, -1, -2224,
742 false, 0.0, NULL);
743 // set sub type
744 particle->SetMultipletName("delta(1232)");
745 // create decay table
746 decayTable = new G4DecayTable();
747 // create decay channel of delta++ -> anti_proton + pi-
748 // parent BR #daughters
749 mode = new G4PhaseSpaceDecayChannel("anti_delta++",1.000, 2,
750 "anti_proton","pi-");
751 // add decay table
752 decayTable->Insert(mode);
753 particle->SetDecayTable(decayTable);
754
755 // anti_delta(1232)+
756 particle = new G4ExcitedBaryons(
757 "anti_delta+", 1.232*GeV, 120.0*MeV, -1.0*eplus,
758 3, +1, 0,
759 3, -1, 0,
760 "baryon", 0, -1, -2214,
761 false, 0.0, NULL);
762 // set sub type
763 particle->SetMultipletName("delta(1232)");
764 // create decay table
765 decayTable = new G4DecayTable();
766 // create decay channel of anti_delta+ -> anti_proton + pi0
767 // parent BR #daughters
768 mode = new G4PhaseSpaceDecayChannel("anti_delta+", 0.500, 2,
769 "anti_proton","pi0");
770 decayTable->Insert(mode);
771 // create decay channel of anti_delta+ -> anti_neutron + pi-
772 // parent BR #daughters
773 mode = new G4PhaseSpaceDecayChannel("anti_delta+", 0.500, 2,
774 "anti_neutron","pi-");
775 decayTable->Insert(mode);
776 particle->SetDecayTable(decayTable);
777
778 // anti_delta(1232)0
779 particle = new G4ExcitedBaryons(
780 "anti_delta0", 1.232*GeV, 120.0*MeV, +0.0*eplus,
781 3, +1, 0,
782 3, +1, 0,
783 "baryon", 0, -1, -2114,
784 false, 0.0, NULL);
785 // set sub type
786 particle->SetMultipletName("delta(1232)");
787 // create decay table
788 decayTable = new G4DecayTable();
789 // create decay channel of anti_delta+ -> anti_proton + pi+
790 // parent BR #daughters
791 mode = new G4PhaseSpaceDecayChannel("anti_delta0", 0.500, 2,
792 "anti_proton","pi+");
793 decayTable->Insert(mode);
794 // create decay channel of delta+ -> neutron + pi0
795 // parent BR #daughters
796 mode = new G4PhaseSpaceDecayChannel("anti_delta0", 0.500, 2,
797 "anti_neutron","pi0");
798 decayTable->Insert(mode);
799 particle->SetDecayTable(decayTable);
800
801 // anti_delta(1232)-
802 particle = new G4ExcitedBaryons(
803 "anti_delta-", 1.232*GeV, 117.0*MeV, +1.0*eplus,
804 3, +1, 0,
805 3, +3, 0,
806 "baryon", 0, -1, -1114,
807 false, 0.0, NULL);
808 // set sub type
809 particle->SetMultipletName("delta(1232)");
810 // create decay table
811 decayTable = new G4DecayTable();
812 // create decay channel of delta- -> neutron + pi+
813 // parent BR #daughters
814 mode = new G4PhaseSpaceDecayChannel("anti_delta-", 1.000, 2,
815 "anti_neutron","pi+");
816 decayTable->Insert(mode);
817 particle->SetDecayTable(decayTable);
818
819
820
821}
822#include "G4ExcitedMesons.hh"
824{
825 G4DecayTable* decayTable;
826 G4VDecayChannel* mode;
827 G4ExcitedMesons* particle;
828
829 // Construct Resonace particles as dynamic object
830 // Arguments for constructor are as follows
831 // name mass width charge
832 // 2*spin parity C-conjugation
833 // 2*Isospin 2*Isospin3 G-parity
834 // type lepton number baryon number PDG encoding
835 // stable lifetime decay table
836
837 // vector mesons
838 // omega
839 particle = new G4ExcitedMesons(
840 "omega", 782.65*MeV, 8.49*MeV, +0.0*eplus,
841 2, -1, -1,
842 0, +0, -1,
843 "meson", 0, 0, 223,
844 false, 0.0, NULL);
845 particle->SetAntiPDGEncoding(223);
846 // set sub type
847 particle->SetMultipletName("omega");
848 // create decay table
849 decayTable = new G4DecayTable();
850 // create decay channel of omega -> pi+ + pi- + pi0
851 // parent BR #daughters
852 mode = new G4PhaseSpaceDecayChannel("omega",0.891, 3,
853 "pi+","pi-","pi0");
854 // add decay table
855 decayTable->Insert(mode);
856
857 // create decay channel of omega -> gamma + pi0
858 // parent BR #daughters
859 mode = new G4PhaseSpaceDecayChannel("omega",0.0890, 2,
860 "gamma","pi0");
861 // add decay table
862 decayTable->Insert(mode);
863
864 // create decay channel of omega -> pi+ + pi-
865 // parent BR #daughters
866 mode = new G4PhaseSpaceDecayChannel("omega",0.0170, 2,
867 "pi+","pi-");
868 // add decay table
869 decayTable->Insert(mode);
870 particle->SetDecayTable(decayTable);
871
872 // phi
873 particle = new G4ExcitedMesons(
874 "phi", 1019.46*MeV, 4.247*MeV, +0.0*eplus,
875 2, -1, -1,
876 0, +0, -1,
877 "meson", 0, 0, 333,
878 false, 0.0, NULL);
879 particle->SetAntiPDGEncoding(333);
880 // set sub type
881 particle->SetMultipletName("phi");
882 // create decay table
883 decayTable = new G4DecayTable();
884 // create decay channel of phi -> kaon+ + kaon-
885 // parent BR #daughters
886 mode = new G4PhaseSpaceDecayChannel("phi",0.492, 2,
887 "kaon+","kaon-");
888 decayTable->Insert(mode);
889 // create decay channel of phi -> kaon0S + kaon0L
890 // parent BR #daughters
891 mode = new G4PhaseSpaceDecayChannel("phi",0.340, 2,
892 "kaon0S","kaon0L");
893 // add decay table
894 decayTable->Insert(mode);
895 // create decay channel of phi -> rho0 + pi0
896 // parent BR #daughters
897 mode = new G4PhaseSpaceDecayChannel("phi",0.153, 2,
898 "rho0","pi0");
899 // add decay table
900 decayTable->Insert(mode);
901 particle->SetDecayTable(decayTable);
902
903 // rho+
904 particle = new G4ExcitedMesons(
905 "rho+", 775.8*MeV, 150.3*MeV, +1.0*eplus,
906 2, -1, -1,
907 2, +2, +1,
908 "meson", 0, 0, 213,
909 false, 0.0, NULL);
910 // set sub type
911 particle->SetMultipletName("rho");
912 // create decay table
913 decayTable = new G4DecayTable();
914 // create decay channel of rho+ -> pi+ + pi0
915 // parent BR #daughters
916 mode = new G4PhaseSpaceDecayChannel("rho+",1.000, 2,
917 "pi+","pi0");
918 // add decay table
919 decayTable->Insert(mode);
920 particle->SetDecayTable(decayTable);
921
922 // rho-
923 particle = new G4ExcitedMesons(
924 "rho-", 775.8*MeV, 150.3*MeV, -1.0*eplus,
925 2, -1, -1,
926 2, -2, +1,
927 "meson", 0, 0, -213,
928 false, 0.0, NULL);
929 // set sub type
930 particle->SetMultipletName("rho");
931 // create decay table
932 decayTable = new G4DecayTable();
933 // create decay channel of rho- -> pi- + pi0
934 // parent BR #daughters
935 mode = new G4PhaseSpaceDecayChannel("rho-",1.000, 2,
936 "pi-","pi0");
937 // add decay table
938 decayTable->Insert(mode);
939 particle->SetDecayTable(decayTable);
940
941 // rho0
942 particle = new G4ExcitedMesons(
943 "rho0", 775.26*MeV, 149.1*MeV, 0.0,
944 2, -1, -1,
945 2, 0, +1,
946 "meson", 0, 0, 113,
947 false, 0.0*ns, NULL );
948 particle->SetAntiPDGEncoding(113);
949 // set sub type
950 particle->SetMultipletName("rho");
951 // create decay table
952 decayTable = new G4DecayTable();
953 // create decay channel of rho0 -> pi+ + pi-
954 // parent BR #daughters
955 mode = new G4PhaseSpaceDecayChannel("rho0",1.000, 2,
956 "pi+","pi-");
957 // add decay table
958 decayTable->Insert(mode);
959 particle->SetDecayTable(decayTable);
960
961 // a0(980)+
962 particle = new G4ExcitedMesons(
963 "a0(980)+", 980.0*MeV, 60.0*MeV, +1.0*eplus,
964 0, +1, +1,
965 2, +2, -1,
966 "meson", 0, 0, 9000211,
967 false, 0.0, NULL);
968 // set sub type
969 particle->SetMultipletName("a0(980)");
970 // create decay table
971 decayTable = new G4DecayTable();
972 // create decay channel of a0(980)+ -> eta + pi+
973 // parent BR #daughters
974 mode = new G4PhaseSpaceDecayChannel("a0(980)+",1.000, 2,
975 "pi+","eta");
976 // add decay table
977 decayTable->Insert(mode);
978 particle->SetDecayTable(decayTable);
979
980 // a0(980)-
981 particle = new G4ExcitedMesons(
982 "a0(980)-", 980.0*MeV, 60.0*MeV, -1.0*eplus,
983 0, +1, +1,
984 2, -2, -1,
985 "meson", 0, 0, -9000211,
986 false, 0.0, NULL);
987 // set sub type
988 particle->SetMultipletName("a0(980)");
989 // create decay table
990 decayTable = new G4DecayTable();
991 // create decay channel of a0(980)- -> eta + pi-
992 // parent BR #daughters
993 mode = new G4PhaseSpaceDecayChannel("a0(980)-",1.000, 2,
994 "pi-","eta");
995 // add decay table
996 decayTable->Insert(mode);
997 particle->SetDecayTable(decayTable);
998
999 // a0(980)0
1000 particle = new G4ExcitedMesons(
1001 "a0(980)0", 980.0*MeV, 75.0*MeV, 0.0,
1002 0, +1, +1,
1003 2, 0, -1,
1004 "meson", 0, 0, 9000111,
1005 false, 0.0, NULL);
1006 particle->SetAntiPDGEncoding(9000111);
1007 // set sub type
1008 particle->SetMultipletName("a0(980)");
1009 // create decay table
1010 decayTable = new G4DecayTable();
1011 // create decay channel of a0(980)0 -> eta + pi0
1012 // parent BR #daughters
1013 mode = new G4PhaseSpaceDecayChannel("a0(980)0",1.000, 2,
1014 "pi0","eta");
1015 // add decay table
1016 decayTable->Insert(mode);
1017 particle->SetDecayTable(decayTable);
1018
1019 // f0(500) (was f0(500) f0(400-1200))
1020 particle = new G4ExcitedMesons(
1021 "f0(500)", 475.0*MeV, 550.0*MeV, 0.0,
1022 0, +1, +1,
1023 0, 0, +1,
1024 "meson", 0, 0, 9000221,
1025 false, 0.0, NULL);
1026 particle->SetAntiPDGEncoding(9000221);
1027 // set sub type
1028 particle->SetMultipletName("f0(500)");
1029 // create decay table
1030 decayTable = new G4DecayTable();
1031 // create decay channel of f0(500) -> pi + pi
1032 // parent BR #daughters
1033 mode = new G4PhaseSpaceDecayChannel("f0(500)",1.000, 2,
1034 "pi+","pi-");
1035 // add decay table
1036 decayTable->Insert(mode);
1037 particle->SetDecayTable(decayTable);
1038
1039
1040 // f0(980)
1041 particle = new G4ExcitedMesons(
1042 "f0(980)", 990.0*MeV, 60.0*MeV, 0.0,
1043 0, +1, +1,
1044 0, 0, +1,
1045 "meson", 0, 0, 9010221,
1046 false, 0.0, NULL);
1047 particle->SetAntiPDGEncoding(9010221);
1048 // set sub type
1049 particle->SetMultipletName("f0(980)");
1050 // create decay table
1051 decayTable = new G4DecayTable();
1052 // create decay channel of f0(980) -> pi + pi
1053 // parent BR #daughters
1054 mode = new G4PhaseSpaceDecayChannel("f0(980)",1.000, 2,
1055 "pi+","pi-");
1056 // add decay table
1057 decayTable->Insert(mode);
1058 particle->SetDecayTable(decayTable);
1059
1060 // eta(1405)
1061 particle = new G4ExcitedMesons(
1062 "eta(1405)", 1408.8*MeV, 51.0*MeV, 0.0,
1063 0, -1, +1,
1064 0, 0, +1,
1065 "meson", 0, 0, 9020221,
1066 false, 0.0, NULL);
1067 particle->SetAntiPDGEncoding(9020221);
1068 // set sub type
1069 particle->SetMultipletName("eta(1405)");
1070 // create decay table
1071 decayTable = new G4DecayTable();
1072 // create decay channel of eta(1405) -> rho + rho
1073 // parent BR #daughters
1074 mode = new G4PhaseSpaceDecayChannel("eta(1405)",1.000, 2,
1075 "rho+","rho-");
1076 // add decay table
1077 decayTable->Insert(mode);
1078 particle->SetDecayTable(decayTable);
1079 // f0(1500)
1080 particle = new G4ExcitedMesons(
1081 "f0(1500)", 1504.0*MeV, 109.0*MeV, 0.0,
1082 0, +1, +1,
1083 0, 0, +1,
1084 "meson", 0, 0, 9030221,
1085 false, 0.0, NULL);
1086 particle->SetAntiPDGEncoding(9030221);
1087 // set sub type
1088 particle->SetMultipletName("f0(1500)");
1089 // create decay table
1090 decayTable = new G4DecayTable();
1091 // create decay channel of f0(1500) -> eta + eta
1092 // parent BR #daughters
1093 mode = new G4PhaseSpaceDecayChannel("f0(1500)",1.000, 2,
1094 "eta","eta");
1095 // add decay table
1096 decayTable->Insert(mode);
1097 particle->SetDecayTable(decayTable);
1098
1099 // f0(1710)
1100 particle = new G4ExcitedMesons(
1101 "f0(1710)", 1723.0*MeV, 139.0*MeV, 0.0,
1102 0, +1, +1,
1103 0, 0, +1,
1104 "meson", 0, 0, 10331,
1105 false, 0.0, NULL);
1106 particle->SetAntiPDGEncoding(10331);
1107 // set sub type
1108 particle->SetMultipletName("f0(1710)");
1109 // create decay table
1110 decayTable = new G4DecayTable();
1111
1112 // create decay channel of f0(1710) -> k0 + k0
1113 // parent BR #daughters
1114 mode = new G4PhaseSpaceDecayChannel("f0(1710)",0.40, 2,
1115 "kaon0S","kaon0S");
1116 // add decay table
1117 decayTable->Insert(mode);
1118
1119 // create decay channel of f0(1710) -> k+ + k+
1120 // parent BR #daughters
1121 mode = new G4PhaseSpaceDecayChannel("f0(1710)",0.40, 2,
1122 "kaon+","kaon-");
1123 // add decay table
1124 decayTable->Insert(mode);
1125
1126 // create decay channel of f0(1710) -> eta + eta
1127 // parent BR #daughters
1128 mode = new G4PhaseSpaceDecayChannel("f0(1710)",0.20, 2,
1129 "eta","eta");
1130 // add decay table
1131 decayTable->Insert(mode);
1132 particle->SetDecayTable(decayTable);
1133
1134
1135 // k_star+
1136 particle = new G4ExcitedMesons(
1137 "k_star+", 891.76*MeV, 50.3*MeV, +1.0*eplus,
1138 2, -1, 0,
1139 1, +1, 0,
1140 "meson", 0, 0, 323,
1141 false, 0.0, NULL);
1142 // set sub type
1143 particle->SetMultipletName("k_star");
1144 // create decay table
1145 decayTable = new G4DecayTable();
1146 // create decay channel of k_star+ -> kaon+ + pi0
1147 // parent BR #daughters
1148 mode = new G4PhaseSpaceDecayChannel("k_star+",0.500, 2,
1149 "kaon+","pi0");
1150 // add decay table
1151 decayTable->Insert(mode);
1152 // create decay channel of k_star+ -> kaon+ + pi0
1153 // parent BR #daughters
1154 mode = new G4PhaseSpaceDecayChannel("k_star+",0.500, 2,
1155 "kaon0","pi+");
1156 // add decay table
1157 decayTable->Insert(mode);
1158 particle->SetDecayTable(decayTable);
1159
1160 // k_star0
1161 particle = new G4ExcitedMesons(
1162 "k_star0", 895.55*MeV, 47.3*MeV, 0.0*eplus,
1163 2, -1, 0,
1164 1, -1, 0,
1165 "meson", 0, 0, 313,
1166 false, 0.0, NULL);
1167 // set sub type
1168 particle->SetMultipletName("k_star");
1169 // create decay table
1170 decayTable = new G4DecayTable();
1171 // create decay channel of k_star0 -> kaon+ + pi-
1172 // parent BR #daughters
1173 mode = new G4PhaseSpaceDecayChannel("k_star0",0.500, 2,
1174 "kaon+","pi-");
1175 // add decay table
1176 decayTable->Insert(mode);
1177 // create decay channel of k_star0 -> kaon0 + pi0
1178 // parent BR #daughters
1179 mode = new G4PhaseSpaceDecayChannel("k_star0",0.500, 2,
1180 "kaon0","pi0");
1181 // add decay table
1182 decayTable->Insert(mode);
1183 particle->SetDecayTable(decayTable);
1184
1185 // k_star-
1186 particle = new G4ExcitedMesons(
1187 "k_star-", 891.76*MeV, 50.3*MeV, -1.0*eplus,
1188 2, -1, 0,
1189 1, +1, 0,
1190 "meson", 0, 0, -323,
1191 false, 0.0, NULL);
1192 // set sub type
1193 particle->SetMultipletName("k_star");
1194 // create decay table
1195 decayTable = new G4DecayTable();
1196 // create decay channel of k_star- -> kaon- + pi0
1197 // parent BR #daughters
1198 mode = new G4PhaseSpaceDecayChannel("k_star-",0.500, 2,
1199 "kaon-","pi0");
1200 // add decay table
1201 decayTable->Insert(mode);
1202 // create decay channel of k_star- -> anti_kaon0 + pi-
1203 // parent BR #daughters
1204 mode = new G4PhaseSpaceDecayChannel("k_star-",0.500, 2,
1205 "anti_kaon0","pi-");
1206 // add decay table
1207 decayTable->Insert(mode);
1208 particle->SetDecayTable(decayTable);
1209
1210
1211 // anti_k_star0
1212 particle = new G4ExcitedMesons(
1213 "anti_k_star0", 895.55*MeV, 47.3*MeV, 0.0*eplus,
1214 2, -1, 0,
1215 1, -1, 0,
1216 "meson", 0, 0, -313,
1217 false, 0.0, NULL);
1218 // set sub type
1219 particle->SetMultipletName("k_star");
1220 // create decay table
1221 decayTable = new G4DecayTable();
1222 // create decay channel of anti_k_star0 -> kaon- + pi+
1223 // parent BR #daughters
1224 mode = new G4PhaseSpaceDecayChannel("anti_k_star0",0.500, 2,
1225 "kaon-","pi+");
1226 // add decay table
1227 decayTable->Insert(mode);
1228 // create decay channel of anti_k_star0 -> anti_kaon0 + pi0
1229 // parent BR #daughters
1230 mode = new G4PhaseSpaceDecayChannel("anti_k_star0",0.500, 2,
1231 "anti_kaon0","pi0");
1232 // add decay table
1233 decayTable->Insert(mode);
1234 particle->SetDecayTable(decayTable);
1235
1236}
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
static constexpr double eplus
Definition: G4SIunits.hh:184
static constexpr double keV
Definition: G4SIunits.hh:202
static constexpr double GeV
Definition: G4SIunits.hh:203
static constexpr double MeV
Definition: G4SIunits.hh:200
bool G4bool
Definition: G4Types.hh:86
void Insert(G4VDecayChannel *aChannel)
Definition: G4DecayTable.cc:53
virtual void Construct(G4int indexOfState=-1)
void SetMultipletName(const G4String &name)
virtual void Construct(G4int indexOfState=-1)
void SetMultipletName(const G4String &)
void SetAntiPDGEncoding(G4int aEncoding)
void SetDecayTable(G4DecayTable *aDecayTable)
#define ns
Definition: xmlparse.cc:614