Geant4
9.6.p02
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
geant4_9_6_p02
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$
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 "
G4ShortLivedTable.hh
"
44
#include "
G4PhaseSpaceDecayChannel.hh
"
45
#include "
G4VDecayChannel.hh
"
46
#include "
G4DecayTable.hh
"
47
48
G4bool
G4ShortLivedConstructor::isConstructed =
false
;
49
50
G4ShortLivedConstructor::G4ShortLivedConstructor
()
51
{
52
}
53
54
G4ShortLivedConstructor::~G4ShortLivedConstructor
()
55
{
56
}
57
58
59
void
G4ShortLivedConstructor::ConstructParticle
()
60
{
61
if
(!isConstructed){
62
ConstructQuarks
();
63
ConstructResonances
();
64
isConstructed =
true
;
65
}
66
}
67
68
#include "
G4DiQuarks.hh
"
69
#include "
G4Quarks.hh
"
70
#include "
G4Gluons.hh
"
71
void
G4ShortLivedConstructor::ConstructQuarks
()
72
{
73
G4ParticleDefinition
* particle;
74
75
// Construct Quraks/Gluons as dynamic object
76
// Arguments for constructor are as follows
77
// name mass width charge
78
// 2*spin parity C-conjugation
79
// 2*Isospin 2*Isospin3 G-parity
80
// type lepton number baryon number PDG encoding
81
// stable lifetime decay table
82
83
// gluon
84
particle =
new
G4Gluons
(
85
"gluon"
, 0.0*
MeV
, 0.0*
MeV
, 0.0*
eplus
,
86
2, -1, 0,
87
0, 0, 0,
88
"gluons"
, 0, 0, 21,
89
true
, -1.0, NULL);
90
particle->
SetAntiPDGEncoding
(21);
91
// u-quark
92
particle =
new
G4Quarks
(
93
"u_quark"
, 2.4*
MeV
, 0.0*
MeV
, 2./3.*
eplus
,
94
1, +1, 0,
95
1, +1, 0,
96
"quarks"
, 0, 0, 2,
97
true
, -1.0, NULL);
98
// d-quark
99
particle =
new
G4Quarks
(
100
"d_quark"
, 4.9*
MeV
, 0.0*
MeV
, -1./3.*
eplus
,
101
1, +1, 0,
102
1, -1, 0,
103
"quarks"
, 0, 0, 1,
104
true
, -1.0, NULL);
105
// s-quark
106
particle =
new
G4Quarks
(
107
"s_quark"
, 100.0*
MeV
, 0.0*
MeV
, -1./3.*
eplus
,
108
1, +1, 0,
109
0, 0, 0,
110
"quarks"
, 0, 0, 3,
111
true
, -1.0, NULL);
112
// c-quark
113
particle =
new
G4Quarks
(
114
"c_quark"
, 1.29*
GeV
, 0.0*
MeV
, +2./3.*
eplus
,
115
1, +1, 0,
116
0, 0, 0,
117
"quarks"
, 0, 0, 4,
118
true
, -1.0, NULL);
119
// b-quark
120
particle =
new
G4Quarks
(
121
"b_quark"
, 4.19*
GeV
, 0.0*
MeV
, -1./3.*
eplus
,
122
1, +1, 0,
123
0, 0, 0,
124
"quarks"
, 0, 0, 5,
125
true
, -1.0, NULL);
126
// t-quark
127
particle =
new
G4Quarks
(
128
"t_quark"
, 172.9*
GeV
, 2.0*
GeV
, +2./3.*
eplus
,
129
1, +1, 0,
130
0, 0, 0,
131
"quarks"
, 0, 0, 6,
132
true
, -1.0, NULL);
133
// anti u-quark
134
particle =
new
G4Quarks
(
135
"anti_u_quark"
, 2.4*
MeV
, 0.0*
MeV
, -2./3.*
eplus
,
136
1, +1, 0,
137
1, -1, 0,
138
"quarks"
, 0, 0, -2,
139
true
, -1.0, NULL);
140
// anti d-quark
141
particle =
new
G4Quarks
(
142
"anti_d_quark"
, 4.9*
MeV
, 0.0*
MeV
, 1./3.*
eplus
,
143
1, +1, 0,
144
1, +1, 0,
145
"quarks"
, 0, 0, -1,
146
true
, -1.0, NULL);
147
// s-quark
148
particle =
new
G4Quarks
(
149
"anti_s_quark"
, 100.0*
MeV
, 0.0*
MeV
, 1./3.*
eplus
,
150
1, +1, 0,
151
0, 0, 0,
152
"quarks"
, 0, 0, -3,
153
true
, -1.0, NULL);
154
// c-quark
155
particle =
new
G4Quarks
(
156
"anti_c_quark"
, 1.29*
GeV
, 0.0*
MeV
, -2./3.*
eplus
,
157
1, +1, 0,
158
0, 0, 0,
159
"quarks"
, 0, 0, -4,
160
true
, -1.0, NULL);
161
// b-quark
162
particle =
new
G4Quarks
(
163
"anti_b_quark"
, 4.19*
GeV
, 0.0*
MeV
, 1./3.*
eplus
,
164
1, +1, 0,
165
0, 0, 0,
166
"quarks"
, 0, 0, -5,
167
true
, -1.0, NULL);
168
// t-quark
169
particle =
new
G4Quarks
(
170
"anti_t_quark"
, 172.9*
GeV
, 2.0*
GeV
, -2./3.*
eplus
,
171
1, +1, 0,
172
0, 0, 0,
173
"quarks"
, 0, 0, -6,
174
true
, -1.0, NULL);
175
176
// uu1-Diquark
177
particle =
new
G4DiQuarks
(
178
"uu1_diquark"
, 4.8*
MeV
, 0.0*
MeV
, 4./3.*
eplus
,
179
2, +1, 0,
180
2, +2, 0,
181
"diquarks"
, 0, 0, 2203,
182
true
, -1.0, NULL);
183
// ud1-Diquark
184
particle =
new
G4DiQuarks
(
185
"ud1_diquark"
, 7.2*
MeV
, 0.0*
MeV
, 1./3.*
eplus
,
186
2, +1, 0,
187
2, +0, 0,
188
"diquarks"
, 0, 0, 2103,
189
true
, -1.0, NULL);
190
// dd1-Diquark
191
particle =
new
G4DiQuarks
(
192
"dd1_diquark"
, 9.6*
MeV
, 0.0*
MeV
, -2./3.*
eplus
,
193
2, +1, 0,
194
2, -2, 0,
195
"diquarks"
, 0, 0, 1103,
196
true
, -1.0, NULL);
197
198
// ud0-Diquark
199
particle =
new
G4DiQuarks
(
200
"ud0_diquark"
, 7.3*
MeV
, 0.0*
MeV
, 1./3.*
eplus
,
201
0, +1, 0,
202
0, +0, 0,
203
"diquarks"
, 0, 0, 2101,
204
true
, -1.0, NULL);
205
206
// sd1-Diquark
207
particle =
new
G4DiQuarks
(
208
"sd1_diquark"
, 108.8*
MeV
, 0.0*
MeV
, -2./3.*
eplus
,
209
2, +1, 0,
210
1, -1, 0,
211
"diquarks"
, 0, 0, 3103,
212
true
, -1.0, NULL);
213
214
// su1-Diquark
215
particle =
new
G4DiQuarks
(
216
"su1_diquark"
, 106.4*
MeV
, 0.0*
MeV
, 1./3.*
eplus
,
217
2, +1, 0,
218
1, +1, 0,
219
"diquarks"
, 0, 0, 3203,
220
true
, -1.0, NULL);
221
222
// sd0-Diquark
223
particle =
new
G4DiQuarks
(
224
"sd0_diquark"
, 108.0*
MeV
, 0.0*
MeV
, -2./3.*
eplus
,
225
0, +1, 0,
226
1, -1, 0,
227
"diquarks"
, 0, 0, 3101,
228
true
, -1.0, NULL);
229
230
// su0-Diquark
231
particle =
new
G4DiQuarks
(
232
"su0_diquark"
, 106.4*
MeV
, 0.0*
MeV
, 1./3.*
eplus
,
233
0, +1, 0,
234
1, +1, 0,
235
"diquarks"
, 0, 0, 3201,
236
true
, -1.0, NULL);
237
238
// anti uu1-Diquark
239
particle =
new
G4DiQuarks
(
240
"anti_uu1_diquark"
, 4.8*
MeV
, 0.0*
MeV
, -4./3.*
eplus
,
241
2, +1, 0,
242
2, -2, 0,
243
"diquarks"
, 0, 0, -2203,
244
true
, -1.0, NULL);
245
// anti ud1-Diquark
246
particle =
new
G4DiQuarks
(
247
"anti_ud1_diquark"
, 7.2*
MeV
, 0.0*
MeV
, -1./3.*
eplus
,
248
2, +1, 0,
249
2, +0, 0,
250
"diquarks"
, 0, 0, -2103,
251
true
, -1.0, NULL);
252
// anti dd1-Diquark
253
particle =
new
G4DiQuarks
(
254
"anti_dd1_diquark"
, 9.6*
MeV
, 0.0*
MeV
, 2./3.*
eplus
,
255
2, +1, 0,
256
2, +2, 0,
257
"diquarks"
, 0, 0, -1103,
258
true
, -1.0, NULL);
259
260
// anti ud0-Diquark
261
particle =
new
G4DiQuarks
(
262
"anti_ud0_diquark"
, 7.3*
MeV
, 0.0*
MeV
, -1./3.*
eplus
,
263
0, +1, 0,
264
0, +0, 0,
265
"diquarks"
, 0, 0, -2101,
266
true
, -1.0, NULL);
267
268
// anti sd1-Diquark
269
particle =
new
G4DiQuarks
(
270
"anti_sd1_diquark"
, 108.8*
MeV
, 0.0*
MeV
, 2./3.*
eplus
,
271
2, +1, 0,
272
1, +1, 0,
273
"diquarks"
, 0, 0, -3103,
274
true
, -1.0, NULL);
275
276
// anti su1-Diquark
277
particle =
new
G4DiQuarks
(
278
"anti_su1_diquark"
, 106.4*
MeV
, 0.0*
MeV
, -1./3.*
eplus
,
279
2, +1, 0,
280
1, -1, 0,
281
"diquarks"
, 0, 0, -3203,
282
true
, -1.0, NULL);
283
284
// anti sd0-Diquark
285
particle =
new
G4DiQuarks
(
286
"anti_sd0_diquark"
, 108.0*
MeV
, 0.0*
MeV
, 2./3.*
eplus
,
287
0, +1, 0,
288
1, +1, 0,
289
"diquarks"
, 0, 0, -3101,
290
true
, -1.0, NULL);
291
292
// anti su0-Diquark
293
particle =
new
G4DiQuarks
(
294
"anti_su0_diquark"
, 106.4*
MeV
, 0.0*
MeV
, -1./3.*
eplus
,
295
0, +1, 0,
296
1, -1, 0,
297
"diquarks"
, 0, 0, -3201,
298
true
, -1.0, NULL);
299
// ss1-Diquark
300
particle =
new
G4DiQuarks
(
301
"ss1_diquark"
, 208.0*
MeV
, 0.0*
MeV
, -2./3.*
eplus
,
302
2, +1, 0,
303
0, 0, 0,
304
"diquarks"
, 0, 0, 3303,
305
true
, -1.0, NULL);
306
307
// anti ss1-Diquark
308
particle =
new
G4DiQuarks
(
309
"anti_ss1_diquark"
, 208.0*
MeV
, 0.0*
MeV
, 2./3.*
eplus
,
310
2, +1, 0,
311
0, 0, 0,
312
"diquarks"
, 0, 0, -3303,
313
true
, -1.0, NULL);
314
315
particle = NULL;
316
}
317
318
#include "
G4ExcitedNucleonConstructor.hh
"
319
#include "
G4ExcitedDeltaConstructor.hh
"
320
#include "
G4ExcitedLambdaConstructor.hh
"
321
#include "
G4ExcitedSigmaConstructor.hh
"
322
#include "
G4ExcitedXiConstructor.hh
"
323
#include "
G4ExcitedMesonConstructor.hh
"
324
void
G4ShortLivedConstructor::ConstructResonances
()
325
{
326
ConstructBaryons
();
327
ConstructMesons
();
328
329
// N*
330
G4ExcitedNucleonConstructor
nucleons;
331
nucleons.
Construct
();
332
333
// Delta*
334
G4ExcitedDeltaConstructor
deltas;
335
deltas.
Construct
();
336
337
// Lambda*
338
G4ExcitedLambdaConstructor
lamdas;
339
lamdas.
Construct
();
340
341
// Sigma*
342
G4ExcitedSigmaConstructor
sigmas
;
343
sigmas.
Construct
();
344
345
// Xi*
346
G4ExcitedXiConstructor
xis;
347
xis.
Construct
();
348
349
// Mesons
350
G4ExcitedMesonConstructor
mesons;
351
mesons.
Construct
();
352
353
}
354
355
356
#include "
G4ExcitedBaryons.hh
"
357
void
G4ShortLivedConstructor::ConstructBaryons
()
358
{
359
G4DecayTable
* decayTable;
360
G4VDecayChannel
* mode;
361
G4ExcitedBaryons
* particle;
362
363
// Construct Resonace particles as dynamic object
364
// Arguments for constructor are as follows
365
// name mass width charge
366
// 2*spin parity C-conjugation
367
// 2*Isospin 2*Isospin3 G-parity
368
// type lepton number baryon number PDG encoding
369
// stable lifetime decay table
370
371
// delta baryons
372
// delta(1232)++
373
particle =
new
G4ExcitedBaryons
(
374
"delta++"
, 1.232*
GeV
, 120.0*
MeV
, +2.0*
eplus
,
375
3, +1, 0,
376
3, +3, 0,
377
"baryon"
, 0, +1, 2224,
378
false
, 0.0, NULL);
379
// set sub type
380
particle->
SetMultipletName
(
"delta"
);
381
// create decay table
382
decayTable =
new
G4DecayTable
();
383
// create decay channel of delta++ -> proton + pi+
384
// parent BR #daughters
385
mode =
new
G4PhaseSpaceDecayChannel
(
"delta++"
,1.000, 2,
386
"proton"
,
"pi+"
);
387
// add decay table
388
decayTable->
Insert
(mode);
389
particle->
SetDecayTable
(decayTable);
390
391
// delta(1232)+
392
particle =
new
G4ExcitedBaryons
(
393
"delta+"
, 1.232*
GeV
, 120.0*
MeV
, +1.0*
eplus
,
394
3, +1, 0,
395
3, +1, 0,
396
"baryon"
, 0, +1, 2214,
397
false
, 0.0, NULL);
398
// set sub type
399
particle->
SetMultipletName
(
"delta(1232)"
);
400
// create decay table
401
decayTable =
new
G4DecayTable
();
402
// create decay channel of delta+ -> proton + Gamma
403
// parent BR #daughters
404
mode =
new
G4PhaseSpaceDecayChannel
(
"delta+"
, 0.01, 2,
405
"proton"
,
"gamma"
);
406
decayTable->
Insert
(mode);
407
// create decay channel of delta+ -> neutron + pi+
408
// parent BR #daughters
409
// create decay channel of delta+ -> proton + pi0
410
// parent BR #daughters
411
mode =
new
G4PhaseSpaceDecayChannel
(
"delta+"
, 0.495, 2,
412
"proton"
,
"pi0"
);
413
decayTable->
Insert
(mode);
414
// create decay channel of delta+ -> neutron + pi+
415
// parent BR #daughters
416
mode =
new
G4PhaseSpaceDecayChannel
(
"delta+"
, 0.495, 2,
417
"neutron"
,
"pi+"
);
418
decayTable->
Insert
(mode);
419
particle->
SetDecayTable
(decayTable);
420
421
// delta(1232)0
422
particle =
new
G4ExcitedBaryons
(
423
"delta0"
, 1.232*
GeV
, 120.0*
MeV
, +0.0*
eplus
,
424
3, +1, 0,
425
3, -1, 0,
426
"baryon"
, 0, +1, 2114,
427
false
, 0.0, NULL);
428
// set sub type
429
particle->
SetMultipletName
(
"delta(1232)"
);
430
// create decay table
431
decayTable =
new
G4DecayTable
();
432
// create decay channel of delta+ -> neutron + gamma
433
// parent BR #daughters
434
mode =
new
G4PhaseSpaceDecayChannel
(
"delta0"
, 0.01, 2,
435
"neutron"
,
"gamma"
);
436
decayTable->
Insert
(mode);
437
// create decay channel of delta+ -> proton + pi-
438
// parent BR #daughters
439
mode =
new
G4PhaseSpaceDecayChannel
(
"delta0"
, 0.495, 2,
440
"proton"
,
"pi-"
);
441
decayTable->
Insert
(mode);
442
// create decay channel of delta+ -> neutron + pi0
443
// parent BR #daughters
444
mode =
new
G4PhaseSpaceDecayChannel
(
"delta0"
, 0.495, 2,
445
"neutron"
,
"pi0"
);
446
decayTable->
Insert
(mode);
447
particle->
SetDecayTable
(decayTable);
448
449
// delta(1232)-
450
particle =
new
G4ExcitedBaryons
(
451
"delta-"
, 1.232*
GeV
, 118.0*
MeV
, -1.0*
eplus
,
452
3, +1, 0,
453
3, -3, 0,
454
"baryon"
, 0, +1, 1114,
455
false
, 0.0, NULL);
456
// set sub type
457
particle->
SetMultipletName
(
"delta(1232)"
);
458
// create decay table
459
decayTable =
new
G4DecayTable
();
460
// create decay channel of delta+ -> neutron + pi-
461
// parent BR #daughters
462
mode =
new
G4PhaseSpaceDecayChannel
(
"delta-"
, 1.000, 2,
463
"neutron"
,
"pi-"
);
464
decayTable->
Insert
(mode);
465
particle->
SetDecayTable
(decayTable);
466
467
469
// anti_delta baryons
470
// anti_delta(1232)++
471
particle =
new
G4ExcitedBaryons
(
472
"anti_delta++"
, 1.232*
GeV
, 120.0*
MeV
, -2.0*
eplus
,
473
3, +1, 0,
474
3, -3, 0,
475
"baryon"
, 0, -1, -2224,
476
false
, 0.0, NULL);
477
// set sub type
478
particle->
SetMultipletName
(
"delta(1232)"
);
479
// create decay table
480
decayTable =
new
G4DecayTable
();
481
// create decay channel of delta++ -> anti_proton + pi-
482
// parent BR #daughters
483
mode =
new
G4PhaseSpaceDecayChannel
(
"anti_delta++"
,1.000, 2,
484
"anti_proton"
,
"pi-"
);
485
// add decay table
486
decayTable->
Insert
(mode);
487
particle->
SetDecayTable
(decayTable);
488
489
// anti_delta(1232)+
490
particle =
new
G4ExcitedBaryons
(
491
"anti_delta+"
, 1.232*
GeV
, 120.0*
MeV
, -1.0*
eplus
,
492
3, +1, 0,
493
3, -1, 0,
494
"baryon"
, 0, -1, -2214,
495
false
, 0.0, NULL);
496
// set sub type
497
particle->
SetMultipletName
(
"delta(1232)"
);
498
// create decay table
499
decayTable =
new
G4DecayTable
();
500
// create decay channel of anti_delta+ -> anti_proton + pi0
501
// parent BR #daughters
502
mode =
new
G4PhaseSpaceDecayChannel
(
"anti_delta+"
, 0.500, 2,
503
"anti_proton"
,
"pi0"
);
504
decayTable->
Insert
(mode);
505
// create decay channel of anti_delta+ -> anti_neutron + pi-
506
// parent BR #daughters
507
mode =
new
G4PhaseSpaceDecayChannel
(
"anti_delta+"
, 0.500, 2,
508
"anti_neutron"
,
"pi-"
);
509
decayTable->
Insert
(mode);
510
particle->
SetDecayTable
(decayTable);
511
512
// anti_delta(1232)0
513
particle =
new
G4ExcitedBaryons
(
514
"anti_delta0"
, 1.232*
GeV
, 120.0*
MeV
, +0.0*
eplus
,
515
3, +1, 0,
516
3, +1, 0,
517
"baryon"
, 0, -1, -2114,
518
false
, 0.0, NULL);
519
// set sub type
520
particle->
SetMultipletName
(
"delta(1232)"
);
521
// create decay table
522
decayTable =
new
G4DecayTable
();
523
// create decay channel of anti_delta+ -> anti_proton + pi+
524
// parent BR #daughters
525
mode =
new
G4PhaseSpaceDecayChannel
(
"anti_delta0"
, 0.500, 2,
526
"anti_proton"
,
"pi+"
);
527
decayTable->
Insert
(mode);
528
// create decay channel of delta+ -> neutron + pi0
529
// parent BR #daughters
530
mode =
new
G4PhaseSpaceDecayChannel
(
"anti_delta0"
, 0.500, 2,
531
"anti_neutron"
,
"pi0"
);
532
decayTable->
Insert
(mode);
533
particle->
SetDecayTable
(decayTable);
534
535
// anti_delta(1232)-
536
particle =
new
G4ExcitedBaryons
(
537
"anti_delta-"
, 1.232*
GeV
, 118.0*
MeV
, +1.0*
eplus
,
538
3, +1, 0,
539
3, +3, 0,
540
"baryon"
, 0, -1, -1114,
541
false
, 0.0, NULL);
542
// set sub type
543
particle->
SetMultipletName
(
"delta(1232)"
);
544
// create decay table
545
decayTable =
new
G4DecayTable
();
546
// create decay channel of delta- -> neutron + pi+
547
// parent BR #daughters
548
mode =
new
G4PhaseSpaceDecayChannel
(
"anti_delta-"
, 1.000, 2,
549
"anti_neutron"
,
"pi+"
);
550
decayTable->
Insert
(mode);
551
particle->
SetDecayTable
(decayTable);
552
553
554
555
}
556
#include "
G4ExcitedMesons.hh
"
557
void
G4ShortLivedConstructor::ConstructMesons
()
558
{
559
G4DecayTable
* decayTable;
560
G4VDecayChannel
* mode;
561
G4ExcitedMesons
* particle;
562
563
// Construct Resonace particles as dynamic object
564
// Arguments for constructor are as follows
565
// name mass width charge
566
// 2*spin parity C-conjugation
567
// 2*Isospin 2*Isospin3 G-parity
568
// type lepton number baryon number PDG encoding
569
// stable lifetime decay table
570
571
// vector mesons
572
// omega
573
particle =
new
G4ExcitedMesons
(
574
"omega"
, 782.65*
MeV
, 8.49*
MeV
, +0.0*
eplus
,
575
2, -1, -1,
576
0, +0, -1,
577
"meson"
, 0, 0, 223,
578
false
, 0.0, NULL);
579
particle->
SetAntiPDGEncoding
(223);
580
// set sub type
581
particle->
SetMultipletName
(
"omega"
);
582
// create decay table
583
decayTable =
new
G4DecayTable
();
584
// create decay channel of omega -> pi+ + pi- + pi0
585
// parent BR #daughters
586
mode =
new
G4PhaseSpaceDecayChannel
(
"omega"
,0.891, 3,
587
"pi+"
,
"pi-"
,
"pi0"
);
588
// add decay table
589
decayTable->
Insert
(mode);
590
591
// create decay channel of omega -> gamma + pi0
592
// parent BR #daughters
593
mode =
new
G4PhaseSpaceDecayChannel
(
"omega"
,0.0890, 2,
594
"gamma"
,
"pi0"
);
595
// add decay table
596
decayTable->
Insert
(mode);
597
598
// create decay channel of omega -> pi+ + pi-
599
// parent BR #daughters
600
mode =
new
G4PhaseSpaceDecayChannel
(
"omega"
,0.0170, 2,
601
"pi+"
,
"pi-"
);
602
// add decay table
603
decayTable->
Insert
(mode);
604
particle->
SetDecayTable
(decayTable);
605
606
// phi
607
particle =
new
G4ExcitedMesons
(
608
"phi"
, 1019.46*
MeV
, 4.26*
MeV
, +0.0*
eplus
,
609
2, -1, -1,
610
0, +0, -1,
611
"meson"
, 0, 0, 333,
612
false
, 0.0, NULL);
613
particle->
SetAntiPDGEncoding
(333);
614
// set sub type
615
particle->
SetMultipletName
(
"phi"
);
616
// create decay table
617
decayTable =
new
G4DecayTable
();
618
// create decay channel of phi -> kaon+ + kaon-
619
// parent BR #daughters
620
mode =
new
G4PhaseSpaceDecayChannel
(
"phi"
,0.492, 2,
621
"kaon+"
,
"kaon-"
);
622
decayTable->
Insert
(mode);
623
// create decay channel of phi -> kaon0S + kaon0L
624
// parent BR #daughters
625
mode =
new
G4PhaseSpaceDecayChannel
(
"phi"
,0.340, 2,
626
"kaon0S"
,
"kaon0L"
);
627
// add decay table
628
decayTable->
Insert
(mode);
629
// create decay channel of phi -> rho0 + pi0
630
// parent BR #daughters
631
mode =
new
G4PhaseSpaceDecayChannel
(
"phi"
,0.153, 2,
632
"rho0"
,
"pi0"
);
633
// add decay table
634
decayTable->
Insert
(mode);
635
particle->
SetDecayTable
(decayTable);
636
637
// rho+
638
particle =
new
G4ExcitedMesons
(
639
"rho+"
, 775.8*
MeV
, 150.3*
MeV
, +1.0*
eplus
,
640
2, -1, -1,
641
2, +2, +1,
642
"meson"
, 0, 0, 213,
643
false
, 0.0, NULL);
644
// set sub type
645
particle->
SetMultipletName
(
"rho"
);
646
// create decay table
647
decayTable =
new
G4DecayTable
();
648
// create decay channel of rho+ -> pi+ + pi0
649
// parent BR #daughters
650
mode =
new
G4PhaseSpaceDecayChannel
(
"rho+"
,1.000, 2,
651
"pi+"
,
"pi0"
);
652
// add decay table
653
decayTable->
Insert
(mode);
654
particle->
SetDecayTable
(decayTable);
655
656
// rho-
657
particle =
new
G4ExcitedMesons
(
658
"rho-"
, 775.8*
MeV
, 150.3*
MeV
, -1.0*
eplus
,
659
2, -1, -1,
660
2, -2, +1,
661
"meson"
, 0, 0, -213,
662
false
, 0.0, NULL);
663
// set sub type
664
particle->
SetMultipletName
(
"rho"
);
665
// create decay table
666
decayTable =
new
G4DecayTable
();
667
// create decay channel of rho- -> pi- + pi0
668
// parent BR #daughters
669
mode =
new
G4PhaseSpaceDecayChannel
(
"rho-"
,1.000, 2,
670
"pi-"
,
"pi0"
);
671
// add decay table
672
decayTable->
Insert
(mode);
673
particle->
SetDecayTable
(decayTable);
674
675
// rho0
676
particle =
new
G4ExcitedMesons
(
677
"rho0"
, 775.49*
MeV
, 149.1*
MeV
, 0.0,
678
2, -1, -1,
679
2, 0, +1,
680
"meson"
, 0, 0, 113,
681
false
, 0.0*
ns
, NULL );
682
particle->
SetAntiPDGEncoding
(113);
683
// set sub type
684
particle->
SetMultipletName
(
"rho"
);
685
// create decay table
686
decayTable =
new
G4DecayTable
();
687
// create decay channel of rho0 -> pi+ + pi-
688
// parent BR #daughters
689
mode =
new
G4PhaseSpaceDecayChannel
(
"rho0"
,1.000, 2,
690
"pi+"
,
"pi-"
);
691
// add decay table
692
decayTable->
Insert
(mode);
693
particle->
SetDecayTable
(decayTable);
694
695
// a0(980)+
696
particle =
new
G4ExcitedMesons
(
697
"a0(980)+"
, 980.0*
MeV
, 60.0*
MeV
, +1.0*
eplus
,
698
0, +1, +1,
699
2, +2, -1,
700
"meson"
, 0, 0, 9000211,
701
false
, 0.0, NULL);
702
// set sub type
703
particle->
SetMultipletName
(
"a0(980)"
);
704
// create decay table
705
decayTable =
new
G4DecayTable
();
706
// create decay channel of a0(980)+ -> eta + pi+
707
// parent BR #daughters
708
mode =
new
G4PhaseSpaceDecayChannel
(
"a0(980)+"
,1.000, 2,
709
"pi+"
,
"eta"
);
710
// add decay table
711
decayTable->
Insert
(mode);
712
particle->
SetDecayTable
(decayTable);
713
714
// a0(980)-
715
particle =
new
G4ExcitedMesons
(
716
"a0(980)-"
, 980.0*
MeV
, 60.0*
MeV
, -1.0*
eplus
,
717
0, +1, +1,
718
2, -2, -1,
719
"meson"
, 0, 0, -9000211,
720
false
, 0.0, NULL);
721
// set sub type
722
particle->
SetMultipletName
(
"a0(980)"
);
723
// create decay table
724
decayTable =
new
G4DecayTable
();
725
// create decay channel of a0(980)- -> eta + pi-
726
// parent BR #daughters
727
mode =
new
G4PhaseSpaceDecayChannel
(
"a0(980)-"
,1.000, 2,
728
"pi-"
,
"eta"
);
729
// add decay table
730
decayTable->
Insert
(mode);
731
particle->
SetDecayTable
(decayTable);
732
733
// a0(980)0
734
particle =
new
G4ExcitedMesons
(
735
"a0(980)0"
, 980.0*
MeV
, 75.0*
MeV
, 0.0,
736
0, +1, +1,
737
2, 0, -1,
738
"meson"
, 0, 0, 9000111,
739
false
, 0.0, NULL);
740
particle->
SetAntiPDGEncoding
(9000111);
741
// set sub type
742
particle->
SetMultipletName
(
"a0(980)"
);
743
// create decay table
744
decayTable =
new
G4DecayTable
();
745
// create decay channel of a0(980)0 -> eta + pi0
746
// parent BR #daughters
747
mode =
new
G4PhaseSpaceDecayChannel
(
"a0(980)0"
,1.000, 2,
748
"pi0"
,
"eta"
);
749
// add decay table
750
decayTable->
Insert
(mode);
751
particle->
SetDecayTable
(decayTable);
752
753
// f0(600) (was f0(400-1200))
754
particle =
new
G4ExcitedMesons
(
755
"f0(600)"
, 800.0*
MeV
, 800.0*
MeV
, 0.0,
756
0, +1, +1,
757
0, 0, +1,
758
"meson"
, 0, 0, 9000221,
759
false
, 0.0, NULL);
760
particle->
SetAntiPDGEncoding
(9000221);
761
// set sub type
762
particle->
SetMultipletName
(
"f0(600)"
);
763
// create decay table
764
decayTable =
new
G4DecayTable
();
765
// create decay channel of f0(600) -> pi + pi
766
// parent BR #daughters
767
mode =
new
G4PhaseSpaceDecayChannel
(
"f0(600)"
,1.000, 2,
768
"pi+"
,
"pi-"
);
769
// add decay table
770
decayTable->
Insert
(mode);
771
particle->
SetDecayTable
(decayTable);
772
773
774
// f0(980)
775
particle =
new
G4ExcitedMesons
(
776
"f0(980)"
, 980.0*
MeV
, 70.0*
MeV
, 0.0,
777
0, +1, +1,
778
0, 0, +1,
779
"meson"
, 0, 0, 9010221,
780
false
, 0.0, NULL);
781
particle->
SetAntiPDGEncoding
(9010221);
782
// set sub type
783
particle->
SetMultipletName
(
"f0(980)"
);
784
// create decay table
785
decayTable =
new
G4DecayTable
();
786
// create decay channel of f0(980) -> pi + pi
787
// parent BR #daughters
788
mode =
new
G4PhaseSpaceDecayChannel
(
"f0(980)"
,1.000, 2,
789
"pi+"
,
"pi-"
);
790
// add decay table
791
decayTable->
Insert
(mode);
792
particle->
SetDecayTable
(decayTable);
793
794
// eta(1405)
795
particle =
new
G4ExcitedMesons
(
796
"eta(1405)"
, 1409.8*
MeV
, 51.1*
MeV
, 0.0,
797
0, -1, +1,
798
0, 0, +1,
799
"meson"
, 0, 0, 9020221,
800
false
, 0.0, NULL);
801
particle->
SetAntiPDGEncoding
(9020221);
802
// set sub type
803
particle->
SetMultipletName
(
"eta(1405)"
);
804
// create decay table
805
decayTable =
new
G4DecayTable
();
806
// create decay channel of eta(1405) -> rho + rho
807
// parent BR #daughters
808
mode =
new
G4PhaseSpaceDecayChannel
(
"eta(1405)"
,1.000, 2,
809
"rho+"
,
"rho-"
);
810
// add decay table
811
decayTable->
Insert
(mode);
812
particle->
SetDecayTable
(decayTable);
813
// f0(1500)
814
particle =
new
G4ExcitedMesons
(
815
"f0(1500)"
, 1505.0*
MeV
, 109.0*
MeV
, 0.0,
816
0, +1, +1,
817
0, 0, +1,
818
"meson"
, 0, 0, 9030221,
819
false
, 0.0, NULL);
820
particle->
SetAntiPDGEncoding
(9030221);
821
// set sub type
822
particle->
SetMultipletName
(
"f0(1500)"
);
823
// create decay table
824
decayTable =
new
G4DecayTable
();
825
// create decay channel of f0(1500) -> eta + eta
826
// parent BR #daughters
827
mode =
new
G4PhaseSpaceDecayChannel
(
"f0(1500)"
,1.000, 2,
828
"eta"
,
"eta"
);
829
// add decay table
830
decayTable->
Insert
(mode);
831
particle->
SetDecayTable
(decayTable);
832
833
// f0(1710)
834
particle =
new
G4ExcitedMesons
(
835
"f0(1710)"
, 1720.0*
MeV
, 135.0*
MeV
, 0.0,
836
0, +1, +1,
837
0, 0, +1,
838
"meson"
, 0, 0, 10331,
839
false
, 0.0, NULL);
840
particle->
SetAntiPDGEncoding
(10331);
841
// set sub type
842
particle->
SetMultipletName
(
"f0(1710)"
);
843
// create decay table
844
decayTable =
new
G4DecayTable
();
845
846
// create decay channel of f0(1710) -> k0 + k0
847
// parent BR #daughters
848
mode =
new
G4PhaseSpaceDecayChannel
(
"f0(1710)"
,0.40, 2,
849
"kaon0S"
,
"kaon0S"
);
850
// add decay table
851
decayTable->
Insert
(mode);
852
853
// create decay channel of f0(1710) -> k+ + k+
854
// parent BR #daughters
855
mode =
new
G4PhaseSpaceDecayChannel
(
"f0(1710)"
,0.40, 2,
856
"kaon+"
,
"kaon-"
);
857
// add decay table
858
decayTable->
Insert
(mode);
859
860
// create decay channel of f0(1710) -> eta + eta
861
// parent BR #daughters
862
mode =
new
G4PhaseSpaceDecayChannel
(
"f0(1710)"
,0.20, 2,
863
"eta"
,
"eta"
);
864
// add decay table
865
decayTable->
Insert
(mode);
866
particle->
SetDecayTable
(decayTable);
867
868
869
// k_star+
870
particle =
new
G4ExcitedMesons
(
871
"k_star+"
, 891.66*
MeV
, 50.8*
MeV
, +1.0*
eplus
,
872
2, -1, 0,
873
1, +1, 0,
874
"meson"
, 0, 0, 323,
875
false
, 0.0, NULL);
876
// set sub type
877
particle->
SetMultipletName
(
"k_star"
);
878
// create decay table
879
decayTable =
new
G4DecayTable
();
880
// create decay channel of k_star+ -> kaon+ + pi0
881
// parent BR #daughters
882
mode =
new
G4PhaseSpaceDecayChannel
(
"k_star+"
,0.500, 2,
883
"kaon+"
,
"pi0"
);
884
// add decay table
885
decayTable->
Insert
(mode);
886
// create decay channel of k_star+ -> kaon+ + pi0
887
// parent BR #daughters
888
mode =
new
G4PhaseSpaceDecayChannel
(
"k_star+"
,0.500, 2,
889
"kaon0"
,
"pi+"
);
890
// add decay table
891
decayTable->
Insert
(mode);
892
particle->
SetDecayTable
(decayTable);
893
894
// k_star0
895
particle =
new
G4ExcitedMesons
(
896
"k_star0"
, 895.94*
MeV
, 48.7*
MeV
, 0.0*
eplus
,
897
2, -1, 0,
898
1, -1, 0,
899
"meson"
, 0, 0, 313,
900
false
, 0.0, NULL);
901
// set sub type
902
particle->
SetMultipletName
(
"k_star"
);
903
// create decay table
904
decayTable =
new
G4DecayTable
();
905
// create decay channel of k_star0 -> kaon+ + pi-
906
// parent BR #daughters
907
mode =
new
G4PhaseSpaceDecayChannel
(
"k_star0"
,0.500, 2,
908
"kaon+"
,
"pi-"
);
909
// add decay table
910
decayTable->
Insert
(mode);
911
// create decay channel of k_star0 -> kaon0 + pi0
912
// parent BR #daughters
913
mode =
new
G4PhaseSpaceDecayChannel
(
"k_star0"
,0.500, 2,
914
"kaon0"
,
"pi0"
);
915
// add decay table
916
decayTable->
Insert
(mode);
917
particle->
SetDecayTable
(decayTable);
918
919
// k_star-
920
particle =
new
G4ExcitedMesons
(
921
"k_star-"
, 891.66*
MeV
, 50.8*
MeV
, -1.0*
eplus
,
922
2, -1, 0,
923
1, +1, 0,
924
"meson"
, 0, 0, -323,
925
false
, 0.0, NULL);
926
// set sub type
927
particle->
SetMultipletName
(
"k_star"
);
928
// create decay table
929
decayTable =
new
G4DecayTable
();
930
// create decay channel of k_star- -> kaon- + pi0
931
// parent BR #daughters
932
mode =
new
G4PhaseSpaceDecayChannel
(
"k_star-"
,0.500, 2,
933
"kaon-"
,
"pi0"
);
934
// add decay table
935
decayTable->
Insert
(mode);
936
// create decay channel of k_star- -> anti_kaon0 + pi-
937
// parent BR #daughters
938
mode =
new
G4PhaseSpaceDecayChannel
(
"k_star-"
,0.500, 2,
939
"anti_kaon0"
,
"pi-"
);
940
// add decay table
941
decayTable->
Insert
(mode);
942
particle->
SetDecayTable
(decayTable);
943
944
945
// anti_k_star0
946
particle =
new
G4ExcitedMesons
(
947
"anti_k_star0"
, 895.94*
MeV
, 48.7*
MeV
, 0.0*
eplus
,
948
2, -1, 0,
949
1, -1, 0,
950
"meson"
, 0, 0, -313,
951
false
, 0.0, NULL);
952
// set sub type
953
particle->
SetMultipletName
(
"k_star"
);
954
// create decay table
955
decayTable =
new
G4DecayTable
();
956
// create decay channel of anti_k_star0 -> kaon- + pi+
957
// parent BR #daughters
958
mode =
new
G4PhaseSpaceDecayChannel
(
"anti_k_star0"
,0.500, 2,
959
"kaon-"
,
"pi+"
);
960
// add decay table
961
decayTable->
Insert
(mode);
962
// create decay channel of anti_k_star0 -> anti_kaon0 + pi0
963
// parent BR #daughters
964
mode =
new
G4PhaseSpaceDecayChannel
(
"anti_k_star0"
,0.500, 2,
965
"anti_kaon0"
,
"pi0"
);
966
// add decay table
967
decayTable->
Insert
(mode);
968
particle->
SetDecayTable
(decayTable);
969
970
}
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
Generated on Sat May 25 2013 14:33:24 for Geant4 by
1.8.4