G4ShortLivedConstructor.cc

Go to the documentation of this file.
00001 //
00002 // ********************************************************************
00003 // * License and Disclaimer                                           *
00004 // *                                                                  *
00005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
00006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
00007 // * conditions of the Geant4 Software License,  included in the file *
00008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
00009 // * include a list of copyright holders.                             *
00010 // *                                                                  *
00011 // * Neither the authors of this software system, nor their employing *
00012 // * institutes,nor the agencies providing financial support for this *
00013 // * work  make  any representation or  warranty, express or implied, *
00014 // * regarding  this  software system or assume any liability for its *
00015 // * use.  Please see the license in the file  LICENSE  and URL above *
00016 // * for the full disclaimer and the limitation of liability.         *
00017 // *                                                                  *
00018 // * This  code  implementation is the result of  the  scientific and *
00019 // * technical work of the GEANT4 collaboration.                      *
00020 // * By using,  copying,  modifying or  distributing the software (or *
00021 // * any work based  on the software)  you  agree  to acknowledge its *
00022 // * use  in  resulting  scientific  publications,  and indicate your *
00023 // * acceptance of all terms of the Geant4 Software license.          *
00024 // ********************************************************************
00025 //
00026 //
00027 // $Id$
00028 //
00029 // 
00030 // --------------------------------------------------------------
00031 //      GEANT 4 class implementation file 
00032 //
00033 //      Add "rho0"                         25  Feb. 2000 H.Kurashige
00034 //      Fix spin/isospin number for quarks 06  Apr. 2001 H.Kurashige
00035 //      update quark mass                  11  Oct. 2006 H.Kurashige
00036 //      update meson/baryon masses         11  Oct. 2006 H.Kurashige
00037 
00038 #include "G4ShortLivedConstructor.hh"
00039 
00040 #include "G4SystemOfUnits.hh"
00041 #include "G4ParticleDefinition.hh"
00042 #include "G4ParticleTable.hh"
00043 #include "G4ShortLivedTable.hh"
00044 #include "G4PhaseSpaceDecayChannel.hh"
00045 #include "G4VDecayChannel.hh"
00046 #include "G4DecayTable.hh"
00047 
00048 G4bool G4ShortLivedConstructor::isConstructed = false;
00049 
00050 G4ShortLivedConstructor::G4ShortLivedConstructor()
00051 {
00052 }
00053 
00054 G4ShortLivedConstructor::~G4ShortLivedConstructor()
00055 {
00056 }
00057 
00058 
00059 void G4ShortLivedConstructor::ConstructParticle()
00060 {
00061   if (!isConstructed){
00062     ConstructQuarks();
00063     ConstructResonances();
00064     isConstructed = true;
00065   }
00066 }
00067 
00068 #include "G4DiQuarks.hh"
00069 #include "G4Quarks.hh"
00070 #include "G4Gluons.hh"
00071 void G4ShortLivedConstructor::ConstructQuarks()
00072 {
00073   G4ParticleDefinition* particle;
00074 
00075   //    Construct Quraks/Gluons as dynamic object
00076   //    Arguments for constructor are as follows
00077   //               name             mass          width         charge
00078   //             2*spin           parity  C-conjugation
00079   //          2*Isospin       2*Isospin3       G-parity
00080   //               type    lepton number  baryon number   PDG encoding
00081   //             stable         lifetime    decay table 
00082 
00083   // gluon
00084   particle = new G4Gluons(            
00085               "gluon",         0.0*MeV,       0.0*MeV,     0.0*eplus, 
00086                     2,              -1,             0,          
00087                     0,               0,             0,             
00088              "gluons",               0,             0,          21,
00089                  true,            -1.0,          NULL);
00090   particle->SetAntiPDGEncoding(21);
00091   // u-quark
00092   particle = new G4Quarks(            
00093             "u_quark",         2.4*MeV,       0.0*MeV,   2./3.*eplus, 
00094                     1,              +1,             0,          
00095                     1,              +1,             0,             
00096              "quarks",               0,             0,           2,
00097                  true,            -1.0,          NULL);
00098   // d-quark
00099   particle = new G4Quarks(            
00100             "d_quark",         4.9*MeV,       0.0*MeV,  -1./3.*eplus, 
00101                     1,              +1,             0,          
00102                     1,              -1,             0,             
00103              "quarks",               0,             0,           1,
00104                  true,            -1.0,          NULL);
00105   // s-quark
00106   particle = new G4Quarks(            
00107             "s_quark",       100.0*MeV,       0.0*MeV,  -1./3.*eplus, 
00108                     1,              +1,             0,          
00109                     0,               0,             0,             
00110              "quarks",               0,             0,           3,
00111                  true,            -1.0,          NULL);
00112   // c-quark
00113   particle = new G4Quarks(            
00114             "c_quark",        1.29*GeV,       0.0*MeV,  +2./3.*eplus, 
00115                     1,              +1,             0,          
00116                     0,               0,             0,             
00117              "quarks",               0,             0,           4,
00118                  true,            -1.0,          NULL);
00119   // b-quark
00120   particle = new G4Quarks(            
00121             "b_quark",        4.19*GeV,       0.0*MeV,  -1./3.*eplus, 
00122                     1,              +1,             0,          
00123                     0,               0,             0,             
00124              "quarks",               0,             0,           5,
00125                  true,            -1.0,          NULL);
00126   // t-quark
00127   particle = new G4Quarks(            
00128             "t_quark",       172.9*GeV,       2.0*GeV,  +2./3.*eplus, 
00129                     1,              +1,             0,          
00130                     0,               0,             0,             
00131              "quarks",               0,             0,           6,
00132                  true,            -1.0,          NULL);
00133   // anti u-quark
00134   particle = new G4Quarks(            
00135        "anti_u_quark",         2.4*MeV,       0.0*MeV,   -2./3.*eplus, 
00136                     1,              +1,             0,          
00137                     1,              -1,             0,             
00138              "quarks",               0,             0,          -2,
00139                  true,            -1.0,          NULL);
00140   // anti d-quark
00141   particle = new G4Quarks(            
00142        "anti_d_quark",         4.9*MeV,       0.0*MeV,   1./3.*eplus, 
00143                     1,              +1,             0,          
00144                     1,              +1,             0,             
00145              "quarks",               0,             0,          -1,
00146                  true,            -1.0,          NULL);
00147   // s-quark
00148   particle = new G4Quarks(            
00149        "anti_s_quark",       100.0*MeV,       0.0*MeV,   1./3.*eplus, 
00150                     1,              +1,             0,          
00151                     0,               0,             0,             
00152              "quarks",               0,             0,          -3,
00153                  true,            -1.0,          NULL);
00154   // c-quark
00155   particle = new G4Quarks(            
00156        "anti_c_quark",        1.29*GeV,       0.0*MeV,  -2./3.*eplus, 
00157                     1,              +1,             0,          
00158                     0,               0,             0,             
00159              "quarks",               0,             0,          -4,
00160                  true,            -1.0,          NULL);
00161   // b-quark
00162   particle = new G4Quarks(            
00163        "anti_b_quark",        4.19*GeV,       0.0*MeV,   1./3.*eplus, 
00164                     1,              +1,             0,          
00165                     0,               0,             0,             
00166              "quarks",               0,             0,          -5,
00167                  true,            -1.0,          NULL);
00168   // t-quark
00169   particle = new G4Quarks(            
00170        "anti_t_quark",       172.9*GeV,       2.0*GeV,  -2./3.*eplus, 
00171                     1,              +1,             0,          
00172                     0,               0,             0,             
00173              "quarks",               0,             0,          -6,
00174                  true,            -1.0,          NULL);
00175 
00176    // uu1-Diquark
00177   particle = new G4DiQuarks(            
00178         "uu1_diquark",         4.8*MeV,       0.0*MeV,   4./3.*eplus, 
00179                     2,              +1,             0,          
00180                     2,              +2,             0,             
00181            "diquarks",               0,             0,        2203,
00182                  true,            -1.0,          NULL);
00183     // ud1-Diquark
00184   particle = new G4DiQuarks(            
00185          "ud1_diquark",        7.2*MeV,       0.0*MeV,   1./3.*eplus, 
00186                     2,              +1,             0,          
00187                     2,              +0,             0,             
00188            "diquarks",               0,             0,         2103,
00189                  true,            -1.0,          NULL);
00190     // dd1-Diquark
00191   particle = new G4DiQuarks(            
00192         "dd1_diquark",         9.6*MeV,       0.0*MeV,   -2./3.*eplus, 
00193                     2,              +1,             0,          
00194                     2,              -2,             0,             
00195            "diquarks",               0,             0,         1103,
00196                  true,            -1.0,          NULL);
00197    
00198    // ud0-Diquark
00199   particle = new G4DiQuarks(            
00200         "ud0_diquark",         7.3*MeV,       0.0*MeV,   1./3.*eplus, 
00201                     0,              +1,             0,          
00202                     0,              +0,             0,             
00203            "diquarks",               0,             0,         2101,
00204                  true,            -1.0,          NULL);
00205    
00206    // sd1-Diquark
00207   particle = new G4DiQuarks(            
00208         "sd1_diquark",       108.8*MeV,       0.0*MeV,   -2./3.*eplus, 
00209                     2,              +1,             0,          
00210                     1,              -1,             0,             
00211            "diquarks",               0,             0,         3103,
00212                  true,            -1.0,          NULL);
00213    
00214   // su1-Diquark
00215   particle = new G4DiQuarks(            
00216         "su1_diquark",       106.4*MeV,       0.0*MeV,   1./3.*eplus, 
00217                     2,              +1,             0,          
00218                     1,              +1,             0,             
00219            "diquarks",               0,             0,         3203,
00220                  true,            -1.0,          NULL);
00221 
00222     // sd0-Diquark
00223   particle = new G4DiQuarks(            
00224         "sd0_diquark",       108.0*MeV,       0.0*MeV,   -2./3.*eplus, 
00225                     0,              +1,             0,          
00226                     1,              -1,             0,             
00227            "diquarks",               0,             0,         3101,
00228                  true,            -1.0,          NULL);
00229    
00230   // su0-Diquark
00231   particle = new G4DiQuarks(            
00232         "su0_diquark",       106.4*MeV,       0.0*MeV,   1./3.*eplus, 
00233                     0,              +1,             0,          
00234                     1,              +1,             0,             
00235            "diquarks",               0,             0,         3201,
00236                  true,            -1.0,          NULL);
00237 
00238    // anti uu1-Diquark
00239   particle = new G4DiQuarks(            
00240    "anti_uu1_diquark",         4.8*MeV,       0.0*MeV,  -4./3.*eplus, 
00241                     2,              +1,             0,          
00242                     2,              -2,             0,             
00243            "diquarks",               0,             0,       -2203,
00244                  true,            -1.0,          NULL);
00245     // anti ud1-Diquark
00246   particle = new G4DiQuarks(            
00247    "anti_ud1_diquark",         7.2*MeV,       0.0*MeV,  -1./3.*eplus, 
00248                     2,              +1,             0,          
00249                     2,              +0,             0,             
00250            "diquarks",               0,             0,        -2103,
00251                  true,            -1.0,          NULL);
00252     // anti dd1-Diquark
00253   particle = new G4DiQuarks(            
00254    "anti_dd1_diquark",         9.6*MeV,       0.0*MeV,    2./3.*eplus, 
00255                     2,              +1,             0,          
00256                     2,              +2,             0,             
00257            "diquarks",               0,             0,        -1103,
00258                  true,            -1.0,          NULL);
00259    
00260    // anti ud0-Diquark
00261   particle = new G4DiQuarks(            
00262    "anti_ud0_diquark",         7.3*MeV,       0.0*MeV,  -1./3.*eplus, 
00263                     0,              +1,             0,          
00264                     0,              +0,             0,             
00265            "diquarks",               0,             0,        -2101,
00266                  true,            -1.0,          NULL);
00267    
00268    // anti  sd1-Diquark
00269   particle = new G4DiQuarks(            
00270    "anti_sd1_diquark",       108.8*MeV,       0.0*MeV,    2./3.*eplus, 
00271                     2,              +1,             0,          
00272                     1,              +1,             0,             
00273            "diquarks",               0,             0,        -3103,
00274                  true,            -1.0,          NULL);
00275    
00276   // anti su1-Diquark
00277   particle = new G4DiQuarks(            
00278    "anti_su1_diquark",       106.4*MeV,       0.0*MeV,  -1./3.*eplus, 
00279                     2,              +1,             0,          
00280                     1,              -1,             0,             
00281            "diquarks",               0,             0,        -3203,
00282                  true,            -1.0,          NULL);
00283 
00284     // anti sd0-Diquark
00285   particle = new G4DiQuarks(            
00286    "anti_sd0_diquark",       108.0*MeV,       0.0*MeV,    2./3.*eplus, 
00287                     0,              +1,             0,          
00288                     1,              +1,             0,             
00289            "diquarks",               0,             0,        -3101,
00290                  true,            -1.0,          NULL);
00291    
00292   // anti su0-Diquark
00293   particle = new G4DiQuarks(            
00294    "anti_su0_diquark",       106.4*MeV,       0.0*MeV,  -1./3.*eplus, 
00295                     0,              +1,             0,          
00296                     1,              -1,             0,             
00297            "diquarks",               0,             0,        -3201,
00298                  true,            -1.0,          NULL);
00299     // ss1-Diquark
00300   particle = new G4DiQuarks(            
00301         "ss1_diquark",       208.0*MeV,       0.0*MeV,   -2./3.*eplus, 
00302                     2,              +1,             0,          
00303                     0,               0,             0,             
00304            "diquarks",               0,             0,         3303,
00305                  true,            -1.0,          NULL);
00306    
00307     // anti ss1-Diquark
00308   particle = new G4DiQuarks(            
00309         "anti_ss1_diquark",  208.0*MeV,       0.0*MeV,    2./3.*eplus, 
00310                     2,              +1,             0,          
00311                     0,               0,             0,             
00312            "diquarks",               0,             0,        -3303,
00313                  true,            -1.0,          NULL);
00314 
00315   particle = NULL;      
00316 }
00317 
00318 #include "G4ExcitedNucleonConstructor.hh"
00319 #include "G4ExcitedDeltaConstructor.hh"
00320 #include "G4ExcitedLambdaConstructor.hh"
00321 #include "G4ExcitedSigmaConstructor.hh"
00322 #include "G4ExcitedXiConstructor.hh"
00323 #include "G4ExcitedMesonConstructor.hh"
00324 void G4ShortLivedConstructor::ConstructResonances()
00325 {
00326   ConstructBaryons();
00327   ConstructMesons();
00328 
00329   // N*
00330   G4ExcitedNucleonConstructor nucleons;
00331   nucleons.Construct();
00332 
00333   // Delta*
00334   G4ExcitedDeltaConstructor deltas;
00335   deltas.Construct();
00336 
00337   // Lambda*
00338   G4ExcitedLambdaConstructor lamdas;
00339   lamdas.Construct();
00340 
00341   // Sigma*
00342   G4ExcitedSigmaConstructor sigmas;
00343   sigmas.Construct();
00344 
00345   // Xi*
00346   G4ExcitedXiConstructor xis;
00347   xis.Construct();
00348  
00349   // Mesons
00350   G4ExcitedMesonConstructor mesons;
00351   mesons.Construct();
00352 
00353 }
00354 
00355 
00356 #include "G4ExcitedBaryons.hh"
00357 void G4ShortLivedConstructor::ConstructBaryons()
00358 {
00359   G4DecayTable*   decayTable;
00360   G4VDecayChannel* mode;
00361   G4ExcitedBaryons* particle;
00362 
00363   //    Construct Resonace particles as dynamic object
00364   //    Arguments for constructor are as follows
00365   //               name             mass          width         charge
00366   //             2*spin           parity  C-conjugation
00367   //          2*Isospin       2*Isospin3       G-parity
00368   //               type    lepton number  baryon number   PDG encoding
00369   //             stable         lifetime    decay table 
00370 
00371   // delta baryons
00372   //  delta(1232)++
00373   particle = new G4ExcitedBaryons(            
00374             "delta++",       1.232*GeV,     120.0*MeV,    +2.0*eplus, 
00375                     3,              +1,             0,          
00376                     3,              +3,             0,             
00377              "baryon",               0,            +1,          2224,
00378                 false,             0.0,          NULL);
00379   // set sub type
00380   particle->SetMultipletName("delta");
00381   // create decay table
00382   decayTable =  new G4DecayTable();
00383   // create decay channel of delta++ -> proton + pi+
00384   //                                   parent    BR     #daughters
00385   mode  = new G4PhaseSpaceDecayChannel("delta++",1.000, 2,
00386                                                         "proton","pi+");
00387   // add decay table
00388   decayTable->Insert(mode);
00389   particle->SetDecayTable(decayTable);
00390 
00391   //  delta(1232)+
00392   particle = new G4ExcitedBaryons(            
00393              "delta+",       1.232*GeV,     120.0*MeV,    +1.0*eplus, 
00394                     3,              +1,             0,          
00395                     3,              +1,             0,             
00396              "baryon",               0,            +1,          2214,
00397                 false,             0.0,          NULL);
00398   // set sub type
00399   particle->SetMultipletName("delta(1232)");
00400   // create decay table
00401   decayTable =  new G4DecayTable();
00402   // create decay channel of delta+  -> proton + Gamma
00403   //                                   parent    BR     #daughters
00404   mode  = new G4PhaseSpaceDecayChannel("delta+", 0.01, 2,
00405                                                         "proton","gamma");
00406   decayTable->Insert(mode);
00407   // create decay channel of delta+  -> neutron + pi+
00408   //                                   parent    BR     #daughters
00409   // create decay channel of delta+  -> proton + pi0
00410   //                                   parent    BR     #daughters
00411   mode  = new G4PhaseSpaceDecayChannel("delta+", 0.495, 2,
00412                                                         "proton","pi0");
00413   decayTable->Insert(mode);
00414   // create decay channel of delta+  -> neutron + pi+
00415   //                                   parent    BR     #daughters
00416   mode  = new G4PhaseSpaceDecayChannel("delta+", 0.495, 2,
00417                                                         "neutron","pi+");
00418   decayTable->Insert(mode);
00419   particle->SetDecayTable(decayTable);
00420 
00421   //  delta(1232)0
00422   particle = new G4ExcitedBaryons(            
00423              "delta0",       1.232*GeV,     120.0*MeV,    +0.0*eplus, 
00424                     3,              +1,             0,          
00425                     3,              -1,             0,             
00426              "baryon",               0,            +1,          2114,
00427                 false,             0.0,          NULL);
00428   // set sub type
00429   particle->SetMultipletName("delta(1232)");
00430   // create decay table
00431   decayTable =  new G4DecayTable();
00432   // create decay channel of delta+  -> neutron + gamma
00433   //                                   parent    BR     #daughters
00434   mode  = new G4PhaseSpaceDecayChannel("delta0", 0.01, 2,
00435                                                         "neutron","gamma");
00436   decayTable->Insert(mode);
00437   // create decay channel of delta+  -> proton + pi-
00438   //                                   parent    BR     #daughters
00439   mode  = new G4PhaseSpaceDecayChannel("delta0", 0.495, 2,
00440                                                         "proton","pi-");
00441   decayTable->Insert(mode);
00442   // create decay channel of delta+  -> neutron + pi0
00443   //                                   parent    BR     #daughters
00444   mode  = new G4PhaseSpaceDecayChannel("delta0", 0.495, 2,
00445                                                         "neutron","pi0");
00446   decayTable->Insert(mode);
00447   particle->SetDecayTable(decayTable);
00448 
00449   //  delta(1232)-
00450   particle = new G4ExcitedBaryons(            
00451              "delta-",       1.232*GeV,     118.0*MeV,    -1.0*eplus, 
00452                     3,              +1,             0,          
00453                     3,              -3,             0,             
00454              "baryon",               0,            +1,          1114,
00455                 false,             0.0,          NULL);
00456   // set sub type
00457   particle->SetMultipletName("delta(1232)");
00458   // create decay table
00459   decayTable =  new G4DecayTable();
00460   // create decay channel of delta+  -> neutron + pi-
00461   //                                   parent    BR     #daughters
00462   mode  = new G4PhaseSpaceDecayChannel("delta-", 1.000, 2,
00463                                                         "neutron","pi-");
00464   decayTable->Insert(mode);
00465   particle->SetDecayTable(decayTable);
00466 
00467 
00469   // anti_delta baryons
00470   //  anti_delta(1232)++
00471   particle = new G4ExcitedBaryons(            
00472        "anti_delta++",       1.232*GeV,     120.0*MeV,    -2.0*eplus, 
00473                     3,              +1,             0,          
00474                     3,              -3,             0,             
00475              "baryon",               0,            -1,         -2224,
00476                 false,             0.0,          NULL);
00477   // set sub type
00478   particle->SetMultipletName("delta(1232)");
00479   // create decay table
00480   decayTable =  new G4DecayTable();
00481   // create decay channel of delta++ -> anti_proton + pi-
00482   //                                        parent    BR     #daughters
00483   mode  = new G4PhaseSpaceDecayChannel("anti_delta++",1.000, 2,
00484                                                    "anti_proton","pi-");
00485   // add decay table
00486   decayTable->Insert(mode);
00487   particle->SetDecayTable(decayTable);
00488 
00489   //  anti_delta(1232)+
00490   particle = new G4ExcitedBaryons(            
00491         "anti_delta+",       1.232*GeV,     120.0*MeV,    -1.0*eplus, 
00492                     3,              +1,             0,          
00493                     3,              -1,             0,             
00494              "baryon",               0,            -1,         -2214,
00495                 false,             0.0,          NULL);
00496   // set sub type
00497   particle->SetMultipletName("delta(1232)");
00498   // create decay table
00499   decayTable =  new G4DecayTable();
00500   // create decay channel of anti_delta+  -> anti_proton + pi0
00501   //                                   parent    BR     #daughters
00502   mode  = new G4PhaseSpaceDecayChannel("anti_delta+", 0.500, 2,
00503                                                    "anti_proton","pi0");
00504   decayTable->Insert(mode);
00505   // create decay channel of anti_delta+  -> anti_neutron + pi-
00506   //                                   parent    BR     #daughters
00507   mode  = new G4PhaseSpaceDecayChannel("anti_delta+", 0.500, 2,
00508                                                   "anti_neutron","pi-");
00509   decayTable->Insert(mode);
00510   particle->SetDecayTable(decayTable);
00511 
00512   //  anti_delta(1232)0
00513   particle = new G4ExcitedBaryons(            
00514         "anti_delta0",       1.232*GeV,     120.0*MeV,    +0.0*eplus, 
00515                     3,              +1,             0,          
00516                     3,              +1,             0,             
00517              "baryon",               0,            -1,         -2114,
00518                 false,             0.0,          NULL);
00519   // set sub type
00520   particle->SetMultipletName("delta(1232)");
00521   // create decay table
00522   decayTable =  new G4DecayTable();
00523   // create decay channel of anti_delta+  -> anti_proton + pi+
00524   //                                   parent    BR     #daughters
00525   mode  = new G4PhaseSpaceDecayChannel("anti_delta0", 0.500, 2,
00526                                                         "anti_proton","pi+");
00527   decayTable->Insert(mode);
00528   // create decay channel of delta+  -> neutron + pi0
00529   //                                   parent    BR     #daughters
00530   mode  = new G4PhaseSpaceDecayChannel("anti_delta0", 0.500, 2,
00531                                                         "anti_neutron","pi0");
00532   decayTable->Insert(mode);
00533   particle->SetDecayTable(decayTable);
00534 
00535   //  anti_delta(1232)-
00536   particle = new G4ExcitedBaryons(            
00537         "anti_delta-",       1.232*GeV,     118.0*MeV,    +1.0*eplus, 
00538                     3,              +1,             0,          
00539                     3,              +3,             0,             
00540              "baryon",               0,            -1,         -1114,
00541                 false,             0.0,          NULL);
00542   // set sub type
00543   particle->SetMultipletName("delta(1232)");
00544   // create decay table
00545   decayTable =  new G4DecayTable();
00546   // create decay channel of delta-  -> neutron + pi+
00547   //                                   parent    BR     #daughters
00548   mode  = new G4PhaseSpaceDecayChannel("anti_delta-", 1.000, 2,
00549                                                         "anti_neutron","pi+");
00550   decayTable->Insert(mode);
00551   particle->SetDecayTable(decayTable);
00552 
00553 
00554 
00555 }
00556 #include "G4ExcitedMesons.hh"
00557 void G4ShortLivedConstructor::ConstructMesons()
00558 {
00559   G4DecayTable*   decayTable;
00560   G4VDecayChannel* mode;
00561   G4ExcitedMesons* particle;
00562 
00563   //    Construct Resonace particles as dynamic object
00564   //    Arguments for constructor are as follows
00565   //               name             mass          width         charge
00566   //             2*spin           parity  C-conjugation
00567   //          2*Isospin       2*Isospin3       G-parity
00568   //               type    lepton number  baryon number   PDG encoding
00569   //             stable         lifetime    decay table 
00570 
00571   // vector mesons
00572   // omega
00573   particle = new G4ExcitedMesons(            
00574               "omega",      782.65*MeV,      8.49*MeV,    +0.0*eplus, 
00575                     2,              -1,            -1,          
00576                     0,              +0,            -1,             
00577               "meson",               0,             0,           223,
00578                 false,             0.0,          NULL);
00579   particle->SetAntiPDGEncoding(223);
00580   // set sub type
00581   particle->SetMultipletName("omega");
00582   // create decay table
00583   decayTable =  new G4DecayTable();
00584   // create decay channel of omega -> pi+ + pi- + pi0
00585   //                                   parent    BR     #daughters
00586   mode  = new G4PhaseSpaceDecayChannel("omega",0.891, 3,
00587                                                     "pi+","pi-","pi0");
00588   // add decay table
00589   decayTable->Insert(mode);
00590 
00591   // create decay channel of omega -> gamma + pi0
00592   //                                   parent    BR     #daughters
00593   mode  = new G4PhaseSpaceDecayChannel("omega",0.0890, 2,
00594                                                     "gamma","pi0");
00595   // add decay table
00596   decayTable->Insert(mode);
00597 
00598   // create decay channel of omega -> pi+ + pi- 
00599   //                                   parent    BR     #daughters
00600   mode  = new G4PhaseSpaceDecayChannel("omega",0.0170, 2,
00601                                                     "pi+","pi-");
00602   // add decay table
00603   decayTable->Insert(mode);
00604   particle->SetDecayTable(decayTable);
00605 
00606   // phi
00607   particle = new G4ExcitedMesons(            
00608                 "phi",     1019.46*MeV,      4.26*MeV,    +0.0*eplus, 
00609                     2,              -1,            -1,          
00610                     0,              +0,            -1,             
00611               "meson",               0,             0,           333,
00612                 false,             0.0,          NULL);
00613   particle->SetAntiPDGEncoding(333);
00614   // set sub type
00615   particle->SetMultipletName("phi");
00616    // create decay table
00617   decayTable =  new G4DecayTable();
00618   // create decay channel of phi -> kaon+ + kaon-
00619   //                                   parent    BR     #daughters
00620   mode  = new G4PhaseSpaceDecayChannel("phi",0.492, 2,
00621                                                     "kaon+","kaon-");
00622   decayTable->Insert(mode);
00623    // create decay channel of phi -> kaon0S + kaon0L
00624   //                                   parent    BR     #daughters
00625   mode  = new G4PhaseSpaceDecayChannel("phi",0.340, 2,
00626                                                    "kaon0S","kaon0L");
00627   // add decay table
00628   decayTable->Insert(mode);
00629   // create decay channel of phi -> rho0 + pi0
00630   //                                   parent    BR     #daughters
00631   mode  = new G4PhaseSpaceDecayChannel("phi",0.153, 2,
00632                                                    "rho0","pi0");
00633   // add decay table
00634   decayTable->Insert(mode);
00635   particle->SetDecayTable(decayTable);
00636  
00637   // rho+
00638   particle = new G4ExcitedMesons(            
00639                "rho+",       775.8*MeV,     150.3*MeV,    +1.0*eplus, 
00640                     2,              -1,            -1,          
00641                     2,              +2,            +1,             
00642               "meson",               0,             0,           213,
00643                 false,             0.0,          NULL);
00644   // set sub type
00645   particle->SetMultipletName("rho");
00646   // create decay table
00647   decayTable =  new G4DecayTable();
00648   // create decay channel of rho+ -> pi+ + pi0
00649   //                                   parent    BR     #daughters
00650   mode  = new G4PhaseSpaceDecayChannel("rho+",1.000, 2,
00651                                                     "pi+","pi0");
00652   // add decay table
00653   decayTable->Insert(mode);
00654   particle->SetDecayTable(decayTable);
00655 
00656   // rho-
00657   particle = new G4ExcitedMesons(            
00658                "rho-",       775.8*MeV,     150.3*MeV,    -1.0*eplus, 
00659                     2,              -1,            -1,          
00660                     2,              -2,            +1,             
00661               "meson",               0,             0,          -213,
00662                 false,             0.0,          NULL);
00663   // set sub type
00664   particle->SetMultipletName("rho");
00665   // create decay table
00666   decayTable =  new G4DecayTable();
00667   // create decay channel of rho- -> pi- + pi0
00668   //                                   parent    BR     #daughters
00669   mode  = new G4PhaseSpaceDecayChannel("rho-",1.000, 2,
00670                                                     "pi-","pi0");
00671   // add decay table
00672   decayTable->Insert(mode);
00673   particle->SetDecayTable(decayTable);
00674   
00675   // rho0
00676   particle = new G4ExcitedMesons(            
00677                "rho0",       775.49*MeV,    149.1*MeV,         0.0, 
00678                     2,              -1,            -1,          
00679                     2,               0,            +1,             
00680               "meson",               0,             0,         113,
00681                 false,          0.0*ns,          NULL );
00682   particle->SetAntiPDGEncoding(113);
00683   // set sub type
00684   particle->SetMultipletName("rho");
00685   // create decay table
00686   decayTable =  new G4DecayTable();
00687   // create decay channel of rho0 -> pi+ + pi-
00688   //                                   parent    BR     #daughters
00689   mode  = new G4PhaseSpaceDecayChannel("rho0",1.000, 2,
00690                                                     "pi+","pi-");
00691   // add decay table
00692   decayTable->Insert(mode);
00693   particle->SetDecayTable(decayTable);
00694 
00695   // a0(980)+
00696   particle = new G4ExcitedMesons(            
00697            "a0(980)+",       980.0*MeV,      60.0*MeV,    +1.0*eplus, 
00698                     0,              +1,            +1,          
00699                     2,              +2,            -1,             
00700               "meson",               0,             0,       9000211,
00701                 false,             0.0,          NULL);
00702   // set sub type
00703   particle->SetMultipletName("a0(980)");
00704   // create decay table
00705   decayTable =  new G4DecayTable();
00706   // create decay channel of a0(980)+ -> eta + pi+
00707   //                                   parent    BR     #daughters
00708   mode  = new G4PhaseSpaceDecayChannel("a0(980)+",1.000, 2,
00709                                                     "pi+","eta");
00710   // add decay table
00711   decayTable->Insert(mode);
00712   particle->SetDecayTable(decayTable);
00713 
00714   // a0(980)-
00715   particle = new G4ExcitedMesons(            
00716            "a0(980)-",       980.0*MeV,      60.0*MeV,    -1.0*eplus, 
00717                     0,              +1,            +1,          
00718                     2,              -2,            -1,             
00719               "meson",               0,             0,      -9000211,
00720                 false,             0.0,          NULL);
00721   // set sub type
00722   particle->SetMultipletName("a0(980)");
00723   // create decay table
00724   decayTable =  new G4DecayTable();
00725   // create decay channel of a0(980)- -> eta + pi-
00726   //                                   parent    BR     #daughters
00727   mode  = new G4PhaseSpaceDecayChannel("a0(980)-",1.000, 2,
00728                                                     "pi-","eta");
00729   // add decay table
00730   decayTable->Insert(mode);
00731   particle->SetDecayTable(decayTable);
00732 
00733   // a0(980)0
00734   particle = new G4ExcitedMesons(            
00735            "a0(980)0",       980.0*MeV,      75.0*MeV,           0.0,
00736                     0,              +1,            +1,          
00737                     2,               0,            -1,             
00738               "meson",               0,             0,       9000111,
00739                 false,             0.0,          NULL);
00740   particle->SetAntiPDGEncoding(9000111);
00741   // set sub type
00742   particle->SetMultipletName("a0(980)");
00743   // create decay table
00744   decayTable =  new G4DecayTable();
00745   // create decay channel of a0(980)0 -> eta + pi0
00746   //                                   parent    BR     #daughters
00747   mode  = new G4PhaseSpaceDecayChannel("a0(980)0",1.000, 2,
00748                                                     "pi0","eta");
00749   // add decay table
00750   decayTable->Insert(mode);
00751   particle->SetDecayTable(decayTable);
00752 
00753   // f0(600) (was f0(400-1200))
00754   particle = new G4ExcitedMesons(            
00755             "f0(600)",       800.0*MeV,     800.0*MeV,           0.0,
00756                     0,              +1,            +1,          
00757                     0,               0,            +1,             
00758               "meson",               0,             0,       9000221,
00759                 false,             0.0,          NULL);
00760   particle->SetAntiPDGEncoding(9000221);
00761   // set sub type
00762   particle->SetMultipletName("f0(600)");
00763   // create decay table
00764   decayTable =  new G4DecayTable();
00765   // create decay channel of f0(600) -> pi + pi
00766   //                                   parent    BR     #daughters
00767   mode  = new G4PhaseSpaceDecayChannel("f0(600)",1.000, 2,
00768                                                     "pi+","pi-");
00769   // add decay table
00770   decayTable->Insert(mode);
00771   particle->SetDecayTable(decayTable);
00772 
00773 
00774   // f0(980)
00775   particle = new G4ExcitedMesons(            
00776             "f0(980)",       980.0*MeV,      70.0*MeV,           0.0,
00777                     0,              +1,            +1,          
00778                     0,               0,            +1,             
00779               "meson",               0,             0,       9010221,
00780                 false,             0.0,          NULL);
00781   particle->SetAntiPDGEncoding(9010221);
00782   // set sub type
00783   particle->SetMultipletName("f0(980)");
00784   // create decay table
00785   decayTable =  new G4DecayTable();
00786   // create decay channel of f0(980) -> pi + pi
00787   //                                   parent    BR     #daughters
00788   mode  = new G4PhaseSpaceDecayChannel("f0(980)",1.000, 2,
00789                                                     "pi+","pi-");
00790   // add decay table
00791   decayTable->Insert(mode);
00792   particle->SetDecayTable(decayTable);
00793 
00794   // eta(1405)
00795   particle = new G4ExcitedMesons(            
00796           "eta(1405)",      1409.8*MeV,      51.1*MeV,           0.0,
00797                     0,              -1,            +1,          
00798                     0,               0,            +1,             
00799               "meson",               0,             0,       9020221,
00800                 false,             0.0,          NULL);
00801   particle->SetAntiPDGEncoding(9020221);
00802   // set sub type
00803   particle->SetMultipletName("eta(1405)");
00804   // create decay table
00805   decayTable =  new G4DecayTable();
00806   // create decay channel of eta(1405) -> rho + rho
00807   //                                   parent    BR     #daughters
00808   mode  = new G4PhaseSpaceDecayChannel("eta(1405)",1.000, 2,
00809                                                    "rho+","rho-");
00810   // add decay table
00811   decayTable->Insert(mode);
00812   particle->SetDecayTable(decayTable);
00813   // f0(1500)
00814   particle = new G4ExcitedMesons(            
00815            "f0(1500)",      1505.0*MeV,     109.0*MeV,           0.0,
00816                     0,              +1,            +1,          
00817                     0,               0,            +1,             
00818               "meson",               0,             0,       9030221,
00819                 false,             0.0,          NULL);
00820   particle->SetAntiPDGEncoding(9030221);
00821   // set sub type
00822   particle->SetMultipletName("f0(1500)");
00823   // create decay table
00824   decayTable =  new G4DecayTable();
00825   // create decay channel of f0(1500) -> eta + eta
00826   //                                   parent    BR     #daughters
00827   mode  = new G4PhaseSpaceDecayChannel("f0(1500)",1.000, 2,
00828                                                     "eta","eta");
00829   // add decay table
00830   decayTable->Insert(mode);
00831   particle->SetDecayTable(decayTable);
00832 
00833   // f0(1710)
00834   particle = new G4ExcitedMesons(            
00835            "f0(1710)",      1720.0*MeV,     135.0*MeV,           0.0,
00836                     0,              +1,            +1,          
00837                     0,               0,            +1,             
00838               "meson",               0,             0,         10331,
00839                 false,             0.0,          NULL);
00840   particle->SetAntiPDGEncoding(10331);
00841   // set sub type
00842   particle->SetMultipletName("f0(1710)");
00843   // create decay table
00844   decayTable =  new G4DecayTable();
00845 
00846   // create decay channel of f0(1710) -> k0 + k0
00847   //                                   parent    BR     #daughters
00848   mode  = new G4PhaseSpaceDecayChannel("f0(1710)",0.40, 2,
00849                                                     "kaon0S","kaon0S");
00850   // add decay table
00851   decayTable->Insert(mode);
00852  
00853   // create decay channel of f0(1710) -> k+ + k+
00854   //                                   parent    BR     #daughters
00855   mode  = new G4PhaseSpaceDecayChannel("f0(1710)",0.40, 2,
00856                                                     "kaon+","kaon-");
00857   // add decay table
00858   decayTable->Insert(mode);
00859   
00860   // create decay channel of f0(1710) -> eta + eta
00861   //                                   parent    BR     #daughters
00862   mode  = new G4PhaseSpaceDecayChannel("f0(1710)",0.20, 2,
00863                                                     "eta","eta");
00864   // add decay table
00865   decayTable->Insert(mode);
00866   particle->SetDecayTable(decayTable);
00867 
00868 
00869   // k_star+
00870   particle = new G4ExcitedMesons(            
00871             "k_star+",      891.66*MeV,      50.8*MeV,    +1.0*eplus, 
00872                     2,              -1,             0,          
00873                     1,              +1,             0,             
00874               "meson",               0,             0,           323,
00875                 false,             0.0,          NULL);
00876   // set sub type
00877   particle->SetMultipletName("k_star");
00878   // create decay table
00879   decayTable =  new G4DecayTable();
00880   // create decay channel of k_star+ -> kaon+ + pi0
00881   //                                   parent    BR     #daughters
00882   mode  = new G4PhaseSpaceDecayChannel("k_star+",0.500, 2,
00883                                                     "kaon+","pi0");
00884   // add decay table
00885   decayTable->Insert(mode);
00886    // create decay channel of k_star+ -> kaon+ + pi0
00887   //                                   parent    BR     #daughters
00888   mode  = new G4PhaseSpaceDecayChannel("k_star+",0.500, 2,
00889                                                     "kaon0","pi+");
00890   // add decay table
00891   decayTable->Insert(mode);
00892   particle->SetDecayTable(decayTable);
00893   
00894   // k_star0
00895   particle = new G4ExcitedMesons(            
00896             "k_star0",      895.94*MeV,      48.7*MeV,     0.0*eplus, 
00897                     2,              -1,             0,          
00898                     1,              -1,             0,             
00899               "meson",               0,             0,           313,
00900                 false,             0.0,          NULL);
00901   // set sub type
00902   particle->SetMultipletName("k_star");
00903   // create decay table
00904   decayTable =  new G4DecayTable();
00905   // create decay channel of k_star0 -> kaon+ + pi-
00906   //                                   parent    BR     #daughters
00907   mode  = new G4PhaseSpaceDecayChannel("k_star0",0.500, 2,
00908                                                     "kaon+","pi-");
00909   // add decay table
00910   decayTable->Insert(mode);
00911    // create decay channel of k_star0 -> kaon0 + pi0
00912   //                                   parent    BR     #daughters
00913   mode  = new G4PhaseSpaceDecayChannel("k_star0",0.500, 2,
00914                                                     "kaon0","pi0");
00915   // add decay table
00916   decayTable->Insert(mode);
00917   particle->SetDecayTable(decayTable);
00918 
00919   // k_star-
00920   particle = new G4ExcitedMesons(            
00921             "k_star-",       891.66*MeV,     50.8*MeV,    -1.0*eplus, 
00922                     2,              -1,             0,          
00923                     1,              +1,             0,             
00924               "meson",               0,             0,          -323,
00925                 false,             0.0,          NULL);
00926   // set sub type
00927   particle->SetMultipletName("k_star");
00928   // create decay table
00929   decayTable =  new G4DecayTable();
00930   // create decay channel of k_star- -> kaon- + pi0
00931   //                                   parent    BR     #daughters
00932   mode  = new G4PhaseSpaceDecayChannel("k_star-",0.500, 2,
00933                                                     "kaon-","pi0");
00934   // add decay table
00935   decayTable->Insert(mode);
00936    // create decay channel of k_star- -> anti_kaon0 + pi-
00937   //                                   parent    BR     #daughters
00938   mode  = new G4PhaseSpaceDecayChannel("k_star-",0.500, 2,
00939                                                     "anti_kaon0","pi-");
00940   // add decay table
00941   decayTable->Insert(mode);
00942   particle->SetDecayTable(decayTable);
00943   
00944   
00945   // anti_k_star0
00946   particle = new G4ExcitedMesons(            
00947        "anti_k_star0",      895.94*MeV,      48.7*MeV,     0.0*eplus, 
00948                     2,              -1,             0,          
00949                     1,              -1,             0,             
00950               "meson",               0,             0,          -313,
00951                 false,             0.0,          NULL);
00952   // set sub type
00953   particle->SetMultipletName("k_star");
00954   // create decay table
00955   decayTable =  new G4DecayTable();
00956   // create decay channel of anti_k_star0 -> kaon- + pi+
00957   //                                   parent    BR     #daughters
00958   mode  = new G4PhaseSpaceDecayChannel("anti_k_star0",0.500, 2,
00959                                                     "kaon-","pi+");
00960   // add decay table
00961   decayTable->Insert(mode);
00962    // create decay channel of anti_k_star0 -> anti_kaon0 + pi0
00963   //                                   parent    BR     #daughters
00964   mode  = new G4PhaseSpaceDecayChannel("anti_k_star0",0.500, 2,
00965                                                     "anti_kaon0","pi0");
00966   // add decay table
00967   decayTable->Insert(mode);
00968   particle->SetDecayTable(decayTable);
00969   
00970 }
00971 
00972 
00973 
00974 
00975 
00976 
00977 
00978 
00979 
00980 
00981 
00982 
00983 
00984 
00985 
00986 
00987 
00988 
00989 

Generated on Mon May 27 17:49:49 2013 for Geant4 by  doxygen 1.4.7