Geant4  9.6.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups 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$
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"
43 #include "G4ShortLivedTable.hh"
45 #include "G4VDecayChannel.hh"
46 #include "G4DecayTable.hh"
47 
48 G4bool 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 
322 #include "G4ExcitedXiConstructor.hh"
325 {
327  ConstructMesons();
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 
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