Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
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
39
40#include "G4SystemOfUnits.hh"
42#include "G4ParticleTable.hh"
43#include "G4ShortLivedTable.hh"
45#include "G4VDecayChannel.hh"
46#include "G4DecayTable.hh"
47
48G4bool G4ShortLivedConstructor::isConstructed = false;
49
51{
52}
53
55{
56}
57
58
60{
61 if (!isConstructed){
64 isConstructed = true;
65 }
66}
67
68#include "G4DiQuarks.hh"
69#include "G4Quarks.hh"
70#include "G4Gluons.hh"
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
325{
328
329 // N*
331 nucleons.Construct();
332
333 // Delta*
335 deltas.Construct();
336
337 // Lambda*
339 lamdas.Construct();
340
341 // Sigma*
343 sigmas.Construct();
344
345 // Xi*
347 xis.Construct();
348
349 // Mesons
351 mesons.Construct();
352
353}
354
355
356#include "G4ExcitedBaryons.hh"
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
468 ////////////////////////////
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"
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
bool G4bool
Definition: G4Types.hh:67
void Insert(G4VDecayChannel *aChannel)
Definition: G4DecayTable.cc:60
virtual void Construct(G4int indexOfState=-1)
void SetMultipletName(const G4String &name)
virtual void Construct(G4int indexOfState=-1)
void SetMultipletName(const G4String &)
void SetAntiPDGEncoding(G4int aEncoding)
void SetDecayTable(G4DecayTable *aDecayTable)
#define ns
Definition: xmlparse.cc:597