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 9.4.p2)


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