source: trunk/source/particles/shortlived/src/G4ShortLivedConstructor.cc @ 921

Last change on this file since 921 was 921, checked in by garnier, 15 years ago

en test de gl2ps. Problemes de libraries

File size: 40.6 KB
Line 
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,v 1.16 2008/09/18 08:37:27 kurasige Exp $
28// GEANT4 tag $Name: geant4-09-02-cand-01 $
29//
30//
31// --------------------------------------------------------------
32//      GEANT 4 class implementation file
33//
34//      Add "rho0"                         25  Feb. 2000 H.Kurashige
35//      Fix spin/isospin number for quarks 06  Apr. 2001 H.Kurashige
36//      update quark mass                  11  Oct. 2006 H.Kurashige
37//      update meson/baryon masses         11  Oct. 2006 H.Kurashige
38
39#include "G4ShortLivedConstructor.hh"
40
41#include "G4ParticleDefinition.hh"
42#include "G4ParticleTable.hh"
43#include "G4ShortLivedTable.hh"
44#include "G4PhaseSpaceDecayChannel.hh"
45#include "G4VDecayChannel.hh"
46#include "G4DecayTable.hh"
47
48G4bool G4ShortLivedConstructor::isConstructed = false;
49
50G4ShortLivedConstructor::G4ShortLivedConstructor()
51{
52}
53
54G4ShortLivedConstructor::~G4ShortLivedConstructor()
55{
56}
57
58
59void G4ShortLivedConstructor::ConstructParticle()
60{
61  if (!isConstructed){
62    ConstructQuarks();
63    ConstructResonances();
64    isConstructed = true;
65  }
66}
67
68#include "G4DiQuarks.hh"
69#include "G4Quarks.hh"
70#include "G4Gluons.hh"
71void G4ShortLivedConstructor::ConstructQuarks()
72{
73  G4ParticleDefinition* particle;
74
75  //    Construct Quraks/Gluons as dynamic object
76  //    Arguments for constructor are as follows
77  //               name             mass          width         charge
78  //             2*spin           parity  C-conjugation
79  //          2*Isospin       2*Isospin3       G-parity
80  //               type    lepton number  baryon number   PDG encoding
81  //             stable         lifetime    decay table
82
83  // gluon
84  particle = new G4Gluons(           
85              "gluon",         0.0*MeV,       0.0*MeV,     0.0*eplus, 
86                    2,              -1,             0,         
87                    0,               0,             0,             
88             "gluons",               0,             0,          21,
89                 true,            -1.0,          NULL);
90  particle->SetAntiPDGEncoding(21);
91  // u-quark
92  particle = new G4Quarks(           
93            "u_quark",         2.4*MeV,       0.0*MeV,   2./3.*eplus, 
94                    1,              +1,             0,         
95                    1,              +1,             0,             
96             "quarks",               0,             0,           2,
97                 true,            -1.0,          NULL);
98  // d-quark
99  particle = new G4Quarks(           
100            "d_quark",         4.8*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",       104.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.27*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.68*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",       171.2*GeV,       0.0*MeV,  +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.8*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",       104.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.27*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.68*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",       171.2*GeV,       0.0*MeV,  -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.2*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.8*MeV,       0.0*MeV,    2./3.*eplus, 
287                    0,              +1,             0,         
288                    1,              +1,             0,             
289           "diquarks",               0,             0,        -3101,
290                 true,            -1.0,          NULL);
291   
292  // anti su0-Diquark
293  particle = new G4DiQuarks(           
294   "anti_su0_diquark",       106.4*MeV,       0.0*MeV,  -1./3.*eplus, 
295                    0,              +1,             0,         
296                    1,              -1,             0,             
297           "diquarks",               0,             0,        -3201,
298                 true,            -1.0,          NULL);
299    // ss1-Diquark
300  particle = new G4DiQuarks(           
301        "ss1_diquark",       208.0*MeV,       0.0*MeV,   -2./3.*eplus, 
302                    2,              +1,             0,         
303                    0,               0,             0,             
304           "diquarks",               0,             0,         3303,
305                 true,            -1.0,          NULL);
306   
307    // anti ss1-Diquark
308  particle = new G4DiQuarks(           
309        "anti_ss1_diquark",  208.0*MeV,       0.0*MeV,    2./3.*eplus, 
310                    2,              +1,             0,         
311                    0,               0,             0,             
312           "diquarks",               0,             0,        -3303,
313                 true,            -1.0,          NULL);
314
315  particle = NULL;     
316}
317
318#include "G4ExcitedNucleonConstructor.hh"
319#include "G4ExcitedDeltaConstructor.hh"
320#include "G4ExcitedLambdaConstructor.hh"
321#include "G4ExcitedSigmaConstructor.hh"
322#include "G4ExcitedXiConstructor.hh"
323#include "G4ExcitedMesonConstructor.hh"
324void G4ShortLivedConstructor::ConstructResonances()
325{
326  ConstructBaryons();
327  ConstructMesons();
328
329  // N*
330  G4ExcitedNucleonConstructor nucleons;
331  nucleons.Construct();
332
333  // Delta*
334  G4ExcitedDeltaConstructor deltas;
335  deltas.Construct();
336
337  // Lambda*
338  G4ExcitedLambdaConstructor lamdas;
339  lamdas.Construct();
340
341  // Sigma*
342  G4ExcitedSigmaConstructor sigmas;
343  sigmas.Construct();
344
345  // Xi*
346  G4ExcitedXiConstructor xis;
347  xis.Construct();
348 
349  // Mesons
350  G4ExcitedMesonConstructor mesons;
351  mesons.Construct();
352
353}
354
355
356#include "G4ExcitedBaryons.hh"
357void G4ShortLivedConstructor::ConstructBaryons()
358{
359  G4DecayTable*   decayTable;
360  G4VDecayChannel* mode;
361  G4ExcitedBaryons* particle;
362
363  //    Construct Resonace particles as dynamic object
364  //    Arguments for constructor are as follows
365  //               name             mass          width         charge
366  //             2*spin           parity  C-conjugation
367  //          2*Isospin       2*Isospin3       G-parity
368  //               type    lepton number  baryon number   PDG encoding
369  //             stable         lifetime    decay table
370
371  // delta baryons
372  //  delta(1232)++
373  particle = new G4ExcitedBaryons(           
374            "delta++",       1.232*GeV,     120.0*MeV,    +2.0*eplus, 
375                    3,              +1,             0,         
376                    3,              +3,             0,             
377             "baryon",               0,            +1,          2224,
378                false,             0.0,          NULL);
379  // set sub type
380  particle->SetMultipletName("delta");
381  // create decay table
382  decayTable =  new G4DecayTable();
383  // create decay channel of delta++ -> proton + pi+
384  //                                   parent    BR     #daughters
385  mode  = new G4PhaseSpaceDecayChannel("delta++",1.000, 2,
386                                                        "proton","pi+");
387  // add decay table
388  decayTable->Insert(mode);
389  particle->SetDecayTable(decayTable);
390
391  //  delta(1232)+
392  particle = new G4ExcitedBaryons(           
393             "delta+",       1.232*GeV,     120.0*MeV,    +1.0*eplus, 
394                    3,              +1,             0,         
395                    3,              +1,             0,             
396             "baryon",               0,            +1,          2214,
397                false,             0.0,          NULL);
398  // set sub type
399  particle->SetMultipletName("delta(1232)");
400  // create decay table
401  decayTable =  new G4DecayTable();
402  // create decay channel of delta+  -> proton + Gamma
403  //                                   parent    BR     #daughters
404  mode  = new G4PhaseSpaceDecayChannel("delta+", 0.01, 2,
405                                                        "proton","gamma");
406  decayTable->Insert(mode);
407  // create decay channel of delta+  -> neutron + pi+
408  //                                   parent    BR     #daughters
409  // create decay channel of delta+  -> proton + pi0
410  //                                   parent    BR     #daughters
411  mode  = new G4PhaseSpaceDecayChannel("delta+", 0.495, 2,
412                                                        "proton","pi0");
413  decayTable->Insert(mode);
414  // create decay channel of delta+  -> neutron + pi+
415  //                                   parent    BR     #daughters
416  mode  = new G4PhaseSpaceDecayChannel("delta+", 0.495, 2,
417                                                        "neutron","pi+");
418  decayTable->Insert(mode);
419  particle->SetDecayTable(decayTable);
420
421  //  delta(1232)0
422  particle = new G4ExcitedBaryons(           
423             "delta0",       1.232*GeV,     120.0*MeV,    +0.0*eplus, 
424                    3,              +1,             0,         
425                    3,              -1,             0,             
426             "baryon",               0,            +1,          2114,
427                false,             0.0,          NULL);
428  // set sub type
429  particle->SetMultipletName("delta(1232)");
430  // create decay table
431  decayTable =  new G4DecayTable();
432  // create decay channel of delta+  -> neutron + gamma
433  //                                   parent    BR     #daughters
434  mode  = new G4PhaseSpaceDecayChannel("delta0", 0.01, 2,
435                                                        "neutron","gamma");
436  decayTable->Insert(mode);
437  // create decay channel of delta+  -> proton + pi-
438  //                                   parent    BR     #daughters
439  mode  = new G4PhaseSpaceDecayChannel("delta0", 0.495, 2,
440                                                        "proton","pi-");
441  decayTable->Insert(mode);
442  // create decay channel of delta+  -> neutron + pi0
443  //                                   parent    BR     #daughters
444  mode  = new G4PhaseSpaceDecayChannel("delta0", 0.495, 2,
445                                                        "neutron","pi0");
446  decayTable->Insert(mode);
447  particle->SetDecayTable(decayTable);
448
449  //  delta(1232)-
450  particle = new G4ExcitedBaryons(           
451             "delta-",       1.232*GeV,     118.0*MeV,    -1.0*eplus, 
452                    3,              +1,             0,         
453                    3,              -3,             0,             
454             "baryon",               0,            +1,          1114,
455                false,             0.0,          NULL);
456  // set sub type
457  particle->SetMultipletName("delta(1232)");
458  // create decay table
459  decayTable =  new G4DecayTable();
460  // create decay channel of delta+  -> neutron + pi-
461  //                                   parent    BR     #daughters
462  mode  = new G4PhaseSpaceDecayChannel("delta-", 1.000, 2,
463                                                        "neutron","pi-");
464  decayTable->Insert(mode);
465  particle->SetDecayTable(decayTable);
466
467
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"
557void G4ShortLivedConstructor::ConstructMesons()
558{
559  G4DecayTable*   decayTable;
560  G4VDecayChannel* mode;
561  G4ExcitedMesons* particle;
562
563  //    Construct Resonace particles as dynamic object
564  //    Arguments for constructor are as follows
565  //               name             mass          width         charge
566  //             2*spin           parity  C-conjugation
567  //          2*Isospin       2*Isospin3       G-parity
568  //               type    lepton number  baryon number   PDG encoding
569  //             stable         lifetime    decay table
570
571  // vector mesons
572  // omega
573  particle = new G4ExcitedMesons(           
574              "omega",      782.65*MeV,      8.49*MeV,    +0.0*eplus, 
575                    2,              -1,            -1,         
576                    0,              +0,            -1,             
577              "meson",               0,             0,           223,
578                false,             0.0,          NULL);
579  particle->SetAntiPDGEncoding(223);
580  // set sub type
581  particle->SetMultipletName("omega");
582  // create decay table
583  decayTable =  new G4DecayTable();
584  // create decay channel of omega -> pi+ + pi- + pi0
585  //                                   parent    BR     #daughters
586  mode  = new G4PhaseSpaceDecayChannel("omega",0.891, 3,
587                                                    "pi+","pi-","pi0");
588  // add decay table
589  decayTable->Insert(mode);
590
591  // create decay channel of omega -> gamma + pi0
592  //                                   parent    BR     #daughters
593  mode  = new G4PhaseSpaceDecayChannel("omega",0.0890, 2,
594                                                    "gamma","pi0");
595  // add decay table
596  decayTable->Insert(mode);
597
598  // create decay channel of omega -> pi+ + pi-
599  //                                   parent    BR     #daughters
600  mode  = new G4PhaseSpaceDecayChannel("omega",0.0170, 2,
601                                                    "pi+","pi-");
602  // add decay table
603  decayTable->Insert(mode);
604  particle->SetDecayTable(decayTable);
605
606  // phi
607  particle = new G4ExcitedMesons(           
608                "phi",     1019.46*MeV,      4.26*MeV,    +0.0*eplus, 
609                    2,              -1,            -1,         
610                    0,              +0,            -1,             
611              "meson",               0,             0,           333,
612                false,             0.0,          NULL);
613  particle->SetAntiPDGEncoding(333);
614  // set sub type
615  particle->SetMultipletName("phi");
616   // create decay table
617  decayTable =  new G4DecayTable();
618  // create decay channel of phi -> kaon+ + kaon-
619  //                                   parent    BR     #daughters
620  mode  = new G4PhaseSpaceDecayChannel("phi",0.492, 2,
621                                                    "kaon+","kaon-");
622  decayTable->Insert(mode);
623   // create decay channel of phi -> kaon0S + kaon0L
624  //                                   parent    BR     #daughters
625  mode  = new G4PhaseSpaceDecayChannel("phi",0.340, 2,
626                                                   "kaon0S","kaon0L");
627  // add decay table
628  decayTable->Insert(mode);
629  // create decay channel of phi -> rho0 + pi0
630  //                                   parent    BR     #daughters
631  mode  = new G4PhaseSpaceDecayChannel("phi",0.153, 2,
632                                                   "rho0","pi0");
633  // add decay table
634  decayTable->Insert(mode);
635  particle->SetDecayTable(decayTable);
636 
637  // rho+
638  particle = new G4ExcitedMesons(           
639               "rho+",       775.8*MeV,     150.3*MeV,    +1.0*eplus, 
640                    2,              -1,            -1,         
641                    2,              +2,            +1,             
642              "meson",               0,             0,           213,
643                false,             0.0,          NULL);
644  // set sub type
645  particle->SetMultipletName("rho");
646  // create decay table
647  decayTable =  new G4DecayTable();
648  // create decay channel of rho+ -> pi+ + pi0
649  //                                   parent    BR     #daughters
650  mode  = new G4PhaseSpaceDecayChannel("rho+",1.000, 2,
651                                                    "pi+","pi0");
652  // add decay table
653  decayTable->Insert(mode);
654  particle->SetDecayTable(decayTable);
655
656  // rho-
657  particle = new G4ExcitedMesons(           
658               "rho-",       775.8*MeV,     150.3*MeV,    -1.0*eplus, 
659                    2,              -1,            -1,         
660                    2,              -2,            +1,             
661              "meson",               0,             0,          -213,
662                false,             0.0,          NULL);
663  // set sub type
664  particle->SetMultipletName("rho");
665  // create decay table
666  decayTable =  new G4DecayTable();
667  // create decay channel of rho- -> pi- + pi0
668  //                                   parent    BR     #daughters
669  mode  = new G4PhaseSpaceDecayChannel("rho-",1.000, 2,
670                                                    "pi-","pi0");
671  // add decay table
672  decayTable->Insert(mode);
673  particle->SetDecayTable(decayTable);
674 
675  // rho0
676  particle = new G4ExcitedMesons(           
677               "rho0",       775.5*MeV,     149.4*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)+",       984.7*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)-",       984.7*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",       984.7*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)",      1724.0*MeV,     137.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.6*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",       896.0*MeV,      50.3*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.6*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 + pi0
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",       896.0*MeV,      50.3*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
Note: See TracBrowser for help on using the repository browser.