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