Geant4_10
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
source
source
particles
shortlived
src
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
// $Id: G4ShortLivedConstructor.cc 72955 2013-08-14 14:23:14Z gcosmo $
28
//
29
//
30
// --------------------------------------------------------------
31
// GEANT 4 class implementation file
32
//
33
// Add "rho0" 25 Feb. 2000 H.Kurashige
34
// Fix spin/isospin number for quarks 06 Apr. 2001 H.Kurashige
35
// update quark mass 11 Oct. 2006 H.Kurashige
36
// update meson/baryon masses 11 Oct. 2006 H.Kurashige
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.4*
MeV
, 0.0*
MeV
, 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.9*
MeV
, 0.0*
MeV
, -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"
, 100.0*
MeV
, 0.0*
MeV
, -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.29*
GeV
, 0.0*
MeV
, +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.19*
GeV
, 0.0*
MeV
, -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"
, 172.9*
GeV
, 2.0*
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.4*
MeV
, 0.0*
MeV
, -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.9*
MeV
, 0.0*
MeV
, 1./3.*
eplus
,
142
1, +1, 0,
143
1, +1, 0,
144
"quarks"
, 0, 0, -1,
145
true
, -1.0, NULL);
146
// s-quark
147
particle =
new
G4Quarks
(
148
"anti_s_quark"
, 100.0*
MeV
, 0.0*
MeV
, 1./3.*
eplus
,
149
1, +1, 0,
150
0, 0, 0,
151
"quarks"
, 0, 0, -3,
152
true
, -1.0, NULL);
153
// c-quark
154
particle =
new
G4Quarks
(
155
"anti_c_quark"
, 1.29*
GeV
, 0.0*
MeV
, -2./3.*
eplus
,
156
1, +1, 0,
157
0, 0, 0,
158
"quarks"
, 0, 0, -4,
159
true
, -1.0, NULL);
160
// b-quark
161
particle =
new
G4Quarks
(
162
"anti_b_quark"
, 4.19*
GeV
, 0.0*
MeV
, 1./3.*
eplus
,
163
1, +1, 0,
164
0, 0, 0,
165
"quarks"
, 0, 0, -5,
166
true
, -1.0, NULL);
167
// t-quark
168
particle =
new
G4Quarks
(
169
"anti_t_quark"
, 172.9*
GeV
, 2.0*
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.8*
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.2*
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.3*
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"
, 108.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"
, 106.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"
, 108.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"
, 106.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.8*
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.2*
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.3*
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"
, 108.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"
, 106.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"
, 108.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"
, 106.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"
, 208.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"
, 208.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
particle = NULL;
315
}
316
317
#include "
G4ExcitedNucleonConstructor.hh
"
318
#include "
G4ExcitedDeltaConstructor.hh
"
319
#include "
G4ExcitedLambdaConstructor.hh
"
320
#include "
G4ExcitedSigmaConstructor.hh
"
321
#include "
G4ExcitedXiConstructor.hh
"
322
#include "
G4ExcitedMesonConstructor.hh
"
323
void
G4ShortLivedConstructor::ConstructResonances
()
324
{
325
ConstructBaryons
();
326
ConstructMesons
();
327
328
// N*
329
G4ExcitedNucleonConstructor
nucleons;
330
nucleons.
Construct
();
331
332
// Delta*
333
G4ExcitedDeltaConstructor
deltas;
334
deltas.
Construct
();
335
336
// Lambda*
337
G4ExcitedLambdaConstructor
lamdas;
338
lamdas.
Construct
();
339
340
// Sigma*
341
G4ExcitedSigmaConstructor
sigmas
;
342
sigmas.
Construct
();
343
344
// Xi*
345
G4ExcitedXiConstructor
xis;
346
xis.
Construct
();
347
348
// Mesons
349
G4ExcitedMesonConstructor
mesons;
350
mesons.
Construct
();
351
352
}
353
354
355
#include "
G4ExcitedBaryons.hh
"
356
void
G4ShortLivedConstructor::ConstructBaryons
()
357
{
358
G4DecayTable
* decayTable;
359
G4VDecayChannel
* mode;
360
G4ExcitedBaryons
* particle;
361
362
// Construct Resonace particles as dynamic object
363
// Arguments for constructor are as follows
364
// name mass width charge
365
// 2*spin parity C-conjugation
366
// 2*Isospin 2*Isospin3 G-parity
367
// type lepton number baryon number PDG encoding
368
// stable lifetime decay table
369
370
// delta baryons
371
// delta(1232)++
372
particle =
new
G4ExcitedBaryons
(
373
"delta++"
, 1.232*
GeV
, 120.0*
MeV
, +2.0*
eplus
,
374
3, +1, 0,
375
3, +3, 0,
376
"baryon"
, 0, +1, 2224,
377
false
, 0.0, NULL);
378
// set sub type
379
particle->
SetMultipletName
(
"delta"
);
380
// create decay table
381
decayTable =
new
G4DecayTable
();
382
// create decay channel of delta++ -> proton + pi+
383
// parent BR #daughters
384
mode =
new
G4PhaseSpaceDecayChannel
(
"delta++"
,1.000, 2,
385
"proton"
,
"pi+"
);
386
// add decay table
387
decayTable->
Insert
(mode);
388
particle->
SetDecayTable
(decayTable);
389
390
// delta(1232)+
391
particle =
new
G4ExcitedBaryons
(
392
"delta+"
, 1.232*
GeV
, 120.0*
MeV
, +1.0*
eplus
,
393
3, +1, 0,
394
3, +1, 0,
395
"baryon"
, 0, +1, 2214,
396
false
, 0.0, NULL);
397
// set sub type
398
particle->
SetMultipletName
(
"delta(1232)"
);
399
// create decay table
400
decayTable =
new
G4DecayTable
();
401
// create decay channel of delta+ -> proton + Gamma
402
// parent BR #daughters
403
mode =
new
G4PhaseSpaceDecayChannel
(
"delta+"
, 0.01, 2,
404
"proton"
,
"gamma"
);
405
decayTable->
Insert
(mode);
406
// create decay channel of delta+ -> neutron + pi+
407
// parent BR #daughters
408
// create decay channel of delta+ -> proton + pi0
409
// parent BR #daughters
410
mode =
new
G4PhaseSpaceDecayChannel
(
"delta+"
, 0.495, 2,
411
"proton"
,
"pi0"
);
412
decayTable->
Insert
(mode);
413
// create decay channel of delta+ -> neutron + pi+
414
// parent BR #daughters
415
mode =
new
G4PhaseSpaceDecayChannel
(
"delta+"
, 0.495, 2,
416
"neutron"
,
"pi+"
);
417
decayTable->
Insert
(mode);
418
particle->
SetDecayTable
(decayTable);
419
420
// delta(1232)0
421
particle =
new
G4ExcitedBaryons
(
422
"delta0"
, 1.232*
GeV
, 120.0*
MeV
, +0.0*
eplus
,
423
3, +1, 0,
424
3, -1, 0,
425
"baryon"
, 0, +1, 2114,
426
false
, 0.0, NULL);
427
// set sub type
428
particle->
SetMultipletName
(
"delta(1232)"
);
429
// create decay table
430
decayTable =
new
G4DecayTable
();
431
// create decay channel of delta+ -> neutron + gamma
432
// parent BR #daughters
433
mode =
new
G4PhaseSpaceDecayChannel
(
"delta0"
, 0.01, 2,
434
"neutron"
,
"gamma"
);
435
decayTable->
Insert
(mode);
436
// create decay channel of delta+ -> proton + pi-
437
// parent BR #daughters
438
mode =
new
G4PhaseSpaceDecayChannel
(
"delta0"
, 0.495, 2,
439
"proton"
,
"pi-"
);
440
decayTable->
Insert
(mode);
441
// create decay channel of delta+ -> neutron + pi0
442
// parent BR #daughters
443
mode =
new
G4PhaseSpaceDecayChannel
(
"delta0"
, 0.495, 2,
444
"neutron"
,
"pi0"
);
445
decayTable->
Insert
(mode);
446
particle->
SetDecayTable
(decayTable);
447
448
// delta(1232)-
449
particle =
new
G4ExcitedBaryons
(
450
"delta-"
, 1.232*
GeV
, 118.0*
MeV
, -1.0*
eplus
,
451
3, +1, 0,
452
3, -3, 0,
453
"baryon"
, 0, +1, 1114,
454
false
, 0.0, NULL);
455
// set sub type
456
particle->
SetMultipletName
(
"delta(1232)"
);
457
// create decay table
458
decayTable =
new
G4DecayTable
();
459
// create decay channel of delta+ -> neutron + pi-
460
// parent BR #daughters
461
mode =
new
G4PhaseSpaceDecayChannel
(
"delta-"
, 1.000, 2,
462
"neutron"
,
"pi-"
);
463
decayTable->
Insert
(mode);
464
particle->
SetDecayTable
(decayTable);
465
466
468
// anti_delta baryons
469
// anti_delta(1232)++
470
particle =
new
G4ExcitedBaryons
(
471
"anti_delta++"
, 1.232*
GeV
, 120.0*
MeV
, -2.0*
eplus
,
472
3, +1, 0,
473
3, -3, 0,
474
"baryon"
, 0, -1, -2224,
475
false
, 0.0, NULL);
476
// set sub type
477
particle->
SetMultipletName
(
"delta(1232)"
);
478
// create decay table
479
decayTable =
new
G4DecayTable
();
480
// create decay channel of delta++ -> anti_proton + pi-
481
// parent BR #daughters
482
mode =
new
G4PhaseSpaceDecayChannel
(
"anti_delta++"
,1.000, 2,
483
"anti_proton"
,
"pi-"
);
484
// add decay table
485
decayTable->
Insert
(mode);
486
particle->
SetDecayTable
(decayTable);
487
488
// anti_delta(1232)+
489
particle =
new
G4ExcitedBaryons
(
490
"anti_delta+"
, 1.232*
GeV
, 120.0*
MeV
, -1.0*
eplus
,
491
3, +1, 0,
492
3, -1, 0,
493
"baryon"
, 0, -1, -2214,
494
false
, 0.0, NULL);
495
// set sub type
496
particle->
SetMultipletName
(
"delta(1232)"
);
497
// create decay table
498
decayTable =
new
G4DecayTable
();
499
// create decay channel of anti_delta+ -> anti_proton + pi0
500
// parent BR #daughters
501
mode =
new
G4PhaseSpaceDecayChannel
(
"anti_delta+"
, 0.500, 2,
502
"anti_proton"
,
"pi0"
);
503
decayTable->
Insert
(mode);
504
// create decay channel of anti_delta+ -> anti_neutron + pi-
505
// parent BR #daughters
506
mode =
new
G4PhaseSpaceDecayChannel
(
"anti_delta+"
, 0.500, 2,
507
"anti_neutron"
,
"pi-"
);
508
decayTable->
Insert
(mode);
509
particle->
SetDecayTable
(decayTable);
510
511
// anti_delta(1232)0
512
particle =
new
G4ExcitedBaryons
(
513
"anti_delta0"
, 1.232*
GeV
, 120.0*
MeV
, +0.0*
eplus
,
514
3, +1, 0,
515
3, +1, 0,
516
"baryon"
, 0, -1, -2114,
517
false
, 0.0, NULL);
518
// set sub type
519
particle->
SetMultipletName
(
"delta(1232)"
);
520
// create decay table
521
decayTable =
new
G4DecayTable
();
522
// create decay channel of anti_delta+ -> anti_proton + pi+
523
// parent BR #daughters
524
mode =
new
G4PhaseSpaceDecayChannel
(
"anti_delta0"
, 0.500, 2,
525
"anti_proton"
,
"pi+"
);
526
decayTable->
Insert
(mode);
527
// create decay channel of delta+ -> neutron + pi0
528
// parent BR #daughters
529
mode =
new
G4PhaseSpaceDecayChannel
(
"anti_delta0"
, 0.500, 2,
530
"anti_neutron"
,
"pi0"
);
531
decayTable->
Insert
(mode);
532
particle->
SetDecayTable
(decayTable);
533
534
// anti_delta(1232)-
535
particle =
new
G4ExcitedBaryons
(
536
"anti_delta-"
, 1.232*
GeV
, 118.0*
MeV
, +1.0*
eplus
,
537
3, +1, 0,
538
3, +3, 0,
539
"baryon"
, 0, -1, -1114,
540
false
, 0.0, NULL);
541
// set sub type
542
particle->
SetMultipletName
(
"delta(1232)"
);
543
// create decay table
544
decayTable =
new
G4DecayTable
();
545
// create decay channel of delta- -> neutron + pi+
546
// parent BR #daughters
547
mode =
new
G4PhaseSpaceDecayChannel
(
"anti_delta-"
, 1.000, 2,
548
"anti_neutron"
,
"pi+"
);
549
decayTable->
Insert
(mode);
550
particle->
SetDecayTable
(decayTable);
551
552
553
554
}
555
#include "
G4ExcitedMesons.hh
"
556
void
G4ShortLivedConstructor::ConstructMesons
()
557
{
558
G4DecayTable
* decayTable;
559
G4VDecayChannel
* mode;
560
G4ExcitedMesons
* particle;
561
562
// Construct Resonace particles as dynamic object
563
// Arguments for constructor are as follows
564
// name mass width charge
565
// 2*spin parity C-conjugation
566
// 2*Isospin 2*Isospin3 G-parity
567
// type lepton number baryon number PDG encoding
568
// stable lifetime decay table
569
570
// vector mesons
571
// omega
572
particle =
new
G4ExcitedMesons
(
573
"omega"
, 782.65*
MeV
, 8.49*
MeV
, +0.0*
eplus
,
574
2, -1, -1,
575
0, +0, -1,
576
"meson"
, 0, 0, 223,
577
false
, 0.0, NULL);
578
particle->
SetAntiPDGEncoding
(223);
579
// set sub type
580
particle->
SetMultipletName
(
"omega"
);
581
// create decay table
582
decayTable =
new
G4DecayTable
();
583
// create decay channel of omega -> pi+ + pi- + pi0
584
// parent BR #daughters
585
mode =
new
G4PhaseSpaceDecayChannel
(
"omega"
,0.891, 3,
586
"pi+"
,
"pi-"
,
"pi0"
);
587
// add decay table
588
decayTable->
Insert
(mode);
589
590
// create decay channel of omega -> gamma + pi0
591
// parent BR #daughters
592
mode =
new
G4PhaseSpaceDecayChannel
(
"omega"
,0.0890, 2,
593
"gamma"
,
"pi0"
);
594
// add decay table
595
decayTable->
Insert
(mode);
596
597
// create decay channel of omega -> pi+ + pi-
598
// parent BR #daughters
599
mode =
new
G4PhaseSpaceDecayChannel
(
"omega"
,0.0170, 2,
600
"pi+"
,
"pi-"
);
601
// add decay table
602
decayTable->
Insert
(mode);
603
particle->
SetDecayTable
(decayTable);
604
605
// phi
606
particle =
new
G4ExcitedMesons
(
607
"phi"
, 1019.46*
MeV
, 4.26*
MeV
, +0.0*
eplus
,
608
2, -1, -1,
609
0, +0, -1,
610
"meson"
, 0, 0, 333,
611
false
, 0.0, NULL);
612
particle->
SetAntiPDGEncoding
(333);
613
// set sub type
614
particle->
SetMultipletName
(
"phi"
);
615
// create decay table
616
decayTable =
new
G4DecayTable
();
617
// create decay channel of phi -> kaon+ + kaon-
618
// parent BR #daughters
619
mode =
new
G4PhaseSpaceDecayChannel
(
"phi"
,0.492, 2,
620
"kaon+"
,
"kaon-"
);
621
decayTable->
Insert
(mode);
622
// create decay channel of phi -> kaon0S + kaon0L
623
// parent BR #daughters
624
mode =
new
G4PhaseSpaceDecayChannel
(
"phi"
,0.340, 2,
625
"kaon0S"
,
"kaon0L"
);
626
// add decay table
627
decayTable->
Insert
(mode);
628
// create decay channel of phi -> rho0 + pi0
629
// parent BR #daughters
630
mode =
new
G4PhaseSpaceDecayChannel
(
"phi"
,0.153, 2,
631
"rho0"
,
"pi0"
);
632
// add decay table
633
decayTable->
Insert
(mode);
634
particle->
SetDecayTable
(decayTable);
635
636
// rho+
637
particle =
new
G4ExcitedMesons
(
638
"rho+"
, 775.8*
MeV
, 150.3*
MeV
, +1.0*
eplus
,
639
2, -1, -1,
640
2, +2, +1,
641
"meson"
, 0, 0, 213,
642
false
, 0.0, NULL);
643
// set sub type
644
particle->
SetMultipletName
(
"rho"
);
645
// create decay table
646
decayTable =
new
G4DecayTable
();
647
// create decay channel of rho+ -> pi+ + pi0
648
// parent BR #daughters
649
mode =
new
G4PhaseSpaceDecayChannel
(
"rho+"
,1.000, 2,
650
"pi+"
,
"pi0"
);
651
// add decay table
652
decayTable->
Insert
(mode);
653
particle->
SetDecayTable
(decayTable);
654
655
// rho-
656
particle =
new
G4ExcitedMesons
(
657
"rho-"
, 775.8*
MeV
, 150.3*
MeV
, -1.0*
eplus
,
658
2, -1, -1,
659
2, -2, +1,
660
"meson"
, 0, 0, -213,
661
false
, 0.0, NULL);
662
// set sub type
663
particle->
SetMultipletName
(
"rho"
);
664
// create decay table
665
decayTable =
new
G4DecayTable
();
666
// create decay channel of rho- -> pi- + pi0
667
// parent BR #daughters
668
mode =
new
G4PhaseSpaceDecayChannel
(
"rho-"
,1.000, 2,
669
"pi-"
,
"pi0"
);
670
// add decay table
671
decayTable->
Insert
(mode);
672
particle->
SetDecayTable
(decayTable);
673
674
// rho0
675
particle =
new
G4ExcitedMesons
(
676
"rho0"
, 775.49*
MeV
, 149.1*
MeV
, 0.0,
677
2, -1, -1,
678
2, 0, +1,
679
"meson"
, 0, 0, 113,
680
false
, 0.0*
ns
, NULL );
681
particle->
SetAntiPDGEncoding
(113);
682
// set sub type
683
particle->
SetMultipletName
(
"rho"
);
684
// create decay table
685
decayTable =
new
G4DecayTable
();
686
// create decay channel of rho0 -> pi+ + pi-
687
// parent BR #daughters
688
mode =
new
G4PhaseSpaceDecayChannel
(
"rho0"
,1.000, 2,
689
"pi+"
,
"pi-"
);
690
// add decay table
691
decayTable->
Insert
(mode);
692
particle->
SetDecayTable
(decayTable);
693
694
// a0(980)+
695
particle =
new
G4ExcitedMesons
(
696
"a0(980)+"
, 980.0*
MeV
, 60.0*
MeV
, +1.0*
eplus
,
697
0, +1, +1,
698
2, +2, -1,
699
"meson"
, 0, 0, 9000211,
700
false
, 0.0, NULL);
701
// set sub type
702
particle->
SetMultipletName
(
"a0(980)"
);
703
// create decay table
704
decayTable =
new
G4DecayTable
();
705
// create decay channel of a0(980)+ -> eta + pi+
706
// parent BR #daughters
707
mode =
new
G4PhaseSpaceDecayChannel
(
"a0(980)+"
,1.000, 2,
708
"pi+"
,
"eta"
);
709
// add decay table
710
decayTable->
Insert
(mode);
711
particle->
SetDecayTable
(decayTable);
712
713
// a0(980)-
714
particle =
new
G4ExcitedMesons
(
715
"a0(980)-"
, 980.0*
MeV
, 60.0*
MeV
, -1.0*
eplus
,
716
0, +1, +1,
717
2, -2, -1,
718
"meson"
, 0, 0, -9000211,
719
false
, 0.0, NULL);
720
// set sub type
721
particle->
SetMultipletName
(
"a0(980)"
);
722
// create decay table
723
decayTable =
new
G4DecayTable
();
724
// create decay channel of a0(980)- -> eta + pi-
725
// parent BR #daughters
726
mode =
new
G4PhaseSpaceDecayChannel
(
"a0(980)-"
,1.000, 2,
727
"pi-"
,
"eta"
);
728
// add decay table
729
decayTable->
Insert
(mode);
730
particle->
SetDecayTable
(decayTable);
731
732
// a0(980)0
733
particle =
new
G4ExcitedMesons
(
734
"a0(980)0"
, 980.0*
MeV
, 75.0*
MeV
, 0.0,
735
0, +1, +1,
736
2, 0, -1,
737
"meson"
, 0, 0, 9000111,
738
false
, 0.0, NULL);
739
particle->
SetAntiPDGEncoding
(9000111);
740
// set sub type
741
particle->
SetMultipletName
(
"a0(980)"
);
742
// create decay table
743
decayTable =
new
G4DecayTable
();
744
// create decay channel of a0(980)0 -> eta + pi0
745
// parent BR #daughters
746
mode =
new
G4PhaseSpaceDecayChannel
(
"a0(980)0"
,1.000, 2,
747
"pi0"
,
"eta"
);
748
// add decay table
749
decayTable->
Insert
(mode);
750
particle->
SetDecayTable
(decayTable);
751
752
// f0(600) (was f0(400-1200))
753
particle =
new
G4ExcitedMesons
(
754
"f0(600)"
, 800.0*
MeV
, 800.0*
MeV
, 0.0,
755
0, +1, +1,
756
0, 0, +1,
757
"meson"
, 0, 0, 9000221,
758
false
, 0.0, NULL);
759
particle->
SetAntiPDGEncoding
(9000221);
760
// set sub type
761
particle->
SetMultipletName
(
"f0(600)"
);
762
// create decay table
763
decayTable =
new
G4DecayTable
();
764
// create decay channel of f0(600) -> pi + pi
765
// parent BR #daughters
766
mode =
new
G4PhaseSpaceDecayChannel
(
"f0(600)"
,1.000, 2,
767
"pi+"
,
"pi-"
);
768
// add decay table
769
decayTable->
Insert
(mode);
770
particle->
SetDecayTable
(decayTable);
771
772
773
// f0(980)
774
particle =
new
G4ExcitedMesons
(
775
"f0(980)"
, 980.0*
MeV
, 70.0*
MeV
, 0.0,
776
0, +1, +1,
777
0, 0, +1,
778
"meson"
, 0, 0, 9010221,
779
false
, 0.0, NULL);
780
particle->
SetAntiPDGEncoding
(9010221);
781
// set sub type
782
particle->
SetMultipletName
(
"f0(980)"
);
783
// create decay table
784
decayTable =
new
G4DecayTable
();
785
// create decay channel of f0(980) -> pi + pi
786
// parent BR #daughters
787
mode =
new
G4PhaseSpaceDecayChannel
(
"f0(980)"
,1.000, 2,
788
"pi+"
,
"pi-"
);
789
// add decay table
790
decayTable->
Insert
(mode);
791
particle->
SetDecayTable
(decayTable);
792
793
// eta(1405)
794
particle =
new
G4ExcitedMesons
(
795
"eta(1405)"
, 1409.8*
MeV
, 51.1*
MeV
, 0.0,
796
0, -1, +1,
797
0, 0, +1,
798
"meson"
, 0, 0, 9020221,
799
false
, 0.0, NULL);
800
particle->
SetAntiPDGEncoding
(9020221);
801
// set sub type
802
particle->
SetMultipletName
(
"eta(1405)"
);
803
// create decay table
804
decayTable =
new
G4DecayTable
();
805
// create decay channel of eta(1405) -> rho + rho
806
// parent BR #daughters
807
mode =
new
G4PhaseSpaceDecayChannel
(
"eta(1405)"
,1.000, 2,
808
"rho+"
,
"rho-"
);
809
// add decay table
810
decayTable->
Insert
(mode);
811
particle->
SetDecayTable
(decayTable);
812
// f0(1500)
813
particle =
new
G4ExcitedMesons
(
814
"f0(1500)"
, 1505.0*
MeV
, 109.0*
MeV
, 0.0,
815
0, +1, +1,
816
0, 0, +1,
817
"meson"
, 0, 0, 9030221,
818
false
, 0.0, NULL);
819
particle->
SetAntiPDGEncoding
(9030221);
820
// set sub type
821
particle->
SetMultipletName
(
"f0(1500)"
);
822
// create decay table
823
decayTable =
new
G4DecayTable
();
824
// create decay channel of f0(1500) -> eta + eta
825
// parent BR #daughters
826
mode =
new
G4PhaseSpaceDecayChannel
(
"f0(1500)"
,1.000, 2,
827
"eta"
,
"eta"
);
828
// add decay table
829
decayTable->
Insert
(mode);
830
particle->
SetDecayTable
(decayTable);
831
832
// f0(1710)
833
particle =
new
G4ExcitedMesons
(
834
"f0(1710)"
, 1720.0*
MeV
, 135.0*
MeV
, 0.0,
835
0, +1, +1,
836
0, 0, +1,
837
"meson"
, 0, 0, 10331,
838
false
, 0.0, NULL);
839
particle->
SetAntiPDGEncoding
(10331);
840
// set sub type
841
particle->
SetMultipletName
(
"f0(1710)"
);
842
// create decay table
843
decayTable =
new
G4DecayTable
();
844
845
// create decay channel of f0(1710) -> k0 + k0
846
// parent BR #daughters
847
mode =
new
G4PhaseSpaceDecayChannel
(
"f0(1710)"
,0.40, 2,
848
"kaon0S"
,
"kaon0S"
);
849
// add decay table
850
decayTable->
Insert
(mode);
851
852
// create decay channel of f0(1710) -> k+ + k+
853
// parent BR #daughters
854
mode =
new
G4PhaseSpaceDecayChannel
(
"f0(1710)"
,0.40, 2,
855
"kaon+"
,
"kaon-"
);
856
// add decay table
857
decayTable->
Insert
(mode);
858
859
// create decay channel of f0(1710) -> eta + eta
860
// parent BR #daughters
861
mode =
new
G4PhaseSpaceDecayChannel
(
"f0(1710)"
,0.20, 2,
862
"eta"
,
"eta"
);
863
// add decay table
864
decayTable->
Insert
(mode);
865
particle->
SetDecayTable
(decayTable);
866
867
868
// k_star+
869
particle =
new
G4ExcitedMesons
(
870
"k_star+"
, 891.66*
MeV
, 50.8*
MeV
, +1.0*
eplus
,
871
2, -1, 0,
872
1, +1, 0,
873
"meson"
, 0, 0, 323,
874
false
, 0.0, NULL);
875
// set sub type
876
particle->
SetMultipletName
(
"k_star"
);
877
// create decay table
878
decayTable =
new
G4DecayTable
();
879
// create decay channel of k_star+ -> kaon+ + pi0
880
// parent BR #daughters
881
mode =
new
G4PhaseSpaceDecayChannel
(
"k_star+"
,0.500, 2,
882
"kaon+"
,
"pi0"
);
883
// add decay table
884
decayTable->
Insert
(mode);
885
// create decay channel of k_star+ -> kaon+ + pi0
886
// parent BR #daughters
887
mode =
new
G4PhaseSpaceDecayChannel
(
"k_star+"
,0.500, 2,
888
"kaon0"
,
"pi+"
);
889
// add decay table
890
decayTable->
Insert
(mode);
891
particle->
SetDecayTable
(decayTable);
892
893
// k_star0
894
particle =
new
G4ExcitedMesons
(
895
"k_star0"
, 895.94*
MeV
, 48.7*
MeV
, 0.0*
eplus
,
896
2, -1, 0,
897
1, -1, 0,
898
"meson"
, 0, 0, 313,
899
false
, 0.0, NULL);
900
// set sub type
901
particle->
SetMultipletName
(
"k_star"
);
902
// create decay table
903
decayTable =
new
G4DecayTable
();
904
// create decay channel of k_star0 -> kaon+ + pi-
905
// parent BR #daughters
906
mode =
new
G4PhaseSpaceDecayChannel
(
"k_star0"
,0.500, 2,
907
"kaon+"
,
"pi-"
);
908
// add decay table
909
decayTable->
Insert
(mode);
910
// create decay channel of k_star0 -> kaon0 + pi0
911
// parent BR #daughters
912
mode =
new
G4PhaseSpaceDecayChannel
(
"k_star0"
,0.500, 2,
913
"kaon0"
,
"pi0"
);
914
// add decay table
915
decayTable->
Insert
(mode);
916
particle->
SetDecayTable
(decayTable);
917
918
// k_star-
919
particle =
new
G4ExcitedMesons
(
920
"k_star-"
, 891.66*
MeV
, 50.8*
MeV
, -1.0*
eplus
,
921
2, -1, 0,
922
1, +1, 0,
923
"meson"
, 0, 0, -323,
924
false
, 0.0, NULL);
925
// set sub type
926
particle->
SetMultipletName
(
"k_star"
);
927
// create decay table
928
decayTable =
new
G4DecayTable
();
929
// create decay channel of k_star- -> kaon- + pi0
930
// parent BR #daughters
931
mode =
new
G4PhaseSpaceDecayChannel
(
"k_star-"
,0.500, 2,
932
"kaon-"
,
"pi0"
);
933
// add decay table
934
decayTable->
Insert
(mode);
935
// create decay channel of k_star- -> anti_kaon0 + pi-
936
// parent BR #daughters
937
mode =
new
G4PhaseSpaceDecayChannel
(
"k_star-"
,0.500, 2,
938
"anti_kaon0"
,
"pi-"
);
939
// add decay table
940
decayTable->
Insert
(mode);
941
particle->
SetDecayTable
(decayTable);
942
943
944
// anti_k_star0
945
particle =
new
G4ExcitedMesons
(
946
"anti_k_star0"
, 895.94*
MeV
, 48.7*
MeV
, 0.0*
eplus
,
947
2, -1, 0,
948
1, -1, 0,
949
"meson"
, 0, 0, -313,
950
false
, 0.0, NULL);
951
// set sub type
952
particle->
SetMultipletName
(
"k_star"
);
953
// create decay table
954
decayTable =
new
G4DecayTable
();
955
// create decay channel of anti_k_star0 -> kaon- + pi+
956
// parent BR #daughters
957
mode =
new
G4PhaseSpaceDecayChannel
(
"anti_k_star0"
,0.500, 2,
958
"kaon-"
,
"pi+"
);
959
// add decay table
960
decayTable->
Insert
(mode);
961
// create decay channel of anti_k_star0 -> anti_kaon0 + pi0
962
// parent BR #daughters
963
mode =
new
G4PhaseSpaceDecayChannel
(
"anti_k_star0"
,0.500, 2,
964
"anti_kaon0"
,
"pi0"
);
965
// add decay table
966
decayTable->
Insert
(mode);
967
particle->
SetDecayTable
(decayTable);
968
969
}
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
G4ExcitedXiConstructor
Definition:
G4ExcitedXiConstructor.hh:43
G4ParticleDefinition::SetDecayTable
void SetDecayTable(G4DecayTable *aDecayTable)
python.hepunit.GeV
GeV
Definition:
hepunit.py:120
G4ShortLivedConstructor::~G4ShortLivedConstructor
~G4ShortLivedConstructor()
Definition:
G4ShortLivedConstructor.cc:53
G4ExcitedMesonConstructor.hh
G4ParticleDefinition::SetAntiPDGEncoding
void SetAntiPDGEncoding(G4int aEncoding)
sigmas
subroutine sigmas
Definition:
dpm25pom.f:2176
G4ShortLivedConstructor::ConstructQuarks
static void ConstructQuarks()
Definition:
G4ShortLivedConstructor.cc:70
G4ExcitedDeltaConstructor.hh
python.hepunit.MeV
MeV
Definition:
hepunit.py:117
G4ExcitedMesons::SetMultipletName
void SetMultipletName(const G4String &)
Definition:
G4ExcitedMesons.hh:68
G4ExcitedSigmaConstructor.hh
G4ShortLivedConstructor::ConstructMesons
static void ConstructMesons()
Definition:
G4ShortLivedConstructor.cc:556
G4ExcitedXiConstructor.hh
G4ExcitedBaryons.hh
G4ParticleDefinition
Definition:
G4ParticleDefinition.hh:111
G4DiQuarks
Definition:
G4DiQuarks.hh:49
G4ShortLivedConstructor::ConstructParticle
static void ConstructParticle()
Definition:
G4ShortLivedConstructor.cc:58
G4ExcitedMesons
Definition:
G4ExcitedMesons.hh:49
G4Quarks
Definition:
G4Quarks.hh:49
G4VDecayChannel
Definition:
G4VDecayChannel.hh:101
G4ExcitedLambdaConstructor
Definition:
G4ExcitedLambdaConstructor.hh:43
G4DecayTable
Definition:
G4DecayTable.hh:50
G4ParticleTable.hh
G4VDecayChannel.hh
G4bool
bool G4bool
Definition:
G4Types.hh:79
G4ExcitedBaryons
Definition:
G4ExcitedBaryons.hh:49
G4ExcitedBaryonConstructor::Construct
virtual void Construct(G4int indexOfState=-1)
Definition:
G4ExcitedBaryonConstructor.cc:59
G4ExcitedMesons.hh
G4ShortLivedConstructor::ConstructResonances
static void ConstructResonances()
Definition:
G4ShortLivedConstructor.cc:323
G4ParticleDefinition.hh
G4Quarks.hh
G4ShortLivedConstructor::ConstructBaryons
static void ConstructBaryons()
Definition:
G4ShortLivedConstructor.cc:356
G4ExcitedMesonConstructor
Definition:
G4ExcitedMesonConstructor.hh:49
G4ExcitedDeltaConstructor
Definition:
G4ExcitedDeltaConstructor.hh:43
G4ShortLivedConstructor.hh
G4PhaseSpaceDecayChannel.hh
G4DiQuarks.hh
G4DecayTable::Insert
void Insert(G4VDecayChannel *aChannel)
Definition:
G4DecayTable.cc:60
G4ExcitedLambdaConstructor.hh
G4Gluons.hh
G4ExcitedMesonConstructor::Construct
virtual void Construct(G4int indexOfState=-1)
Definition:
G4ExcitedMesonConstructor.cc:57
G4ExcitedSigmaConstructor
Definition:
G4ExcitedSigmaConstructor.hh:43
G4ShortLivedConstructor::G4ShortLivedConstructor
G4ShortLivedConstructor()
Definition:
G4ShortLivedConstructor.cc:49
G4PhaseSpaceDecayChannel
Definition:
G4PhaseSpaceDecayChannel.hh:45
G4ExcitedNucleonConstructor.hh
G4SystemOfUnits.hh
G4ExcitedBaryons::SetMultipletName
void SetMultipletName(const G4String &name)
Definition:
G4ExcitedBaryons.hh:68
G4DecayTable.hh
G4ExcitedNucleonConstructor
Definition:
G4ExcitedNucleonConstructor.hh:43
ns
#define ns
Definition:
xmlparse.cc:597
G4Gluons
Definition:
G4Gluons.hh:49
python.hepunit.eplus
int eplus
Definition:
hepunit.py:100
Generated on Sat Dec 14 2013 14:34:22 for Geant4_10 by
1.8.5