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 10.3)


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