ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
G4ShortLivedConstructor.cc
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4ShortLivedConstructor.cc
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
38
#include "
G4ShortLivedConstructor.hh
"
39
40
#include "
G4SystemOfUnits.hh
"
41
#include "
G4ParticleDefinition.hh
"
42
#include "
G4ParticleTable.hh
"
43
#include "
G4PhaseSpaceDecayChannel.hh
"
44
#include "
G4VDecayChannel.hh
"
45
#include "
G4DecayTable.hh
"
46
47
G4bool
G4ShortLivedConstructor::isConstructed
=
false
;
48
49
G4ShortLivedConstructor::G4ShortLivedConstructor
()
50
{
51
}
52
53
G4ShortLivedConstructor::~G4ShortLivedConstructor
()
54
{
55
}
56
57
58
void
G4ShortLivedConstructor::ConstructParticle
()
59
{
60
if
(!
isConstructed
){
61
ConstructQuarks
();
62
ConstructResonances
();
63
isConstructed
=
true
;
64
}
65
}
66
67
#include "
G4DiQuarks.hh
"
68
#include "
G4Quarks.hh
"
69
#include "
G4Gluons.hh
"
70
void
G4ShortLivedConstructor::ConstructQuarks
()
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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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"
, 7.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
584
#include "
G4ExcitedNucleonConstructor.hh
"
585
#include "
G4ExcitedDeltaConstructor.hh
"
586
#include "
G4ExcitedLambdaConstructor.hh
"
587
#include "
G4ExcitedSigmaConstructor.hh
"
588
#include "
G4ExcitedXiConstructor.hh
"
589
#include "
G4ExcitedMesonConstructor.hh
"
590
void
G4ShortLivedConstructor::ConstructResonances
()
591
{
592
ConstructBaryons
();
593
ConstructMesons
();
594
595
// N*
596
G4ExcitedNucleonConstructor
nucleons;
597
nucleons.
Construct
();
598
599
// Delta*
600
G4ExcitedDeltaConstructor
deltas;
601
deltas.
Construct
();
602
603
// Lambda*
604
G4ExcitedLambdaConstructor
lamdas;
605
lamdas.
Construct
();
606
607
// Sigma*
608
G4ExcitedSigmaConstructor
sigmas;
609
sigmas.
Construct
();
610
611
// Xi*
612
G4ExcitedXiConstructor
xis;
613
xis.
Construct
();
614
615
// Mesons
616
G4ExcitedMesonConstructor
mesons;
617
mesons.
Construct
();
618
619
}
620
621
622
#include "
G4ExcitedBaryons.hh
"
623
void
G4ShortLivedConstructor::ConstructBaryons
()
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
"
823
void
G4ShortLivedConstructor::ConstructMesons
()
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
geant4
tree
geant4-10.6-release
source
particles
shortlived
src
G4ShortLivedConstructor.cc
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:24
using
1.8.2 with
ECCE GitHub integration