Geant4  10.03.p01
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 95951 2016-03-03 10:44:16Z 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 
39 
40 #include "G4SystemOfUnits.hh"
41 #include "G4ParticleDefinition.hh"
42 #include "G4ParticleTable.hh"
44 #include "G4VDecayChannel.hh"
45 #include "G4DecayTable.hh"
46 
47 G4bool G4ShortLivedConstructor::isConstructed = false;
48 
50 {
51 }
52 
54 {
55 }
56 
57 
59 {
60  if (!isConstructed){
63  isConstructed = true;
64  }
65 }
66 
67 #include "G4DiQuarks.hh"
68 #include "G4Quarks.hh"
69 #include "G4Gluons.hh"
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.3*MeV, 0.0*keV, 2./3.*eplus,
93  1, +1, 0,
94  1, +1, 0,
95  "quarks", 0, 0, 2,
96  true, -1.0, NULL);
97  // d-quark
98  particle = new G4Quarks(
99  "d_quark", 4.8*MeV, 0.0*keV, -1./3.*eplus,
100  1, +1, 0,
101  1, -1, 0,
102  "quarks", 0, 0, 1,
103  true, -1.0, NULL);
104  // s-quark
105  particle = new G4Quarks(
106  "s_quark", 95.0*MeV, 0.0*keV, -1./3.*eplus,
107  1, +1, 0,
108  0, 0, 0,
109  "quarks", 0, 0, 3,
110  true, -1.0, NULL);
111  // c-quark
112  particle = new G4Quarks(
113  "c_quark", 1.275*GeV, 0.0*keV, +2./3.*eplus,
114  1, +1, 0,
115  0, 0, 0,
116  "quarks", 0, 0, 4,
117  true, -1.0, NULL);
118  // b-quark
119  particle = new G4Quarks(
120  "b_quark", 4.18*GeV, 0.0*keV, -1./3.*eplus,
121  1, +1, 0,
122  0, 0, 0,
123  "quarks", 0, 0, 5,
124  true, -1.0, NULL);
125  // t-quark
126  particle = new G4Quarks(
127  "t_quark", 173.21*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.3*MeV, 0.0*keV, -2./3.*eplus,
135  1, +1, 0,
136  1, -1, 0,
137  "quarks", 0, 0, -2,
138  true, -1.0, NULL);
139  // anti d-quark
140  particle = new G4Quarks(
141  "anti_d_quark", 4.8*MeV, 0.0*keV, 1./3.*eplus,
142  1, +1, 0,
143  1, +1, 0,
144  "quarks", 0, 0, -1,
145  true, -1.0, NULL);
146  // anti s-quark
147  particle = new G4Quarks(
148  "anti_s_quark", 95.0*MeV, 0.0*keV, 1./3.*eplus,
149  1, +1, 0,
150  0, 0, 0,
151  "quarks", 0, 0, -3,
152  true, -1.0, NULL);
153  // anti c-quark
154  particle = new G4Quarks(
155  "anti_c_quark", 1.275*GeV, 0.0*keV, -2./3.*eplus,
156  1, +1, 0,
157  0, 0, 0,
158  "quarks", 0, 0, -4,
159  true, -1.0, NULL);
160  // anti b-quark
161  particle = new G4Quarks(
162  "anti_b_quark", 4.18*GeV, 0.0*keV, 1./3.*eplus,
163  1, +1, 0,
164  0, 0, 0,
165  "quarks", 0, 0, -5,
166  true, -1.0, NULL);
167  // anti t-quark
168  particle = new G4Quarks(
169  "anti_t_quark", 173.21*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.6*MeV, 0.0*MeV, 4./3.*eplus,
178  2, +1, 0,
179  2, +2, 0,
180  "diquarks", 0, 0, 2203,
181  true, -1.0, NULL);
182  // ud1-Diquark
183  particle = new G4DiQuarks(
184  "ud1_diquark", 7.0*MeV, 0.0*MeV, 1./3.*eplus,
185  2, +1, 0,
186  2, +0, 0,
187  "diquarks", 0, 0, 2103,
188  true, -1.0, NULL);
189  // dd1-Diquark
190  particle = new G4DiQuarks(
191  "dd1_diquark", 9.6*MeV, 0.0*MeV, -2./3.*eplus,
192  2, +1, 0,
193  2, -2, 0,
194  "diquarks", 0, 0, 1103,
195  true, -1.0, NULL);
196 
197  // ud0-Diquark
198  particle = new G4DiQuarks(
199  "ud0_diquark", 7.1*MeV, 0.0*MeV, 1./3.*eplus,
200  0, +1, 0,
201  0, +0, 0,
202  "diquarks", 0, 0, 2101,
203  true, -1.0, NULL);
204 
205  // sd1-Diquark
206  particle = new G4DiQuarks(
207  "sd1_diquark", 102.8*MeV, 0.0*MeV, -2./3.*eplus,
208  2, +1, 0,
209  1, -1, 0,
210  "diquarks", 0, 0, 3103,
211  true, -1.0, NULL);
212 
213  // su1-Diquark
214  particle = new G4DiQuarks(
215  "su1_diquark", 101.4*MeV, 0.0*MeV, 1./3.*eplus,
216  2, +1, 0,
217  1, +1, 0,
218  "diquarks", 0, 0, 3203,
219  true, -1.0, NULL);
220 
221  // sd0-Diquark
222  particle = new G4DiQuarks(
223  "sd0_diquark", 102.0*MeV, 0.0*MeV, -2./3.*eplus,
224  0, +1, 0,
225  1, -1, 0,
226  "diquarks", 0, 0, 3101,
227  true, -1.0, NULL);
228 
229  // su0-Diquark
230  particle = new G4DiQuarks(
231  "su0_diquark", 101.4*MeV, 0.0*MeV, 1./3.*eplus,
232  0, +1, 0,
233  1, +1, 0,
234  "diquarks", 0, 0, 3201,
235  true, -1.0, NULL);
236 
237  // anti uu1-Diquark
238  particle = new G4DiQuarks(
239  "anti_uu1_diquark", 4.6*MeV, 0.0*MeV, -4./3.*eplus,
240  2, +1, 0,
241  2, -2, 0,
242  "diquarks", 0, 0, -2203,
243  true, -1.0, NULL);
244  // anti ud1-Diquark
245  particle = new G4DiQuarks(
246  "anti_ud1_diquark", 7.0*MeV, 0.0*MeV, -1./3.*eplus,
247  2, +1, 0,
248  2, +0, 0,
249  "diquarks", 0, 0, -2103,
250  true, -1.0, NULL);
251  // anti dd1-Diquark
252  particle = new G4DiQuarks(
253  "anti_dd1_diquark", 9.6*MeV, 0.0*MeV, 2./3.*eplus,
254  2, +1, 0,
255  2, +2, 0,
256  "diquarks", 0, 0, -1103,
257  true, -1.0, NULL);
258 
259  // anti ud0-Diquark
260  particle = new G4DiQuarks(
261  "anti_ud0_diquark", 7.1*MeV, 0.0*MeV, -1./3.*eplus,
262  0, +1, 0,
263  0, +0, 0,
264  "diquarks", 0, 0, -2101,
265  true, -1.0, NULL);
266 
267  // anti sd1-Diquark
268  particle = new G4DiQuarks(
269  "anti_sd1_diquark", 102.8*MeV, 0.0*MeV, 2./3.*eplus,
270  2, +1, 0,
271  1, +1, 0,
272  "diquarks", 0, 0, -3103,
273  true, -1.0, NULL);
274 
275  // anti su1-Diquark
276  particle = new G4DiQuarks(
277  "anti_su1_diquark", 101.4*MeV, 0.0*MeV, -1./3.*eplus,
278  2, +1, 0,
279  1, -1, 0,
280  "diquarks", 0, 0, -3203,
281  true, -1.0, NULL);
282 
283  // anti sd0-Diquark
284  particle = new G4DiQuarks(
285  "anti_sd0_diquark", 102.0*MeV, 0.0*MeV, 2./3.*eplus,
286  0, +1, 0,
287  1, +1, 0,
288  "diquarks", 0, 0, -3101,
289  true, -1.0, NULL);
290 
291  // anti su0-Diquark
292  particle = new G4DiQuarks(
293  "anti_su0_diquark", 101.4*MeV, 0.0*MeV, -1./3.*eplus,
294  0, +1, 0,
295  1, -1, 0,
296  "diquarks", 0, 0, -3201,
297  true, -1.0, NULL);
298  // ss1-Diquark
299  particle = new G4DiQuarks(
300  "ss1_diquark", 198.0*MeV, 0.0*MeV, -2./3.*eplus,
301  2, +1, 0,
302  0, 0, 0,
303  "diquarks", 0, 0, 3303,
304  true, -1.0, NULL);
305 
306  // anti ss1-Diquark
307  particle = new G4DiQuarks(
308  "anti_ss1_diquark", 198.0*MeV, 0.0*MeV, 2./3.*eplus,
309  2, +1, 0,
310  0, 0, 0,
311  "diquarks", 0, 0, -3303,
312  true, -1.0, NULL);
313 
314  particle = NULL;
315 }
316 
321 #include "G4ExcitedXiConstructor.hh"
324 {
326  ConstructMesons();
327 
328  // N*
330  nucleons.Construct();
331 
332  // Delta*
334  deltas.Construct();
335 
336  // Lambda*
338  lamdas.Construct();
339 
340  // Sigma*
342  sigmas.Construct();
343 
344  // Xi*
346  xis.Construct();
347 
348  // Mesons
350  mesons.Construct();
351 
352 }
353 
354 
355 #include "G4ExcitedBaryons.hh"
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, 117.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, 117.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"
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.266*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.26*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(500) (was f0(500) f0(400-1200))
753  particle = new G4ExcitedMesons(
754  "f0(500)", 475.0*MeV, 550.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(500)");
762  // create decay table
763  decayTable = new G4DecayTable();
764  // create decay channel of f0(500) -> pi + pi
765  // parent BR #daughters
766  mode = new G4PhaseSpaceDecayChannel("f0(500)",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)", 990.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)", 1408.8*MeV, 51.0*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)", 1504.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)", 1723.0*MeV, 139.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.81*MeV, 47.4*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.81*MeV, 47.4*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 
void SetDecayTable(G4DecayTable *aDecayTable)
void SetAntiPDGEncoding(G4int aEncoding)
void SetMultipletName(const G4String &)
bool G4bool
Definition: G4Types.hh:79
static constexpr double eplus
Definition: G4SIunits.hh:199
virtual void Construct(G4int indexOfState=-1)
void Insert(G4VDecayChannel *aChannel)
Definition: G4DecayTable.cc:60
virtual void Construct(G4int indexOfState=-1)
static constexpr double GeV
Definition: G4SIunits.hh:217
static constexpr double MeV
Definition: G4SIunits.hh:214
void SetMultipletName(const G4String &name)
static constexpr double keV
Definition: G4SIunits.hh:216
#define ns
Definition: xmlparse.cc:614