Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/particles/shortlived/src/G4ShortLivedConstructor.cc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /particles/shortlived/src/G4ShortLivedConstructor.cc (Version 11.3.0) and /particles/shortlived/src/G4ShortLivedConstructor.cc (Version 8.0.p1)


  1 //                                                  1 //
  2 // *******************************************      2 // ********************************************************************
  3 // * License and Disclaimer                    <<   3 // * DISCLAIMER                                                       *
  4 // *                                                4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of th <<   5 // * The following disclaimer summarizes all the specific disclaimers *
  6 // * the Geant4 Collaboration.  It is provided <<   6 // * of contributors to this software. The specific disclaimers,which *
  7 // * conditions of the Geant4 Software License <<   7 // * govern, are listed with their locations in:                      *
  8 // * LICENSE and available at  http://cern.ch/ <<   8 // *   http://cern.ch/geant4/license                                  *
  9 // * include a list of copyright holders.      << 
 10 // *                                                9 // *                                                                  *
 11 // * Neither the authors of this software syst     10 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing fin     11 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warran     12 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assum     13 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file  <<  14 // * use.                                                             *
 16 // * for the full disclaimer and the limitatio << 
 17 // *                                               15 // *                                                                  *
 18 // * This  code  implementation is the result  <<  16 // * This  code  implementation is the  intellectual property  of the *
 19 // * technical work of the GEANT4 collaboratio <<  17 // * GEANT4 collaboration.                                            *
 20 // * By using,  copying,  modifying or  distri <<  18 // * By copying,  distributing  or modifying the Program (or any work *
 21 // * any work based  on the software)  you  ag <<  19 // * based  on  the Program)  you indicate  your  acceptance of  this *
 22 // * use  in  resulting  scientific  publicati <<  20 // * statement, and all its terms.                                    *
 23 // * acceptance of all terms of the Geant4 Sof << 
 24 // *******************************************     21 // ********************************************************************
 25 //                                                 22 //
                                                   >>  23 //
                                                   >>  24 // $Id: G4ShortLivedConstructor.cc,v 1.12 2004/02/13 05:54:07 kurasige Exp $
                                                   >>  25 // GEANT4 tag $Name: geant4-08-00-patch-01 $
                                                   >>  26 //
                                                   >>  27 // 
 26 // -------------------------------------------     28 // --------------------------------------------------------------
 27 //  GEANT 4 class implementation file          <<  29 //  GEANT 4 class implementation file 
 28 //                                                 30 //
 29 //    - Add "rho0"                             <<  31 //      Add "rho0"                         25  Feb. 2000 H.Kurashige
 30 //    - Fix spin/isospin number for quarks     <<  32 //      Fix spin/isospin number for quarks 06  Apr. 2001 H.Kurashige
 31 //    - update quark mass                      << 
 32 //    - update meson/baryon masses             << 
 33 //    - Added charm and bottom diquarks        << 
 34 //    - Update mass and width for excited meso << 
 35 //      and excited baryons following PDG 2023 << 
 36                                                    33 
 37 #include "G4ShortLivedConstructor.hh"              34 #include "G4ShortLivedConstructor.hh"
 38                                                    35 
 39 #include "G4DecayTable.hh"                     << 
 40 #include "G4DiQuarks.hh"                       << 
 41 #include "G4ExcitedBaryons.hh"                 << 
 42 #include "G4ExcitedDeltaConstructor.hh"        << 
 43 #include "G4ExcitedLambdaConstructor.hh"       << 
 44 #include "G4ExcitedMesonConstructor.hh"        << 
 45 #include "G4ExcitedMesons.hh"                  << 
 46 #include "G4ExcitedNucleonConstructor.hh"      << 
 47 #include "G4ExcitedSigmaConstructor.hh"        << 
 48 #include "G4ExcitedXiConstructor.hh"           << 
 49 #include "G4Gluons.hh"                         << 
 50 #include "G4ParticleDefinition.hh"                 36 #include "G4ParticleDefinition.hh"
                                                   >>  37 #include "G4ParticleTable.hh"
                                                   >>  38 #include "G4ShortLivedTable.hh"
 51 #include "G4PhaseSpaceDecayChannel.hh"             39 #include "G4PhaseSpaceDecayChannel.hh"
 52 #include "G4Quarks.hh"                         << 
 53 #include "G4SystemOfUnits.hh"                  << 
 54 #include "G4VDecayChannel.hh"                      40 #include "G4VDecayChannel.hh"
                                                   >>  41 #include "G4DecayTable.hh"
 55                                                    42 
 56 G4bool G4ShortLivedConstructor::isConstructed      43 G4bool G4ShortLivedConstructor::isConstructed = false;
 57                                                    44 
                                                   >>  45 G4ShortLivedConstructor::G4ShortLivedConstructor()
                                                   >>  46 {
                                                   >>  47 }
                                                   >>  48 
                                                   >>  49 G4ShortLivedConstructor::~G4ShortLivedConstructor()
                                                   >>  50 {
                                                   >>  51 }
                                                   >>  52 
                                                   >>  53 
 58 void G4ShortLivedConstructor::ConstructParticl     54 void G4ShortLivedConstructor::ConstructParticle()
 59 {                                                  55 {
 60   if (!isConstructed) {                        <<  56   if (!isConstructed){
 61     ConstructQuarks();                             57     ConstructQuarks();
 62     ConstructResonances();                         58     ConstructResonances();
 63     isConstructed = true;                          59     isConstructed = true;
 64   }                                                60   }
 65 }                                                  61 }
 66                                                    62 
                                                   >>  63 #include "G4DiQuarks.hh"
                                                   >>  64 #include "G4Quarks.hh"
                                                   >>  65 #include "G4Gluons.hh"
 67 void G4ShortLivedConstructor::ConstructQuarks(     66 void G4ShortLivedConstructor::ConstructQuarks()
 68 {                                                  67 {
 69   G4ParticleDefinition* particle;                  68   G4ParticleDefinition* particle;
 70                                                    69 
 71   //    Construct Quraks/Gluons as dynamic obj     70   //    Construct Quraks/Gluons as dynamic object
 72   //    Arguments for constructor are as follo     71   //    Arguments for constructor are as follows
 73   //               name             mass           72   //               name             mass          width         charge
 74   //             2*spin           parity  C-co     73   //             2*spin           parity  C-conjugation
 75   //          2*Isospin       2*Isospin3           74   //          2*Isospin       2*Isospin3       G-parity
 76   //               type    lepton number  bary     75   //               type    lepton number  baryon number   PDG encoding
 77   //             stable         lifetime    de <<  76   //             stable         lifetime    decay table 
 78                                                    77 
 79   // clang-format off                          << 
 80   // gluon                                         78   // gluon
 81   particle = new G4Gluons(                     <<  79   particle = new G4Gluons(            
 82         "gluon",         0.0*MeV,       0.0*Me <<  80         "gluon",         0.0*MeV,       0.0*MeV,     0.0*eplus, 
 83                     2,              -1,        <<  81                     2,              -1,             0,          
 84                     0,               0,        <<  82                     0,               0,             0,             
 85              "gluons",               0,            83              "gluons",               0,             0,          21,
 86      true,            -1.0,          nullptr); <<  84      true,            -1.0,          NULL);
 87   particle->SetAntiPDGEncoding(21);                85   particle->SetAntiPDGEncoding(21);
 88   // u-quark                                       86   // u-quark
 89   particle = new G4Quarks(                     <<  87   particle = new G4Quarks(            
 90       "u_quark",         2.2*MeV,       0.0*ke <<  88       "u_quark",         8.0*MeV,       0.0*MeV,   2./3.*eplus, 
 91                     1,              +1,        <<  89                     1,              +1,             0,          
 92                     1,              +1,        <<  90                     1,              +1,             0,             
 93              "quarks",               0,            91              "quarks",               0,             0,           2,
 94      true,            -1.0,          nullptr); <<  92      true,            -1.0,          NULL);
 95   // d-quark                                       93   // d-quark
 96   particle = new G4Quarks(                     <<  94   particle = new G4Quarks(            
 97       "d_quark",         4.7*MeV,       0.0*ke <<  95       "d_quark",        15.0*MeV,       0.0*MeV,  -1./3.*eplus, 
 98                     1,              +1,        <<  96                     1,              +1,             0,          
 99                     1,              -1,        <<  97                     1,              -1,             0,             
100              "quarks",               0,            98              "quarks",               0,             0,           1,
101      true,            -1.0,          nullptr); <<  99      true,            -1.0,          NULL);
102   // s-quark                                      100   // s-quark
103   particle = new G4Quarks(                     << 101   particle = new G4Quarks(            
104       "s_quark",        96.0*MeV,       0.0*ke << 102       "s_quark",       300.0*MeV,       0.0*MeV,  -1./3.*eplus, 
105                     1,              +1,        << 103                     1,              +1,             0,          
106                     0,               0,        << 104                     0,               0,             0,             
107              "quarks",               0,           105              "quarks",               0,             0,           3,
108      true,            -1.0,          nullptr); << 106      true,            -1.0,          NULL);
109   // c-quark                                      107   // c-quark
110   particle = new G4Quarks(                     << 108   particle = new G4Quarks(            
111       "c_quark",        1.28*GeV,       0.0*ke << 109       "c_quark",         1.6*GeV,       0.0*MeV,  +2./3.*eplus, 
112                     1,              +1,        << 110                     1,              +1,             0,          
113                     0,               0,        << 111                     0,               0,             0,             
114              "quarks",               0,           112              "quarks",               0,             0,           4,
115      true,            -1.0,          nullptr); << 113      true,            -1.0,          NULL);
116   // b-quark                                      114   // b-quark
117   particle = new G4Quarks(                     << 115   particle = new G4Quarks(            
118       "b_quark",        4.18*GeV,       0.0*ke << 116       "b_quark",         4.5*GeV,       0.0*MeV,  -1./3.*eplus, 
119                     1,              +1,        << 117                     1,              +1,             0,          
120                     0,               0,        << 118                     0,               0,             0,             
121              "quarks",               0,           119              "quarks",               0,             0,           5,
122      true,            -1.0,          nullptr); << 120      true,            -1.0,          NULL);
123   // t-quark                                      121   // t-quark
124   particle = new G4Quarks(                     << 122   particle = new G4Quarks(            
125       "t_quark",       173.1*GeV,      1.41*Ge << 123       "t_quark",       174.0*GeV,       0.0*MeV,  +2./3.*eplus, 
126                     1,              +1,        << 124                     1,              +1,             0,          
127                     0,               0,        << 125                     0,               0,             0,             
128              "quarks",               0,           126              "quarks",               0,             0,           6,
129      true,            -1.0,          nullptr); << 127      true,            -1.0,          NULL);
130   // anti u-quark                                 128   // anti u-quark
131   particle = new G4Quarks(                     << 129   particle = new G4Quarks(            
132        "anti_u_quark",         2.2*MeV,        << 130        "anti_u_quark",         8.0*MeV,       0.0*MeV,   -2./3.*eplus, 
133                     1,              +1,        << 131                     1,              +1,             0,          
134                     1,              -1,        << 132                     1,              -1,             0,             
135              "quarks",               0,           133              "quarks",               0,             0,          -2,
136      true,            -1.0,          nullptr); << 134      true,            -1.0,          NULL);
137   // anti d-quark                                 135   // anti d-quark
138   particle = new G4Quarks(                     << 136   particle = new G4Quarks(            
139        "anti_d_quark",         4.7*MeV,        << 137        "anti_d_quark",        15.0*MeV,       0.0*MeV,   1./3.*eplus, 
140                     1,              +1,        << 138                     1,              +1,             0,          
141                     1,              +1,        << 139                     1,              +1,             0,             
142              "quarks",               0,           140              "quarks",               0,             0,          -1,
143      true,            -1.0,          nullptr); << 141      true,            -1.0,          NULL);
144   // anti s-quark                              << 142   // s-quark
145   particle = new G4Quarks(                     << 143   particle = new G4Quarks(            
146        "anti_s_quark",        96.0*MeV,        << 144        "anti_s_quark",       300.0*MeV,       0.0*MeV,   1./3.*eplus, 
147                     1,              +1,        << 145                     1,              +1,             0,          
148                     0,               0,        << 146                     0,               0,             0,             
149              "quarks",               0,           147              "quarks",               0,             0,          -3,
150      true,            -1.0,          nullptr); << 148      true,            -1.0,          NULL);
151   // anti c-quark                              << 149   // c-quark
152   particle = new G4Quarks(                     << 150   particle = new G4Quarks(            
153        "anti_c_quark",        1.28*GeV,        << 151        "anti_c_quark",         1.6*GeV,       0.0*MeV,  -2./3.*eplus, 
154                     1,              +1,        << 152                     1,              +1,             0,          
155                     0,               0,        << 153                     0,               0,             0,             
156              "quarks",               0,           154              "quarks",               0,             0,          -4,
157      true,            -1.0,          nullptr); << 155      true,            -1.0,          NULL);
158   // anti b-quark                              << 156   // b-quark
159   particle = new G4Quarks(                     << 157   particle = new G4Quarks(            
160        "anti_b_quark",        4.18*GeV,        << 158        "anti_b_quark",         4.5*GeV,       0.0*MeV,   1./3.*eplus, 
161                     1,              +1,        << 159                     1,              +1,             0,          
162                     0,               0,        << 160                     0,               0,             0,             
163              "quarks",               0,           161              "quarks",               0,             0,          -5,
164      true,            -1.0,          nullptr); << 162      true,            -1.0,          NULL);
165   // anti t-quark                              << 163   // t-quark
166   particle = new G4Quarks(                     << 164   particle = new G4Quarks(            
167        "anti_t_quark",       173.1*GeV,      1 << 165        "anti_t_quark",       174.0*GeV,       0.0*MeV,  -2./3.*eplus, 
168                     1,              +1,        << 166                     1,              +1,             0,          
169                     0,               0,        << 167                     0,               0,             0,             
170              "quarks",               0,           168              "quarks",               0,             0,          -6,
171      true,            -1.0,          nullptr); << 169      true,            -1.0,          NULL);
172                                                   170 
173    // uu1-Diquark                                 171    // uu1-Diquark
174   particle = new G4DiQuarks(                   << 172   particle = new G4DiQuarks(            
175   "uu1_diquark",         4.6*MeV,       0.0*Me << 173   "uu1_diquark",        16.0*MeV,       0.0*MeV,   4./3.*eplus, 
176                     2,              +1,        << 174                     2,              +1,             0,          
177                     2,              +2,        << 175                     2,              +2,             0,             
178            "diquarks",               0,           176            "diquarks",               0,             0,        2203,
179      true,            -1.0,          nullptr); << 177      true,            -1.0,          NULL);
180     // ud1-Diquark                                178     // ud1-Diquark
181   particle = new G4DiQuarks(                   << 179   particle = new G4DiQuarks(            
182    "ud1_diquark",        7.0*MeV,       0.0*Me << 180    "ud1_diquark",        23.0*MeV,       0.0*MeV,   1./3.*eplus, 
183                     2,              +1,        << 181                     2,              +1,             0,          
184                     2,              +0,        << 182                     2,              +0,             0,             
185            "diquarks",               0,           183            "diquarks",               0,             0,         2103,
186      true,            -1.0,          nullptr); << 184      true,            -1.0,          NULL);
187     // dd1-Diquark                                185     // dd1-Diquark
188   particle = new G4DiQuarks(                   << 186   particle = new G4DiQuarks(            
189   "dd1_diquark",         9.6*MeV,       0.0*Me << 187   "dd1_diquark",        30.0*MeV,       0.0*MeV,   -2./3.*eplus, 
190                     2,              +1,        << 188                     2,              +1,             0,          
191                     2,              -2,        << 189                     2,              -2,             0,             
192            "diquarks",               0,           190            "diquarks",               0,             0,         1103,
193      true,            -1.0,          nullptr); << 191      true,            -1.0,          NULL);
194                                                << 192    
195    // ud0-Diquark                                 193    // ud0-Diquark
196   particle = new G4DiQuarks(                   << 194   particle = new G4DiQuarks(            
197   "ud0_diquark",         7.1*MeV,       0.0*Me << 195   "ud0_diquark",        23.0*MeV,       0.0*MeV,   1./3.*eplus, 
198                     0,              +1,        << 196                     0,              +1,             0,          
199                     0,              +0,        << 197                     0,              +0,             0,             
200            "diquarks",               0,           198            "diquarks",               0,             0,         2101,
201      true,            -1.0,          nullptr); << 199      true,            -1.0,          NULL);
202                                                << 200    
203    // sd1-Diquark                                 201    // sd1-Diquark
204   particle = new G4DiQuarks(                   << 202   particle = new G4DiQuarks(            
205   "sd1_diquark",       102.8*MeV,       0.0*Me << 203   "sd1_diquark",       315.0*MeV,       0.0*MeV,   -2./3.*eplus, 
206                     2,              +1,        << 204                     2,              +1,             0,          
207                     1,              -1,        << 205                     1,              -1,             0,             
208            "diquarks",               0,           206            "diquarks",               0,             0,         3103,
209      true,            -1.0,          nullptr); << 207      true,            -1.0,          NULL);
210                                                << 208    
211   // su1-Diquark                                  209   // su1-Diquark
212   particle = new G4DiQuarks(                   << 210   particle = new G4DiQuarks(            
213   "su1_diquark",       101.4*MeV,       0.0*Me << 211   "su1_diquark",       308.0*MeV,       0.0*MeV,   1./3.*eplus, 
214                     2,              +1,        << 212                     2,              +1,             0,          
215                     1,              +1,        << 213                     1,              +1,             0,             
216            "diquarks",               0,           214            "diquarks",               0,             0,         3203,
217      true,            -1.0,          nullptr); << 215      true,            -1.0,          NULL);
218                                                   216 
219     // sd0-Diquark                                217     // sd0-Diquark
220   particle = new G4DiQuarks(                   << 218   particle = new G4DiQuarks(            
221   "sd0_diquark",       102.0*MeV,       0.0*Me << 219   "sd0_diquark",       315.0*MeV,       0.0*MeV,   -2./3.*eplus, 
222                     0,              +1,        << 220                     0,              +1,             0,          
223                     1,              -1,        << 221                     1,              -1,             0,             
224            "diquarks",               0,           222            "diquarks",               0,             0,         3101,
225      true,            -1.0,          nullptr); << 223      true,            -1.0,          NULL);
226                                                << 224    
227   // su0-Diquark                                  225   // su0-Diquark
228   particle = new G4DiQuarks(                   << 226   particle = new G4DiQuarks(            
229   "su0_diquark",       101.4*MeV,       0.0*Me << 227   "su0_diquark",       308.0*MeV,       0.0*MeV,   1./3.*eplus, 
230                     0,              +1,        << 228                     0,              +1,             0,          
231                     1,              +1,        << 229                     1,              +1,             0,             
232            "diquarks",               0,           230            "diquarks",               0,             0,         3201,
233      true,            -1.0,          nullptr); << 231      true,            -1.0,          NULL);
234                                                   232 
235    // anti uu1-Diquark                            233    // anti uu1-Diquark
236   particle = new G4DiQuarks(                   << 234   particle = new G4DiQuarks(            
237    "anti_uu1_diquark",         4.6*MeV,        << 235    "anti_uu1_diquark",        16.0*MeV,       0.0*MeV,  -4./3.*eplus, 
238                     2,              +1,        << 236                     2,              +1,             0,          
239                     2,              -2,        << 237                     2,              -2,             0,             
240            "diquarks",               0,           238            "diquarks",               0,             0,       -2203,
241      true,            -1.0,          nullptr); << 239      true,            -1.0,          NULL);
242     // anti ud1-Diquark                           240     // anti ud1-Diquark
243   particle = new G4DiQuarks(                   << 241   particle = new G4DiQuarks(            
244    "anti_ud1_diquark",         7.0*MeV,        << 242    "anti_ud1_diquark",        23.0*MeV,       0.0*MeV,  -1./3.*eplus, 
245                     2,              +1,        << 243                     2,              +1,             0,          
246                     2,              +0,        << 244                     2,              +0,             0,             
247            "diquarks",               0,           245            "diquarks",               0,             0,        -2103,
248      true,            -1.0,          nullptr); << 246      true,            -1.0,          NULL);
249     // anti dd1-Diquark                           247     // anti dd1-Diquark
250   particle = new G4DiQuarks(                   << 248   particle = new G4DiQuarks(            
251    "anti_dd1_diquark",         9.6*MeV,        << 249    "anti_dd1_diquark",        30.0*MeV,       0.0*MeV,    2./3.*eplus, 
252                     2,              +1,        << 250                     2,              +1,             0,          
253                     2,              +2,        << 251                     2,              +2,             0,             
254            "diquarks",               0,           252            "diquarks",               0,             0,        -1103,
255      true,            -1.0,          nullptr); << 253      true,            -1.0,          NULL);
256                                                << 254    
257    // anti ud0-Diquark                            255    // anti ud0-Diquark
258   particle = new G4DiQuarks(                   << 256   particle = new G4DiQuarks(            
259    "anti_ud0_diquark",         7.1*MeV,        << 257    "anti_ud0_diquark",        23.0*MeV,       0.0*MeV,  -1./3.*eplus, 
260                     0,              +1,        << 258                     0,              +1,             0,          
261                     0,              +0,        << 259                     0,              +0,             0,             
262            "diquarks",               0,           260            "diquarks",               0,             0,        -2101,
263      true,            -1.0,          nullptr); << 261      true,            -1.0,          NULL);
264                                                << 262    
265    // anti  sd1-Diquark                           263    // anti  sd1-Diquark
266   particle = new G4DiQuarks(                   << 264   particle = new G4DiQuarks(            
267    "anti_sd1_diquark",       102.8*MeV,        << 265    "anti_sd1_diquark",       315.0*MeV,       0.0*MeV,    2./3.*eplus, 
268                     2,              +1,        << 266                     2,              +1,             0,          
269                     1,              +1,        << 267                     1,              +1,             0,             
270            "diquarks",               0,           268            "diquarks",               0,             0,        -3103,
271      true,            -1.0,          nullptr); << 269      true,            -1.0,          NULL);
272                                                << 270    
273   // anti su1-Diquark                             271   // anti su1-Diquark
274   particle = new G4DiQuarks(                   << 272   particle = new G4DiQuarks(            
275    "anti_su1_diquark",       101.4*MeV,        << 273    "anti_su1_diquark",       308.0*MeV,       0.0*MeV,  -1./3.*eplus, 
276                     2,              +1,        << 274                     2,              +1,             0,          
277                     1,              -1,        << 275                     1,              -1,             0,             
278            "diquarks",               0,           276            "diquarks",               0,             0,        -3203,
279      true,            -1.0,          nullptr); << 277      true,            -1.0,          NULL);
280                                                   278 
281     // anti sd0-Diquark                           279     // anti sd0-Diquark
282   particle = new G4DiQuarks(                   << 280   particle = new G4DiQuarks(            
283    "anti_sd0_diquark",       102.0*MeV,        << 281    "anti_sd0_diquark",       315.0*MeV,       0.0*MeV,    2./3.*eplus, 
284                     0,              +1,        << 282                     0,              +1,             0,          
285                     1,              +1,        << 283                     1,              +1,             0,             
286            "diquarks",               0,           284            "diquarks",               0,             0,        -3101,
287      true,            -1.0,          nullptr); << 285      true,            -1.0,          NULL);
288                                                << 286    
289   // anti su0-Diquark                             287   // anti su0-Diquark
290   particle = new G4DiQuarks(                   << 288   particle = new G4DiQuarks(            
291    "anti_su0_diquark",       101.4*MeV,        << 289    "anti_su0_diquark",       308.0*MeV,       0.0*MeV,  -1./3.*eplus, 
292                     0,              +1,        << 290                     0,              +1,             0,          
293                     1,              -1,        << 291                     1,              -1,             0,             
294            "diquarks",               0,           292            "diquarks",               0,             0,        -3201,
295      true,            -1.0,          nullptr); << 293      true,            -1.0,          NULL);
296     // ss1-Diquark                             << 294     // anti ss1-Diquark
297   particle = new G4DiQuarks(                   << 295   particle = new G4DiQuarks(            
298   "ss1_diquark",       198.0*MeV,       0.0*Me << 296   "ss1_diquark",       600.0*MeV,       0.0*MeV,   -2./3.*eplus, 
299                     2,              +1,        << 297                     2,              +1,             0,          
300                     0,               0,        << 298                     0,               0,             0,             
301            "diquarks",               0,           299            "diquarks",               0,             0,         3303,
302      true,            -1.0,          nullptr); << 300      true,            -1.0,          NULL);
303                                                << 301    
304     // anti ss1-Diquark                           302     // anti ss1-Diquark
305   particle = new G4DiQuarks(                   << 303   particle = new G4DiQuarks(            
306   "anti_ss1_diquark",  198.0*MeV,       0.0*Me << 304   "anti_ss1_diquark",  600.0*MeV,       0.0*MeV,    2./3.*eplus, 
307                     2,              +1,        << 305                     2,              +1,             0,          
308                     0,               0,        << 306                     0,               0,             0,             
309            "diquarks",               0,           307            "diquarks",               0,             0,        -3303,
310      true,            -1.0,          nullptr); << 308      true,            -1.0,          NULL);
311                                                   309 
312   // ----------- V. Uzhinsky October 2019: Add << 310   particle = NULL;      
313   //                                       The << 
314                                                << 
315     // cd0-Diquark                             << 
316   particle = new G4DiQuarks(                   << 
317         "cd0_diquark",      1286.1*MeV,        << 
318                     0,              +1,        << 
319                     0,              +0,        << 
320            "diquarks",               0,        << 
321                  true,            -1.0,        << 
322                                                << 
323     // cd1-Diquark                             << 
324   particle = new G4DiQuarks(                   << 
325          "cd1_diquark",     1286.0*MeV,        << 
326                     2,              +1,        << 
327                     2,              +0,        << 
328            "diquarks",               0,        << 
329                  true,            -1.0,        << 
330                                                << 
331     // cu0-Diquark                             << 
332   particle = new G4DiQuarks(                   << 
333         "cu0_diquark",      1283.1*MeV,        << 
334                     0,              +1,        << 
335                     0,              +0,        << 
336            "diquarks",               0,        << 
337                  true,            -1.0,        << 
338                                                << 
339     // cu1-Diquark                             << 
340   particle = new G4DiQuarks(                   << 
341          "cu1_diquark",     1283.0*MeV,        << 
342                     2,              +1,        << 
343                     2,              +0,        << 
344            "diquarks",               0,        << 
345                  true,            -1.0,        << 
346                                                << 
347     // cs0-Diquark                             << 
348   particle = new G4DiQuarks(                   << 
349         "cs0_diquark",      1380.1*MeV,        << 
350                     0,              +1,        << 
351                     0,              +0,        << 
352            "diquarks",               0,        << 
353                  true,            -1.0,        << 
354                                                << 
355     // cs1-Diquark                             << 
356   particle = new G4DiQuarks(                   << 
357          "cs1_diquark",     1380.0*MeV,        << 
358                     2,              +1,        << 
359                     2,              +0,        << 
360            "diquarks",               0,        << 
361                  true,            -1.0,        << 
362                                                << 
363     // cc1-Diquark                             << 
364   particle = new G4DiQuarks(                   << 
365          "cc1_diquark",     2565.0*MeV,        << 
366                     2,              +1,        << 
367                     2,              +0,        << 
368            "diquarks",               0,        << 
369                  true,            -1.0,        << 
370                                                << 
371   //------------------------------------------ << 
372                                                << 
373     // bd0-Diquark                             << 
374   particle = new G4DiQuarks(                   << 
375         "bd0_diquark",      4186.1*MeV,        << 
376                     0,              +1,        << 
377                     0,              +0,        << 
378            "diquarks",               0,        << 
379                  true,            -1.0,        << 
380                                                << 
381     // bd1-Diquark                             << 
382   particle = new G4DiQuarks(                   << 
383          "bd1_diquark",     4186.0*MeV,        << 
384                     2,              +1,        << 
385                     2,              +0,        << 
386            "diquarks",               0,        << 
387                  true,            -1.0,        << 
388                                                << 
389     // bu0-Diquark                             << 
390   particle = new G4DiQuarks(                   << 
391         "bu0_diquark",      4183.1*MeV,        << 
392                     0,              +1,        << 
393                     0,              +0,        << 
394            "diquarks",               0,        << 
395                  true,            -1.0,        << 
396                                                << 
397     // bu1-Diquark                             << 
398   particle = new G4DiQuarks(                   << 
399          "bu1_diquark",     4183.0*MeV,        << 
400                     2,              +1,        << 
401                     2,              +0,        << 
402            "diquarks",               0,        << 
403                  true,            -1.0,        << 
404                                                << 
405     // bs0-Diquark                             << 
406   particle = new G4DiQuarks(                   << 
407         "bs0_diquark",      4280.1*MeV,        << 
408                     0,              +1,        << 
409                     0,              +0,        << 
410            "diquarks",               0,        << 
411                  true,            -1.0,        << 
412                                                << 
413     // bs1-Diquark                             << 
414   particle = new G4DiQuarks(                   << 
415          "bs1_diquark",      4280.0*MeV,       << 
416                     2,              +1,        << 
417                     2,              +0,        << 
418            "diquarks",               0,        << 
419                  true,            -1.0,        << 
420                                                << 
421     // bc0-Diquark                             << 
422   particle = new G4DiQuarks(                   << 
423         "bc0_diquark",      5465.1*MeV,        << 
424                     0,              +1,        << 
425                     0,              +0,        << 
426            "diquarks",               0,        << 
427                  true,            -1.0,        << 
428                                                << 
429     // bc1-Diquark                             << 
430   particle = new G4DiQuarks(                   << 
431          "bc1_diquark",     5465.0*MeV,        << 
432                     2,              +1,        << 
433                     2,              +0,        << 
434            "diquarks",               0,        << 
435                  true,            -1.0,        << 
436                                                << 
437     // bb1-Diquark                             << 
438   particle = new G4DiQuarks(                   << 
439          "bb1_diquark",     8365.0*MeV,        << 
440                     2,              +1,        << 
441                     2,              +0,        << 
442            "diquarks",               0,        << 
443                  true,            -1.0,        << 
444                                                << 
445   //++++++++++++++++++++++++++++++++++++++++++ << 
446                                                << 
447     // anti cd0-Diquark                        << 
448   particle = new G4DiQuarks(                   << 
449    "anti_cd0_diquark",      1286.1*MeV,        << 
450                     0,              +1,        << 
451                     0,              +0,        << 
452            "diquarks",               0,        << 
453                  true,            -1.0,        << 
454                                                << 
455     // anti cd1-Diquark                        << 
456   particle = new G4DiQuarks(                   << 
457     "anti_cd1_diquark",     1286.0*MeV,        << 
458                     2,              +1,        << 
459                     2,              +0,        << 
460            "diquarks",               0,        << 
461                  true,            -1.0,        << 
462                                                << 
463     // anti cu0-Diquark                        << 
464   particle = new G4DiQuarks(                   << 
465    "anti_cu0_diquark",      1283.1*MeV,        << 
466                     0,              +1,        << 
467                     0,              +0,        << 
468            "diquarks",               0,        << 
469                  true,            -1.0,        << 
470                                                << 
471     // anti cu1-Diquark                        << 
472   particle = new G4DiQuarks(                   << 
473     "anti_cu1_diquark",     1283.0*MeV,        << 
474                     2,              +1,        << 
475                     2,              +0,        << 
476            "diquarks",               0,        << 
477                  true,            -1.0,        << 
478                                                << 
479     // anti cs0-Diquark                        << 
480   particle = new G4DiQuarks(                   << 
481    "anti_cs0_diquark",      1380.1*MeV,        << 
482                     0,              +1,        << 
483                     0,              +0,        << 
484            "diquarks",               0,        << 
485                  true,            -1.0,        << 
486                                                << 
487     // anti cs1-Diquark                        << 
488   particle = new G4DiQuarks(                   << 
489     "anti_cs1_diquark",     1380.0*MeV,        << 
490                     2,              +1,        << 
491                     2,              +0,        << 
492            "diquarks",               0,        << 
493                  true,            -1.0,        << 
494                                                << 
495     // anti cc1-Diquark                        << 
496   particle = new G4DiQuarks(                   << 
497     "anti_cc1_diquark",     2565.0*MeV,        << 
498                     2,              +1,        << 
499                     2,              +0,        << 
500            "diquarks",               0,        << 
501                  true,            -1.0,        << 
502                                                << 
503   //------------------------------------------ << 
504                                                << 
505     // anti bd0-Diquark                        << 
506   particle = new G4DiQuarks(                   << 
507    "anti_bd0_diquark",      4186.1*MeV,        << 
508                     0,              +1,        << 
509                     0,              +0,        << 
510            "diquarks",               0,        << 
511                  true,            -1.0,        << 
512                                                << 
513     // anti bd1-Diquark                        << 
514   particle = new G4DiQuarks(                   << 
515     "anti_bd1_diquark",     4186.0*MeV,        << 
516                     2,              +1,        << 
517                     2,              +0,        << 
518            "diquarks",               0,        << 
519                  true,            -1.0,        << 
520                                                << 
521     // anti bu0-Diquark                        << 
522   particle = new G4DiQuarks(                   << 
523    "anti_bu0_diquark",      4183.1*MeV,        << 
524                     0,              +1,        << 
525                     0,              +0,        << 
526            "diquarks",               0,        << 
527                  true,            -1.0,        << 
528                                                << 
529     // anti bu1-Diquark                        << 
530   particle = new G4DiQuarks(                   << 
531     "anti_bu1_diquark",     4183.0*MeV,        << 
532                     2,              +1,        << 
533                     2,              +0,        << 
534            "diquarks",               0,        << 
535                  true,            -1.0,        << 
536                                                << 
537     // anti bs0-Diquark                        << 
538   particle = new G4DiQuarks(                   << 
539    "anti_bs0_diquark",      4280.1*MeV,        << 
540                     0,              +1,        << 
541                     0,              +0,        << 
542            "diquarks",               0,        << 
543                  true,            -1.0,        << 
544                                                << 
545     // anti bs1-Diquark                        << 
546   particle = new G4DiQuarks(                   << 
547     "anti_bs1_diquark",     4280.0*MeV,        << 
548                     2,              +1,        << 
549                     2,              +0,        << 
550            "diquarks",               0,        << 
551                  true,            -1.0,        << 
552                                                << 
553     // anti bc0-Diquark                        << 
554   particle = new G4DiQuarks(                   << 
555    "anti_bc0_diquark",      5465.1*MeV,        << 
556                     0,              +1,        << 
557                     0,              +0,        << 
558            "diquarks",               0,        << 
559                  true,            -1.0,        << 
560                                                << 
561     // anti bc1-Diquark                        << 
562   particle = new G4DiQuarks(                   << 
563     "anti_bc1_diquark",     5465.0*MeV,        << 
564                     2,              +1,        << 
565                     2,              +0,        << 
566            "diquarks",               0,        << 
567                  true,            -1.0,        << 
568                                                << 
569     // anti bb1-Diquark                        << 
570   particle = new G4DiQuarks(                   << 
571     "anti_bb1_diquark",     8365.0*MeV,        << 
572                     2,              +1,        << 
573                     2,              +0,        << 
574            "diquarks",               0,        << 
575                  true,            -1.0,        << 
576                                                << 
577   // clang-format on                           << 
578                                                << 
579   particle = nullptr;                          << 
580 }                                                 311 }
581                                                   312 
                                                   >> 313 #include "G4ExcitedNucleonConstructor.hh"
                                                   >> 314 #include "G4ExcitedDeltaConstructor.hh"
                                                   >> 315 #include "G4ExcitedLambdaConstructor.hh"
                                                   >> 316 #include "G4ExcitedSigmaConstructor.hh"
                                                   >> 317 #include "G4ExcitedXiConstructor.hh"
                                                   >> 318 #include "G4ExcitedMesonConstructor.hh"
582 void G4ShortLivedConstructor::ConstructResonan    319 void G4ShortLivedConstructor::ConstructResonances()
583 {                                                 320 {
584   ConstructBaryons();                             321   ConstructBaryons();
585   ConstructMesons();                              322   ConstructMesons();
586                                                   323 
587   // N*                                           324   // N*
588   G4ExcitedNucleonConstructor nucleons;           325   G4ExcitedNucleonConstructor nucleons;
589   nucleons.Construct();                           326   nucleons.Construct();
590                                                   327 
591   // Delta*                                       328   // Delta*
592   G4ExcitedDeltaConstructor deltas;               329   G4ExcitedDeltaConstructor deltas;
593   deltas.Construct();                             330   deltas.Construct();
594                                                   331 
595   // Lambda*                                      332   // Lambda*
596   G4ExcitedLambdaConstructor lamdas;              333   G4ExcitedLambdaConstructor lamdas;
597   lamdas.Construct();                             334   lamdas.Construct();
598                                                   335 
599   // Sigma*                                       336   // Sigma*
600   G4ExcitedSigmaConstructor sigmas;               337   G4ExcitedSigmaConstructor sigmas;
601   sigmas.Construct();                             338   sigmas.Construct();
602                                                   339 
603   // Xi*                                          340   // Xi*
604   G4ExcitedXiConstructor xis;                     341   G4ExcitedXiConstructor xis;
605   xis.Construct();                                342   xis.Construct();
606                                                << 343  
607   // Mesons                                       344   // Mesons
608   G4ExcitedMesonConstructor mesons;               345   G4ExcitedMesonConstructor mesons;
609   mesons.Construct();                             346   mesons.Construct();
                                                   >> 347 
610 }                                                 348 }
611                                                   349 
                                                   >> 350 
                                                   >> 351 #include "G4ExcitedBaryons.hh"
612 void G4ShortLivedConstructor::ConstructBaryons    352 void G4ShortLivedConstructor::ConstructBaryons()
613 {                                                 353 {
614   G4DecayTable* decayTable;                    << 354   G4DecayTable*   decayTable;
615   G4VDecayChannel* mode;                          355   G4VDecayChannel* mode;
616   G4ExcitedBaryons* particle;                     356   G4ExcitedBaryons* particle;
617                                                   357 
618   //    Construct Resonace particles as dynami    358   //    Construct Resonace particles as dynamic object
619   //    Arguments for constructor are as follo    359   //    Arguments for constructor are as follows
620   //               name             mass          360   //               name             mass          width         charge
621   //             2*spin           parity  C-co    361   //             2*spin           parity  C-conjugation
622   //          2*Isospin       2*Isospin3          362   //          2*Isospin       2*Isospin3       G-parity
623   //               type    lepton number  bary    363   //               type    lepton number  baryon number   PDG encoding
624   //             stable         lifetime    de << 364   //             stable         lifetime    decay table 
625                                                   365 
626   // delta baryons                                366   // delta baryons
627   //  delta(1232)++                               367   //  delta(1232)++
628   // clang-format off                          << 368   particle = new G4ExcitedBaryons(            
629   particle = new G4ExcitedBaryons(             << 369       "delta++",       1.232*GeV,     120.0*MeV,    +2.0*eplus, 
630       "delta++",       1.232*GeV,     117.0*Me << 370                     3,              +1,             0,          
631                     3,              +1,        << 371                     3,              +3,             0,             
632                     3,              +3,        << 
633              "baryon",               0,           372              "baryon",               0,            +1,          2224,
634     false,             0.0,          nullptr); << 373     false,             0.0,          NULL);
635   // clang-format on                           << 
636                                                << 
637   // set sub type                                 374   // set sub type
638   particle->SetMultipletName("delta");            375   particle->SetMultipletName("delta");
639   // create decay table                           376   // create decay table
640   decayTable = new G4DecayTable();             << 377   decayTable =  new G4DecayTable();
641   // create decay channel of delta++ -> proton    378   // create decay channel of delta++ -> proton + pi+
642   //                                   parent     379   //                                   parent    BR     #daughters
643   mode = new G4PhaseSpaceDecayChannel("delta++ << 380   mode  = new G4PhaseSpaceDecayChannel("delta++",1.000, 2,
                                                   >> 381                                 "proton","pi+");
644   // add decay table                              382   // add decay table
645   decayTable->Insert(mode);                       383   decayTable->Insert(mode);
646   particle->SetDecayTable(decayTable);            384   particle->SetDecayTable(decayTable);
647                                                   385 
648   //  delta(1232)+                                386   //  delta(1232)+
649   // clang-format off                          << 387   particle = new G4ExcitedBaryons(            
650   particle = new G4ExcitedBaryons(             << 388        "delta+",       1.232*GeV,     120.0*MeV,    +1.0*eplus, 
651        "delta+",       1.232*GeV,     117.0*Me << 389                     3,              +1,             0,          
652                     3,              +1,        << 390                     3,              +1,             0,             
653                     3,              +1,        << 
654              "baryon",               0,           391              "baryon",               0,            +1,          2214,
655     false,             0.0,          nullptr); << 392     false,             0.0,          NULL);
656   // clang-format on                           << 
657                                                << 
658   // set sub type                                 393   // set sub type
659   particle->SetMultipletName("delta(1232)");      394   particle->SetMultipletName("delta(1232)");
660   // create decay table                           395   // create decay table
661   decayTable = new G4DecayTable();             << 396   decayTable =  new G4DecayTable();
662   // create decay channel of delta+  -> proton    397   // create decay channel of delta+  -> proton + Gamma
663   //                                   parent     398   //                                   parent    BR     #daughters
664   mode = new G4PhaseSpaceDecayChannel("delta+" << 399   mode  = new G4PhaseSpaceDecayChannel("delta+", 0.01, 2,
                                                   >> 400                                 "proton","gamma");
665   decayTable->Insert(mode);                       401   decayTable->Insert(mode);
666   // create decay channel of delta+  -> neutro    402   // create decay channel of delta+  -> neutron + pi+
667   //                                   parent     403   //                                   parent    BR     #daughters
668   // create decay channel of delta+  -> proton    404   // create decay channel of delta+  -> proton + pi0
669   //                                   parent     405   //                                   parent    BR     #daughters
670   mode = new G4PhaseSpaceDecayChannel("delta+" << 406   mode  = new G4PhaseSpaceDecayChannel("delta+", 0.495, 2,
                                                   >> 407                                 "proton","pi0");
671   decayTable->Insert(mode);                       408   decayTable->Insert(mode);
672   // create decay channel of delta+  -> neutro    409   // create decay channel of delta+  -> neutron + pi+
673   //                                   parent     410   //                                   parent    BR     #daughters
674   mode = new G4PhaseSpaceDecayChannel("delta+" << 411   mode  = new G4PhaseSpaceDecayChannel("delta+", 0.495, 2,
                                                   >> 412                                 "neutron","pi+");
675   decayTable->Insert(mode);                       413   decayTable->Insert(mode);
676   particle->SetDecayTable(decayTable);            414   particle->SetDecayTable(decayTable);
677                                                   415 
678   //  delta(1232)0                                416   //  delta(1232)0
679   // clang-format off                          << 417   particle = new G4ExcitedBaryons(            
680   particle = new G4ExcitedBaryons(             << 418        "delta0",       1.232*GeV,     120.0*MeV,    +0.0*eplus, 
681        "delta0",       1.232*GeV,     117.0*Me << 419                     3,              +1,             0,          
682                     3,              +1,        << 420                     3,              -1,             0,             
683                     3,              -1,        << 
684              "baryon",               0,           421              "baryon",               0,            +1,          2114,
685     false,             0.0,          nullptr); << 422     false,             0.0,          NULL);
686   // clang-format on                           << 
687                                                << 
688   // set sub type                                 423   // set sub type
689   particle->SetMultipletName("delta(1232)");      424   particle->SetMultipletName("delta(1232)");
690   // create decay table                           425   // create decay table
691   decayTable = new G4DecayTable();             << 426   decayTable =  new G4DecayTable();
692   // create decay channel of delta+  -> neutro    427   // create decay channel of delta+  -> neutron + gamma
693   //                                   parent     428   //                                   parent    BR     #daughters
694   mode = new G4PhaseSpaceDecayChannel("delta0" << 429   mode  = new G4PhaseSpaceDecayChannel("delta0", 0.01, 2,
                                                   >> 430                                 "neutron","gamma");
695   decayTable->Insert(mode);                       431   decayTable->Insert(mode);
696   // create decay channel of delta+  -> proton    432   // create decay channel of delta+  -> proton + pi-
697   //                                   parent     433   //                                   parent    BR     #daughters
698   mode = new G4PhaseSpaceDecayChannel("delta0" << 434   mode  = new G4PhaseSpaceDecayChannel("delta0", 0.495, 2,
                                                   >> 435                                 "proton","pi-");
699   decayTable->Insert(mode);                       436   decayTable->Insert(mode);
700   // create decay channel of delta+  -> neutro    437   // create decay channel of delta+  -> neutron + pi0
701   //                                   parent     438   //                                   parent    BR     #daughters
702   mode = new G4PhaseSpaceDecayChannel("delta0" << 439   mode  = new G4PhaseSpaceDecayChannel("delta0", 0.495, 2,
                                                   >> 440                                 "neutron","pi0");
703   decayTable->Insert(mode);                       441   decayTable->Insert(mode);
704   particle->SetDecayTable(decayTable);            442   particle->SetDecayTable(decayTable);
705                                                   443 
706   //  delta(1232)-                                444   //  delta(1232)-
707   // clang-format off                          << 445   particle = new G4ExcitedBaryons(            
708   particle = new G4ExcitedBaryons(             << 446        "delta-",       1.232*GeV,     120.0*MeV,    -1.0*eplus, 
709        "delta-",       1.232*GeV,     117.0*Me << 447                     3,              +1,             0,          
710                     3,              +1,        << 448                     3,              -3,             0,             
711                     3,              -3,        << 
712              "baryon",               0,           449              "baryon",               0,            +1,          1114,
713     false,             0.0,          nullptr); << 450     false,             0.0,          NULL);
714   // clang-format on                           << 
715                                                << 
716   // set sub type                                 451   // set sub type
717   particle->SetMultipletName("delta(1232)");      452   particle->SetMultipletName("delta(1232)");
718   // create decay table                           453   // create decay table
719   decayTable = new G4DecayTable();             << 454   decayTable =  new G4DecayTable();
720   // create decay channel of delta+  -> neutro    455   // create decay channel of delta+  -> neutron + pi-
721   //                                   parent     456   //                                   parent    BR     #daughters
722   mode = new G4PhaseSpaceDecayChannel("delta-" << 457   mode  = new G4PhaseSpaceDecayChannel("delta-", 1.000, 2,
                                                   >> 458                                 "neutron","pi-");
723   decayTable->Insert(mode);                       459   decayTable->Insert(mode);
724   particle->SetDecayTable(decayTable);            460   particle->SetDecayTable(decayTable);
725                                                   461 
                                                   >> 462 
726   ////////////////////////////                    463   ////////////////////////////
727   // anti_delta baryons                           464   // anti_delta baryons
728   //  anti_delta(1232)++                          465   //  anti_delta(1232)++
729   // clang-format off                          << 466   particle = new G4ExcitedBaryons(            
730   particle = new G4ExcitedBaryons(             << 467        "anti_delta++",       1.232*GeV,     120.0*MeV,    -2.0*eplus, 
731        "anti_delta++",       1.232*GeV,     11 << 468                     3,              +1,             0,          
732                     3,              +1,        << 469                     3,              -3,             0,             
733                     3,              -3,        << 
734              "baryon",               0,           470              "baryon",               0,            -1,         -2224,
735     false,             0.0,          nullptr); << 471     false,             0.0,          NULL);
736   // clang-format on                           << 
737                                                << 
738   // set sub type                                 472   // set sub type
739   particle->SetMultipletName("delta(1232)");      473   particle->SetMultipletName("delta(1232)");
740   // create decay table                           474   // create decay table
741   decayTable = new G4DecayTable();             << 475   decayTable =  new G4DecayTable();
742   // create decay channel of delta++ -> anti_p    476   // create decay channel of delta++ -> anti_proton + pi-
743   //                                        pa    477   //                                        parent    BR     #daughters
744   mode = new G4PhaseSpaceDecayChannel("anti_de << 478   mode  = new G4PhaseSpaceDecayChannel("anti_delta++",1.000, 2,
                                                   >> 479                            "anti_proton","pi-");
745   // add decay table                              480   // add decay table
746   decayTable->Insert(mode);                       481   decayTable->Insert(mode);
747   particle->SetDecayTable(decayTable);            482   particle->SetDecayTable(decayTable);
748                                                   483 
749   //  anti_delta(1232)+                           484   //  anti_delta(1232)+
750   // clang-format off                          << 485   particle = new G4ExcitedBaryons(            
751   particle = new G4ExcitedBaryons(             << 486   "anti_delta+",       1.232*GeV,     120.0*MeV,    -1.0*eplus, 
752   "anti_delta+",       1.232*GeV,     117.0*Me << 487                     3,              +1,             0,          
753                     3,              +1,        << 488                     3,              -1,             0,             
754                     3,              -1,        << 
755              "baryon",               0,           489              "baryon",               0,            -1,         -2214,
756     false,             0.0,          nullptr); << 490     false,             0.0,          NULL);
757   // clang-format on                           << 
758                                                << 
759   // set sub type                                 491   // set sub type
760   particle->SetMultipletName("delta(1232)");      492   particle->SetMultipletName("delta(1232)");
761   // create decay table                           493   // create decay table
762   decayTable = new G4DecayTable();             << 494   decayTable =  new G4DecayTable();
763   // create decay channel of anti_delta+  -> a    495   // create decay channel of anti_delta+  -> anti_proton + pi0
764   //                                   parent     496   //                                   parent    BR     #daughters
765   mode = new G4PhaseSpaceDecayChannel("anti_de << 497   mode  = new G4PhaseSpaceDecayChannel("anti_delta+", 0.500, 2,
                                                   >> 498                            "anti_proton","pi0");
766   decayTable->Insert(mode);                       499   decayTable->Insert(mode);
767   // create decay channel of anti_delta+  -> a    500   // create decay channel of anti_delta+  -> anti_neutron + pi-
768   //                                   parent     501   //                                   parent    BR     #daughters
769   mode = new G4PhaseSpaceDecayChannel("anti_de << 502   mode  = new G4PhaseSpaceDecayChannel("anti_delta+", 0.500, 2,
                                                   >> 503                           "anti_neutron","pi-");
770   decayTable->Insert(mode);                       504   decayTable->Insert(mode);
771   particle->SetDecayTable(decayTable);            505   particle->SetDecayTable(decayTable);
772                                                   506 
773   //  anti_delta(1232)0                           507   //  anti_delta(1232)0
774   // clang-format off                          << 508   particle = new G4ExcitedBaryons(            
775   particle = new G4ExcitedBaryons(             << 509   "anti_delta0",       1.232*GeV,     120.0*MeV,    +0.0*eplus, 
776   "anti_delta0",       1.232*GeV,     117.0*Me << 510                     3,              +1,             0,          
777                     3,              +1,        << 511                     3,              +1,             0,             
778                     3,              +1,        << 
779              "baryon",               0,           512              "baryon",               0,            -1,         -2114,
780     false,             0.0,          nullptr); << 513     false,             0.0,          NULL);
781   // clang-format on                           << 
782                                                << 
783   // set sub type                                 514   // set sub type
784   particle->SetMultipletName("delta(1232)");      515   particle->SetMultipletName("delta(1232)");
785   // create decay table                           516   // create decay table
786   decayTable = new G4DecayTable();             << 517   decayTable =  new G4DecayTable();
787   // create decay channel of anti_delta+  -> a    518   // create decay channel of anti_delta+  -> anti_proton + pi+
788   //                                   parent     519   //                                   parent    BR     #daughters
789   mode = new G4PhaseSpaceDecayChannel("anti_de << 520   mode  = new G4PhaseSpaceDecayChannel("anti_delta0", 0.500, 2,
                                                   >> 521                                 "anti_proton","pi+");
790   decayTable->Insert(mode);                       522   decayTable->Insert(mode);
791   // create decay channel of delta+  -> neutro    523   // create decay channel of delta+  -> neutron + pi0
792   //                                   parent     524   //                                   parent    BR     #daughters
793   mode = new G4PhaseSpaceDecayChannel("anti_de << 525   mode  = new G4PhaseSpaceDecayChannel("anti_delta0", 0.500, 2,
                                                   >> 526                                 "anti_neutron","pi0");
794   decayTable->Insert(mode);                       527   decayTable->Insert(mode);
795   particle->SetDecayTable(decayTable);            528   particle->SetDecayTable(decayTable);
796                                                   529 
797   //  anti_delta(1232)-                           530   //  anti_delta(1232)-
798   // clang-format off                          << 531   particle = new G4ExcitedBaryons(            
799   particle = new G4ExcitedBaryons(             << 532   "anti_delta-",       1.232*GeV,     120.0*MeV,    +1.0*eplus, 
800   "anti_delta-",       1.232*GeV,     117.0*Me << 533                     3,              +1,             0,          
801                     3,              +1,        << 534                     3,              +3,             0,             
802                     3,              +3,        << 
803              "baryon",               0,           535              "baryon",               0,            -1,         -1114,
804     false,             0.0,          nullptr); << 536     false,             0.0,          NULL);
805   // clang-format on                           << 
806                                                << 
807   // set sub type                                 537   // set sub type
808   particle->SetMultipletName("delta(1232)");      538   particle->SetMultipletName("delta(1232)");
809   // create decay table                           539   // create decay table
810   decayTable = new G4DecayTable();             << 540   decayTable =  new G4DecayTable();
811   // create decay channel of delta-  -> neutro    541   // create decay channel of delta-  -> neutron + pi+
812   //                                   parent     542   //                                   parent    BR     #daughters
813   mode = new G4PhaseSpaceDecayChannel("anti_de << 543   mode  = new G4PhaseSpaceDecayChannel("anti_delta-", 1.000, 2,
                                                   >> 544                                 "anti_neutron","pi+");
814   decayTable->Insert(mode);                       545   decayTable->Insert(mode);
815   particle->SetDecayTable(decayTable);            546   particle->SetDecayTable(decayTable);
816 }                                              << 
817                                                   547 
                                                   >> 548 
                                                   >> 549 
                                                   >> 550 }
                                                   >> 551 #include "G4ExcitedMesons.hh"
818 void G4ShortLivedConstructor::ConstructMesons(    552 void G4ShortLivedConstructor::ConstructMesons()
819 {                                                 553 {
820   G4DecayTable* decayTable;                    << 554   G4DecayTable*   decayTable;
821   G4VDecayChannel* mode;                          555   G4VDecayChannel* mode;
822   G4ExcitedMesons* particle;                      556   G4ExcitedMesons* particle;
823                                                   557 
824   //    Construct Resonace particles as dynami    558   //    Construct Resonace particles as dynamic object
825   //    Arguments for constructor are as follo    559   //    Arguments for constructor are as follows
826   //               name             mass          560   //               name             mass          width         charge
827   //             2*spin           parity  C-co    561   //             2*spin           parity  C-conjugation
828   //          2*Isospin       2*Isospin3          562   //          2*Isospin       2*Isospin3       G-parity
829   //               type    lepton number  bary    563   //               type    lepton number  baryon number   PDG encoding
830   //             stable         lifetime    de << 564   //             stable         lifetime    decay table 
831                                                   565 
832   // vector mesons                                566   // vector mesons
833   // omega                                        567   // omega
834   // clang-format off                          << 568   particle = new G4ExcitedMesons(            
835   particle = new G4ExcitedMesons(              << 569         "omega",      782.57*MeV,      8.44*MeV,    +0.0*eplus, 
836         "omega",      782.65*MeV,      8.68*Me << 570                     2,              -1,            -1,          
837                     2,              -1,        << 571                     0,              +0,            -1,             
838                     0,              +0,        << 
839               "meson",               0,           572               "meson",               0,             0,           223,
840     false,             0.0,          nullptr); << 573     false,             0.0,          NULL);
841   // clang-format on                           << 
842                                                << 
843   particle->SetAntiPDGEncoding(223);              574   particle->SetAntiPDGEncoding(223);
844   // set sub type                                 575   // set sub type
845   particle->SetMultipletName("omega");            576   particle->SetMultipletName("omega");
846   // create decay table                           577   // create decay table
847   decayTable = new G4DecayTable();             << 578   decayTable =  new G4DecayTable();
848   // create decay channel of omega -> pi+ + pi    579   // create decay channel of omega -> pi+ + pi- + pi0
849   //                                   parent     580   //                                   parent    BR     #daughters
850   mode = new G4PhaseSpaceDecayChannel("omega", << 581   mode  = new G4PhaseSpaceDecayChannel("omega",0.888, 3,
851   // add decay table                           << 582                             "pi+","pi-","pi0");
852   decayTable->Insert(mode);                    << 
853                                                << 
854   // create decay channel of omega -> gamma +  << 
855   //                                   parent  << 
856   mode = new G4PhaseSpaceDecayChannel("omega", << 
857   // add decay table                           << 
858   decayTable->Insert(mode);                    << 
859                                                << 
860   // create decay channel of omega -> pi+ + pi << 
861   //                                   parent  << 
862   mode = new G4PhaseSpaceDecayChannel("omega", << 
863   // add decay table                              583   // add decay table
864   decayTable->Insert(mode);                       584   decayTable->Insert(mode);
865   particle->SetDecayTable(decayTable);            585   particle->SetDecayTable(decayTable);
866                                                   586 
867   // phi                                          587   // phi
868   // clang-format off                          << 588   particle = new G4ExcitedMesons(            
869   particle = new G4ExcitedMesons(              << 589           "phi",      1019.4*MeV,      4.26*MeV,    +0.0*eplus, 
870           "phi",     1019.46*MeV,     4.249*Me << 590                     2,              -1,            -1,          
871                     2,              -1,        << 591                     0,              +0,            -1,             
872                     0,              +0,        << 
873               "meson",               0,           592               "meson",               0,             0,           333,
874     false,             0.0,          nullptr); << 593     false,             0.0,          NULL);
875   // clang-format on                           << 
876                                                << 
877   particle->SetAntiPDGEncoding(333);              594   particle->SetAntiPDGEncoding(333);
878   // set sub type                                 595   // set sub type
879   particle->SetMultipletName("phi");              596   particle->SetMultipletName("phi");
880   // create decay table                        << 597    // create decay table
881   decayTable = new G4DecayTable();             << 598   decayTable =  new G4DecayTable();
882   // create decay channel of phi -> kaon+ + ka    599   // create decay channel of phi -> kaon+ + kaon-
883   //                                   parent     600   //                                   parent    BR     #daughters
884   mode = new G4PhaseSpaceDecayChannel("phi", 0 << 601   mode  = new G4PhaseSpaceDecayChannel("phi",0.491, 2,
                                                   >> 602                             "kaon+","kaon-");
885   decayTable->Insert(mode);                       603   decayTable->Insert(mode);
886   // create decay channel of phi -> kaon0S + k << 604    // create decay channel of phi -> kaon0S + kaon0L
887   //                                   parent     605   //                                   parent    BR     #daughters
888   mode = new G4PhaseSpaceDecayChannel("phi", 0 << 606   mode  = new G4PhaseSpaceDecayChannel("phi",0.343, 2,
                                                   >> 607                            "kaon0S","kaon0L");
889   // add decay table                              608   // add decay table
890   decayTable->Insert(mode);                       609   decayTable->Insert(mode);
891   // create decay channel of phi -> rho0 + pi0    610   // create decay channel of phi -> rho0 + pi0
892   //                                   parent     611   //                                   parent    BR     #daughters
893   mode = new G4PhaseSpaceDecayChannel("phi", 0 << 612   mode  = new G4PhaseSpaceDecayChannel("phi",0.129, 2,
                                                   >> 613                            "rho0","pi0");
894   // add decay table                              614   // add decay table
895   decayTable->Insert(mode);                       615   decayTable->Insert(mode);
896   particle->SetDecayTable(decayTable);            616   particle->SetDecayTable(decayTable);
897                                                << 617  
898   // rho+                                         618   // rho+
899   // clang-format off                          << 619   particle = new G4ExcitedMesons(            
900   particle = new G4ExcitedMesons(              << 620          "rho+",       769.9*MeV,     151.2*MeV,    +1.0*eplus, 
901          "rho+",       775.8*MeV,     149.1*Me << 621                     2,              -1,            -1,          
902                     2,              -1,        << 622                     2,              +2,            +1,             
903                     2,              +2,        << 
904               "meson",               0,           623               "meson",               0,             0,           213,
905     false,             0.0,          nullptr); << 624     false,             0.0,          NULL);
906   // clang-format on                           << 
907                                                << 
908   // set sub type                                 625   // set sub type
909   particle->SetMultipletName("rho");              626   particle->SetMultipletName("rho");
910   // create decay table                           627   // create decay table
911   decayTable = new G4DecayTable();             << 628   decayTable =  new G4DecayTable();
912   // create decay channel of rho+ -> pi+ + pi0    629   // create decay channel of rho+ -> pi+ + pi0
913   //                                   parent     630   //                                   parent    BR     #daughters
914   mode = new G4PhaseSpaceDecayChannel("rho+",  << 631   mode  = new G4PhaseSpaceDecayChannel("rho+",1.000, 2,
                                                   >> 632                             "pi+","pi0");
915   // add decay table                              633   // add decay table
916   decayTable->Insert(mode);                       634   decayTable->Insert(mode);
917   particle->SetDecayTable(decayTable);            635   particle->SetDecayTable(decayTable);
918                                                   636 
919   // rho-                                         637   // rho-
920   // clang-format off                          << 638   particle = new G4ExcitedMesons(            
921   particle = new G4ExcitedMesons(              << 639          "rho-",       769.9*MeV,     151.2*MeV,    -1.0*eplus, 
922          "rho-",       775.8*MeV,     149.1*Me << 640                     2,              -1,            -1,          
923                     2,              -1,        << 641                     2,              -2,            +1,             
924                     2,              -2,        << 
925               "meson",               0,           642               "meson",               0,             0,          -213,
926     false,             0.0,          nullptr); << 643     false,             0.0,          NULL);
927   // clang-format on                           << 
928                                                << 
929   // set sub type                                 644   // set sub type
930   particle->SetMultipletName("rho");              645   particle->SetMultipletName("rho");
931   // create decay table                           646   // create decay table
932   decayTable = new G4DecayTable();             << 647   decayTable =  new G4DecayTable();
933   // create decay channel of rho- -> pi- + pi0    648   // create decay channel of rho- -> pi- + pi0
934   //                                   parent     649   //                                   parent    BR     #daughters
935   mode = new G4PhaseSpaceDecayChannel("rho-",  << 650   mode  = new G4PhaseSpaceDecayChannel("rho-",1.000, 2,
                                                   >> 651                             "pi-","pi0");
936   // add decay table                              652   // add decay table
937   decayTable->Insert(mode);                       653   decayTable->Insert(mode);
938   particle->SetDecayTable(decayTable);            654   particle->SetDecayTable(decayTable);
939                                                << 655   
940   // rho0                                         656   // rho0
941   // clang-format off                          << 657   particle = new G4ExcitedMesons(            
942   particle = new G4ExcitedMesons(              << 658                "rho0",       771.1*MeV,     149.2*MeV,         0.0, 
943                "rho0",       775.26*MeV,    14 << 659                     2,              -1,            -1,          
944                     2,              -1,        << 660                     2,               0,            +1,             
945                     2,               0,        << 
946               "meson",               0,           661               "meson",               0,             0,         113,
947                 false,          0.0*ns,        << 662                 false,          0.0*ns,          NULL );
948   // clang-format on                           << 
949   particle->SetAntiPDGEncoding(113);              663   particle->SetAntiPDGEncoding(113);
950   // set sub type                                 664   // set sub type
951   particle->SetMultipletName("rho");              665   particle->SetMultipletName("rho");
952   // create decay table                           666   // create decay table
953   decayTable = new G4DecayTable();             << 667   decayTable =  new G4DecayTable();
954   // create decay channel of rho0 -> pi+ + pi-    668   // create decay channel of rho0 -> pi+ + pi-
955   //                                   parent     669   //                                   parent    BR     #daughters
956   mode = new G4PhaseSpaceDecayChannel("rho0",  << 670   mode  = new G4PhaseSpaceDecayChannel("rho0",1.000, 2,
                                                   >> 671                             "pi+","pi-");
957   // add decay table                              672   // add decay table
958   decayTable->Insert(mode);                       673   decayTable->Insert(mode);
959   particle->SetDecayTable(decayTable);            674   particle->SetDecayTable(decayTable);
960                                                   675 
961   // a0(980)+                                     676   // a0(980)+
962   // clang-format off                          << 677   particle = new G4ExcitedMesons(            
963   particle = new G4ExcitedMesons(              << 678      "a0(980)+",       984.7*MeV,      60.0*MeV,    +1.0*eplus, 
964      "a0(980)+",       980.0*MeV,      60.0*Me << 679                     0,              +1,            +1,          
965                     0,              +1,        << 680                     2,              +2,            -1,             
966                     2,              +2,        << 
967               "meson",               0,           681               "meson",               0,             0,       9000211,
968     false,             0.0,          nullptr); << 682     false,             0.0,          NULL);
969   // clang-format on                           << 
970   // set sub type                                 683   // set sub type
971   particle->SetMultipletName("a0(980)");          684   particle->SetMultipletName("a0(980)");
972   // create decay table                           685   // create decay table
973   decayTable = new G4DecayTable();             << 686   decayTable =  new G4DecayTable();
974   // create decay channel of a0(980)+ -> eta +    687   // create decay channel of a0(980)+ -> eta + pi+
975   //                                   parent     688   //                                   parent    BR     #daughters
976   mode = new G4PhaseSpaceDecayChannel("a0(980) << 689   mode  = new G4PhaseSpaceDecayChannel("a0(980)+",1.000, 2,
                                                   >> 690                             "pi+","eta");
977   // add decay table                              691   // add decay table
978   decayTable->Insert(mode);                       692   decayTable->Insert(mode);
979   particle->SetDecayTable(decayTable);            693   particle->SetDecayTable(decayTable);
980                                                   694 
981   // a0(980)-                                     695   // a0(980)-
982   // clang-format off                          << 696   particle = new G4ExcitedMesons(            
983   particle = new G4ExcitedMesons(              << 697      "a0(980)-",       984.7*MeV,      60.0*MeV,    -1.0*eplus, 
984      "a0(980)-",       980.0*MeV,      60.0*Me << 698                     0,              +1,            +1,          
985                     0,              +1,        << 699                     2,              -2,            -1,             
986                     2,              -2,        << 
987               "meson",               0,           700               "meson",               0,             0,      -9000211,
988     false,             0.0,          nullptr); << 701     false,             0.0,          NULL);
989   // clang-format on                           << 
990                                                << 
991   // set sub type                                 702   // set sub type
992   particle->SetMultipletName("a0(980)");          703   particle->SetMultipletName("a0(980)");
993   // create decay table                           704   // create decay table
994   decayTable = new G4DecayTable();             << 705   decayTable =  new G4DecayTable();
995   // create decay channel of a0(980)- -> eta +    706   // create decay channel of a0(980)- -> eta + pi-
996   //                                   parent     707   //                                   parent    BR     #daughters
997   mode = new G4PhaseSpaceDecayChannel("a0(980) << 708   mode  = new G4PhaseSpaceDecayChannel("a0(980)-",1.000, 2,
                                                   >> 709                             "pi-","eta");
998   // add decay table                              710   // add decay table
999   decayTable->Insert(mode);                       711   decayTable->Insert(mode);
1000   particle->SetDecayTable(decayTable);           712   particle->SetDecayTable(decayTable);
1001                                                  713 
1002   // a0(980)0                                    714   // a0(980)0
1003   // clang-format off                         << 715   particle = new G4ExcitedMesons(            
1004   particle = new G4ExcitedMesons(             << 716      "a0(980)0",       984.7*MeV,      60.0*MeV,           0.0,
1005      "a0(980)0",       980.0*MeV,      75.0*M << 717                     0,              +1,            +1,          
1006                     0,              +1,       << 718                     2,               0,            -1,             
1007                     2,               0,       << 
1008               "meson",               0,          719               "meson",               0,             0,       9000111,
1009     false,             0.0,          nullptr) << 720     false,             0.0,          NULL);
1010   // clang-format on                          << 
1011   particle->SetAntiPDGEncoding(9000111);         721   particle->SetAntiPDGEncoding(9000111);
1012   // set sub type                                722   // set sub type
1013   particle->SetMultipletName("a0(980)");         723   particle->SetMultipletName("a0(980)");
1014   // create decay table                          724   // create decay table
1015   decayTable = new G4DecayTable();            << 725   decayTable =  new G4DecayTable();
1016   // create decay channel of a0(980)0 -> eta     726   // create decay channel of a0(980)0 -> eta + pi0
1017   //                                   parent    727   //                                   parent    BR     #daughters
1018   mode = new G4PhaseSpaceDecayChannel("a0(980 << 728   mode  = new G4PhaseSpaceDecayChannel("a0(980)0",1.000, 2,
                                                   >> 729                             "pi0","eta");
1019   // add decay table                             730   // add decay table
1020   decayTable->Insert(mode);                      731   decayTable->Insert(mode);
1021   particle->SetDecayTable(decayTable);           732   particle->SetDecayTable(decayTable);
1022                                                  733 
1023   // f0(500) (was f0(500) f0(400-1200))       << 734   // f0(400-1200)
1024   // clang-format off                         << 735   particle = new G4ExcitedMesons(            
1025   particle = new G4ExcitedMesons(             << 736             "f0(600)",       470.0*MeV,     400.0*MeV,           0.0,
1026             "f0(500)",       600.0*MeV,     4 << 737                     0,              +1,            +1,          
1027                     0,              +1,       << 738                     0,               0,            +1,             
1028                     0,               0,       << 
1029               "meson",               0,          739               "meson",               0,             0,       9000221,
1030     false,             0.0,          nullptr) << 740     false,             0.0,          NULL);
1031   // clang-format on                          << 
1032                                               << 
1033   particle->SetAntiPDGEncoding(9000221);         741   particle->SetAntiPDGEncoding(9000221);
1034   // set sub type                                742   // set sub type
1035   particle->SetMultipletName("f0(500)");      << 743   particle->SetMultipletName("f0(600)");
1036   // create decay table                          744   // create decay table
1037   decayTable = new G4DecayTable();            << 745   decayTable =  new G4DecayTable();
1038   // create decay channel of f0(500) -> pi +  << 746   // create decay channel of f0(600) -> pi + pi
1039   //                                   parent    747   //                                   parent    BR     #daughters
1040   mode = new G4PhaseSpaceDecayChannel("f0(500 << 748   mode  = new G4PhaseSpaceDecayChannel("f0(600)",1.000, 2,
                                                   >> 749                             "pi+","pi-");
1041   // add decay table                             750   // add decay table
1042   decayTable->Insert(mode);                      751   decayTable->Insert(mode);
1043   particle->SetDecayTable(decayTable);           752   particle->SetDecayTable(decayTable);
1044                                               << 753   // f0(400-1200)
1045   // f0(980)                                  << 754   particle = new G4ExcitedMesons(            
1046   // clang-format off                         << 755             "f0(600)",       470.0*MeV,     400.0*MeV,           0.0,
1047   particle = new G4ExcitedMesons(             << 756                     0,              +1,            +1,          
1048             "f0(980)",       990.0*MeV,       << 757                     0,               0,            +1,             
1049                     0,              +1,       << 758               "meson",               0,             0,       9000221,
1050                     0,               0,       << 759     false,             0.0,          NULL);
1051               "meson",               0,       << 760   particle->SetAntiPDGEncoding(9000221);
1052     false,             0.0,          nullptr) << 
1053   // clang-format on                          << 
1054                                               << 
1055   particle->SetAntiPDGEncoding(9010221);      << 
1056   // set sub type                                761   // set sub type
1057   particle->SetMultipletName("f0(980)");      << 762   particle->SetMultipletName("f0(600)");
1058   // create decay table                          763   // create decay table
1059   decayTable = new G4DecayTable();            << 764   decayTable =  new G4DecayTable();
1060   // create decay channel of f0(980) -> pi +  << 765   // create decay channel of f0(600) -> pi + pi
1061   //                                   parent    766   //                                   parent    BR     #daughters
1062   mode = new G4PhaseSpaceDecayChannel("f0(980 << 767   mode  = new G4PhaseSpaceDecayChannel("f0(600)",1.000, 2,
                                                   >> 768                             "pi+","pi-");
1063   // add decay table                             769   // add decay table
1064   decayTable->Insert(mode);                      770   decayTable->Insert(mode);
1065   particle->SetDecayTable(decayTable);           771   particle->SetDecayTable(decayTable);
1066                                                  772 
1067   // eta(1405)                                << 
1068   // clang-format off                         << 
1069   particle = new G4ExcitedMesons(             << 
1070           "eta(1405)",      1408.8*MeV,       << 
1071                     0,              -1,       << 
1072                     0,               0,       << 
1073               "meson",               0,       << 
1074     false,             0.0,          nullptr) << 
1075   // clang-format on                          << 
1076                                                  773 
1077   particle->SetAntiPDGEncoding(9020221);      << 774   // f0(980)
                                                   >> 775   particle = new G4ExcitedMesons(            
                                                   >> 776             "f0(980)",       980.0*MeV,      40.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);
1078   // set sub type                                782   // set sub type
1079   particle->SetMultipletName("eta(1405)");    << 783   particle->SetMultipletName("f0(980)");
1080   // create decay table                          784   // create decay table
1081   decayTable = new G4DecayTable();            << 785   decayTable =  new G4DecayTable();
1082   // create decay channel of eta(1405) -> rho << 786   // create decay channel of f0(980) -> pi + pi
1083   //                                   parent    787   //                                   parent    BR     #daughters
1084   mode = new G4PhaseSpaceDecayChannel("eta(14 << 788   mode  = new G4PhaseSpaceDecayChannel("f0(980)",1.000, 2,
                                                   >> 789                             "pi+","pi-");
1085   // add decay table                             790   // add decay table
1086   decayTable->Insert(mode);                      791   decayTable->Insert(mode);
1087   particle->SetDecayTable(decayTable);           792   particle->SetDecayTable(decayTable);
1088                                                  793 
1089   // f0(1500)                                 << 
1090   // clang-format off                         << 
1091   particle = new G4ExcitedMesons(             << 
1092            "f0(1500)",      1522.0*MeV,     1 << 
1093                     0,              +1,       << 
1094                     0,               0,       << 
1095               "meson",               0,       << 
1096     false,             0.0,          nullptr) << 
1097   // clang-format on                          << 
1098                                                  794 
1099   particle->SetAntiPDGEncoding(9030221);      << 795   // f0(1500)
                                                   >> 796   particle = new G4ExcitedMesons(            
                                                   >> 797            "f0(1500)",      1507.0*MeV,     109.0*MeV,           0.0,
                                                   >> 798                     0,              +1,            +1,          
                                                   >> 799                     0,               0,            +1,             
                                                   >> 800               "meson",               0,             0,       9020221,
                                                   >> 801     false,             0.0,          NULL);
                                                   >> 802   particle->SetAntiPDGEncoding(9020221);
1100   // set sub type                                803   // set sub type
1101   particle->SetMultipletName("f0(1500)");        804   particle->SetMultipletName("f0(1500)");
1102   // create decay table                          805   // create decay table
1103   decayTable = new G4DecayTable();            << 806   decayTable =  new G4DecayTable();
1104   // create decay channel of f0(1500) -> eta     807   // create decay channel of f0(1500) -> eta + eta
1105   //                                   parent    808   //                                   parent    BR     #daughters
1106   mode = new G4PhaseSpaceDecayChannel("f0(150 << 809   mode  = new G4PhaseSpaceDecayChannel("f0(1500)",1.000, 2,
                                                   >> 810                             "eta","eta");
1107   // add decay table                             811   // add decay table
1108   decayTable->Insert(mode);                      812   decayTable->Insert(mode);
1109   particle->SetDecayTable(decayTable);           813   particle->SetDecayTable(decayTable);
1110                                                  814 
1111   // f0(1710)                                    815   // f0(1710)
1112   // clang-format off                         << 816   particle = new G4ExcitedMesons(            
1113   particle = new G4ExcitedMesons(             << 817            "f0(1710)",      1713.0*MeV,     125.0*MeV,           0.0,
1114            "f0(1710)",      1733.0*MeV,     1 << 818                     0,              +1,            +1,          
1115                     0,              +1,       << 819                     0,               0,            +1,             
1116                     0,               0,       << 
1117               "meson",               0,          820               "meson",               0,             0,         10331,
1118     false,             0.0,          nullptr) << 821     false,             0.0,          NULL);
1119   // clang-format on                          << 
1120                                               << 
1121   particle->SetAntiPDGEncoding(10331);           822   particle->SetAntiPDGEncoding(10331);
1122   // set sub type                                823   // set sub type
1123   particle->SetMultipletName("f0(1710)");        824   particle->SetMultipletName("f0(1710)");
1124   // create decay table                          825   // create decay table
1125   decayTable = new G4DecayTable();            << 826   decayTable =  new G4DecayTable();
1126                                                  827 
1127   // create decay channel of f0(1710) -> k0 +    828   // create decay channel of f0(1710) -> k0 + k0
1128   //                                   parent    829   //                                   parent    BR     #daughters
1129   mode = new G4PhaseSpaceDecayChannel("f0(171 << 830   mode  = new G4PhaseSpaceDecayChannel("f0(1710)",0.40, 2,
                                                   >> 831                             "kaon0S","kaon0S");
1130   // add decay table                             832   // add decay table
1131   decayTable->Insert(mode);                      833   decayTable->Insert(mode);
1132                                               << 834  
1133   // create decay channel of f0(1710) -> k+ +    835   // create decay channel of f0(1710) -> k+ + k+
1134   //                                   parent    836   //                                   parent    BR     #daughters
1135   mode = new G4PhaseSpaceDecayChannel("f0(171 << 837   mode  = new G4PhaseSpaceDecayChannel("f0(1710)",0.40, 2,
                                                   >> 838                             "kaon+","kaon-");
1136   // add decay table                             839   // add decay table
1137   decayTable->Insert(mode);                      840   decayTable->Insert(mode);
1138                                               << 841   
1139   // create decay channel of f0(1710) -> eta     842   // create decay channel of f0(1710) -> eta + eta
1140   //                                   parent    843   //                                   parent    BR     #daughters
1141   mode = new G4PhaseSpaceDecayChannel("f0(171 << 844   mode  = new G4PhaseSpaceDecayChannel("f0(1710)",0.20, 2,
                                                   >> 845                             "eta","eta");
1142   // add decay table                             846   // add decay table
1143   decayTable->Insert(mode);                      847   decayTable->Insert(mode);
1144   particle->SetDecayTable(decayTable);           848   particle->SetDecayTable(decayTable);
1145                                                  849 
                                                   >> 850 
1146   // k_star+                                     851   // k_star+
1147   // clang-format off                         << 852   particle = new G4ExcitedMesons(            
1148   particle = new G4ExcitedMesons(             << 853       "k_star+",       891.6*MeV,      50.8*MeV,    +1.0*eplus, 
1149       "k_star+",      891.67*MeV,      51.4*M << 854                     2,              -1,             0,          
1150                     2,              -1,       << 855                     1,              +1,             0,             
1151                     1,              +1,       << 
1152               "meson",               0,          856               "meson",               0,             0,           323,
1153     false,             0.0,          nullptr) << 857     false,             0.0,          NULL);
1154   // clang-format on                          << 
1155                                               << 
1156   // set sub type                                858   // set sub type
1157   particle->SetMultipletName("k_star");          859   particle->SetMultipletName("k_star");
1158   // create decay table                          860   // create decay table
1159   decayTable = new G4DecayTable();            << 861   decayTable =  new G4DecayTable();
1160   // create decay channel of k_star+ -> kaon+    862   // create decay channel of k_star+ -> kaon+ + pi0
1161   //                                   parent    863   //                                   parent    BR     #daughters
1162   mode = new G4PhaseSpaceDecayChannel("k_star << 864   mode  = new G4PhaseSpaceDecayChannel("k_star+",0.500, 2,
                                                   >> 865                             "kaon+","pi0");
1163   // add decay table                             866   // add decay table
1164   decayTable->Insert(mode);                      867   decayTable->Insert(mode);
1165   // create decay channel of k_star+ -> kaon+ << 868    // create decay channel of k_star+ -> kaon+ + pi0
1166   //                                   parent    869   //                                   parent    BR     #daughters
1167   mode = new G4PhaseSpaceDecayChannel("k_star << 870   mode  = new G4PhaseSpaceDecayChannel("k_star+",0.500, 2,
                                                   >> 871                             "kaon0","pi+");
1168   // add decay table                             872   // add decay table
1169   decayTable->Insert(mode);                      873   decayTable->Insert(mode);
1170   particle->SetDecayTable(decayTable);           874   particle->SetDecayTable(decayTable);
1171                                               << 875   
1172   // k_star0                                     876   // k_star0
1173   // clang-format off                         << 877   particle = new G4ExcitedMesons(            
1174   particle = new G4ExcitedMesons(             << 878       "k_star0",       896.1*MeV,      50.7*MeV,     0.0*eplus, 
1175       "k_star0",      895.55*MeV,      47.3*M << 879                     2,              -1,             0,          
1176                     2,              -1,       << 880                     1,              -1,             0,             
1177                     1,              -1,       << 
1178               "meson",               0,          881               "meson",               0,             0,           313,
1179     false,             0.0,          nullptr) << 882     false,             0.0,          NULL);
1180   // clang-format on                          << 
1181                                               << 
1182   // set sub type                                883   // set sub type
1183   particle->SetMultipletName("k_star");          884   particle->SetMultipletName("k_star");
1184   // create decay table                          885   // create decay table
1185   decayTable = new G4DecayTable();            << 886   decayTable =  new G4DecayTable();
1186   // create decay channel of k_star0 -> kaon+    887   // create decay channel of k_star0 -> kaon+ + pi-
1187   //                                   parent    888   //                                   parent    BR     #daughters
1188   mode = new G4PhaseSpaceDecayChannel("k_star << 889   mode  = new G4PhaseSpaceDecayChannel("k_star0",0.500, 2,
                                                   >> 890                             "kaon+","pi-");
1189   // add decay table                             891   // add decay table
1190   decayTable->Insert(mode);                      892   decayTable->Insert(mode);
1191   // create decay channel of k_star0 -> kaon0 << 893    // create decay channel of k_star0 -> kaon0 + pi0
1192   //                                   parent    894   //                                   parent    BR     #daughters
1193   mode = new G4PhaseSpaceDecayChannel("k_star << 895   mode  = new G4PhaseSpaceDecayChannel("k_star0",0.500, 2,
                                                   >> 896                             "kaon0","pi0");
1194   // add decay table                             897   // add decay table
1195   decayTable->Insert(mode);                      898   decayTable->Insert(mode);
1196   particle->SetDecayTable(decayTable);           899   particle->SetDecayTable(decayTable);
1197                                                  900 
1198   // k_star-                                     901   // k_star-
1199   // clang-format off                         << 902   particle = new G4ExcitedMesons(            
1200   particle = new G4ExcitedMesons(             << 903             "k_star-",       891.6*MeV,      50.8*MeV,    -1.0*eplus, 
1201             "k_star-",       891.67*MeV,      << 904                     2,              -1,             0,          
1202                     2,              -1,       << 905                     1,              +1,             0,             
1203                     1,              +1,       << 
1204               "meson",               0,          906               "meson",               0,             0,          -323,
1205     false,             0.0,          nullptr) << 907     false,             0.0,          NULL);
1206   // clang-format on                          << 
1207                                               << 
1208   // set sub type                                908   // set sub type
1209   particle->SetMultipletName("k_star");          909   particle->SetMultipletName("k_star");
1210   // create decay table                          910   // create decay table
1211   decayTable = new G4DecayTable();            << 911   decayTable =  new G4DecayTable();
1212   // create decay channel of k_star- -> kaon-    912   // create decay channel of k_star- -> kaon- + pi0
1213   //                                   parent    913   //                                   parent    BR     #daughters
1214   mode = new G4PhaseSpaceDecayChannel("k_star << 914   mode  = new G4PhaseSpaceDecayChannel("k_star-",0.500, 2,
                                                   >> 915                             "kaon-","pi0");
1215   // add decay table                             916   // add decay table
1216   decayTable->Insert(mode);                      917   decayTable->Insert(mode);
1217   // create decay channel of k_star- -> anti_ << 918    // create decay channel of k_star- -> anti_kaon0 + pi0
1218   //                                   parent    919   //                                   parent    BR     #daughters
1219   mode = new G4PhaseSpaceDecayChannel("k_star << 920   mode  = new G4PhaseSpaceDecayChannel("k_star-",0.500, 2,
                                                   >> 921                             "anti_kaon0","pi+");
1220   // add decay table                             922   // add decay table
1221   decayTable->Insert(mode);                      923   decayTable->Insert(mode);
1222   particle->SetDecayTable(decayTable);           924   particle->SetDecayTable(decayTable);
1223                                               << 925   
                                                   >> 926   
1224   // anti_k_star0                                927   // anti_k_star0
1225   // clang-format off                         << 928   particle = new G4ExcitedMesons(            
1226   particle = new G4ExcitedMesons(             << 929        "anti_k_star0",       896.1*MeV,      50.7*MeV,     0.0*eplus, 
1227        "anti_k_star0",      895.55*MeV,       << 930                     2,              -1,             0,          
1228                     2,              -1,       << 931                     1,              -1,             0,             
1229                     1,              -1,       << 
1230               "meson",               0,          932               "meson",               0,             0,          -313,
1231     false,             0.0,          nullptr) << 933     false,             0.0,          NULL);
1232   // clang-format on                          << 
1233                                               << 
1234   // set sub type                                934   // set sub type
1235   particle->SetMultipletName("k_star");          935   particle->SetMultipletName("k_star");
1236   // create decay table                          936   // create decay table
1237   decayTable = new G4DecayTable();            << 937   decayTable =  new G4DecayTable();
1238   // create decay channel of anti_k_star0 ->     938   // create decay channel of anti_k_star0 -> kaon- + pi+
1239   //                                   parent    939   //                                   parent    BR     #daughters
1240   mode = new G4PhaseSpaceDecayChannel("anti_k << 940   mode  = new G4PhaseSpaceDecayChannel("anti_k_star0",0.500, 2,
                                                   >> 941                             "kaon-","pi+");
1241   // add decay table                             942   // add decay table
1242   decayTable->Insert(mode);                      943   decayTable->Insert(mode);
1243   // create decay channel of anti_k_star0 ->  << 944    // create decay channel of anti_k_star0 -> anti_kaon0 + pi0
1244   //                                   parent    945   //                                   parent    BR     #daughters
1245   mode = new G4PhaseSpaceDecayChannel("anti_k << 946   mode  = new G4PhaseSpaceDecayChannel("anti_k_star0",0.500, 2,
                                                   >> 947                             "anti_kaon0","pi0");
1246   // add decay table                             948   // add decay table
1247   decayTable->Insert(mode);                      949   decayTable->Insert(mode);
1248   particle->SetDecayTable(decayTable);           950   particle->SetDecayTable(decayTable);
                                                   >> 951   
1249 }                                                952 }
                                                   >> 953 
                                                   >> 954 
                                                   >> 955 
                                                   >> 956 
                                                   >> 957 
                                                   >> 958 
                                                   >> 959 
                                                   >> 960 
                                                   >> 961 
                                                   >> 962 
                                                   >> 963 
                                                   >> 964 
                                                   >> 965 
                                                   >> 966 
                                                   >> 967 
                                                   >> 968 
                                                   >> 969 
                                                   >> 970 
                                                   >> 971 
1250                                                  972