Geant4.10
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
geant4.10.00.p01
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
467
////////////////////////////
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 Wed Apr 30 2014 15:55:04 for Geant4.10 by
1.8.7