Geant4 Cross Reference |
1 // 2 // ******************************************************************** 3 // * License and Disclaimer * 4 // * * 5 // * The Geant4 software is copyright of the Copyright Holders of * 6 // * the Geant4 Collaboration. It is provided under the terms and * 7 // * conditions of the Geant4 Software License, included in the file * 8 // * LICENSE and available at http://cern.ch/geant4/license . These * 9 // * include a list of copyright holders. * 10 // * * 11 // * Neither the authors of this software system, nor their employing * 12 // * institutes,nor the agencies providing financial support for this * 13 // * work make any representation or warranty, express or implied, * 14 // * regarding this software system or assume any liability for its * 15 // * use. Please see the license in the file LICENSE and URL above * 16 // * for the full disclaimer and the limitation of liability. * 17 // * * 18 // * This code implementation is the result of the scientific and * 19 // * technical work of the GEANT4 collaboration. * 20 // * By using, copying, modifying or distributing the software (or * 21 // * any work based on the software) you agree to acknowledge its * 22 // * use in resulting scientific publications, and indicate your * 23 // * acceptance of all terms of the Geant4 Software license. * 24 // ******************************************************************** 25 // 26 #include "G4SPBaryon.hh" 27 #include "Randomize.hh" 28 #include "G4ParticleTable.hh" 29 30 // correcting numbers, HPW Dec 1999 31 32 G4int G4SPBaryon::FindQuark(G4int diQuark) const 33 { 34 G4double sum = GetProbability(diQuark); 35 G4double random = G4UniformRand(); 36 G4double running = 0; 37 G4int Quark(0); 38 typedef std::vector<G4SPPartonInfo *>::const_iterator iter; 39 iter i; 40 for (i = thePartonInfo.begin(); i!=thePartonInfo.end(); i++) 41 { 42 if (std::abs((*i)->GetDiQuark()) == std::abs(diQuark)) 43 { 44 running += (*i)->GetProbability(); 45 if (running/sum >= random) 46 { 47 Quark = (*i)->GetQuark(); 48 break; 49 } 50 } 51 } 52 return Quark; 53 } 54 55 56 G4double G4SPBaryon::GetProbability(G4int diQuark) const 57 { 58 G4double sum = 0; 59 typedef std::vector<G4SPPartonInfo *>::const_iterator iter; 60 iter i; 61 for (i = thePartonInfo.begin(); i!=thePartonInfo.end(); i++) 62 { 63 if (std::abs((*i)->GetDiQuark()) == std::abs(diQuark)) 64 { 65 sum += (*i)->GetProbability(); 66 } 67 } 68 return sum; 69 } 70 71 72 G4int G4SPBaryon:: 73 MatchDiQuarkAndGetQuark(const G4SPBaryon & aBaryon, G4int & aDiQuark) const 74 { 75 G4int result=0; 76 typedef std::vector<G4SPPartonInfo *>::const_iterator iter; 77 iter i; 78 G4double running = 0; 79 G4double total = 0; 80 for (i = thePartonInfo.begin(); i!=thePartonInfo.end(); i++) 81 { 82 total += aBaryon.GetProbability((*i)->GetDiQuark()); 83 } 84 G4double random = G4UniformRand(); 85 for(i = thePartonInfo.begin(); i!=thePartonInfo.end(); i++) 86 { 87 running += aBaryon.GetProbability((*i)->GetDiQuark()); 88 if (random<running/total) 89 { 90 result = (*i)->GetQuark(); // (diquark annihilated) 91 aDiQuark = (*i)->GetDiQuark(); 92 break; 93 } 94 } 95 return result; 96 } 97 98 99 void G4SPBaryon:: 100 SampleQuarkAndDiquark(G4int & quark, G4int & diQuark) const 101 { 102 typedef std::vector<G4SPPartonInfo *>::const_iterator iter; 103 104 G4double random = G4UniformRand(); 105 G4double sum = 0; 106 iter i; 107 108 for (i=thePartonInfo.begin() ; i!=thePartonInfo.end(); i++) 109 { 110 sum += (*i)->GetProbability(); 111 if (sum > random) 112 { 113 if (theDefinition->GetPDGEncoding() < 0) 114 { 115 quark = (*i)->GetDiQuark(); 116 diQuark = (*i)->GetQuark(); 117 } 118 else 119 { 120 quark = (*i)->GetQuark(); 121 diQuark = (*i)->GetDiQuark(); 122 } 123 break; 124 } 125 } 126 } 127 128 129 void G4SPBaryon:: 130 FindDiquark(G4int quark, G4int & diQuark) const 131 { 132 typedef std::vector<G4SPPartonInfo *>::const_iterator iter; 133 G4double sum = 0; 134 iter i; 135 for (i=thePartonInfo.begin() ; i!=thePartonInfo.end(); i++) 136 { 137 if (std::abs((*i)->GetQuark()) == std::abs(quark)) 138 { 139 sum += (*i)->GetProbability(); 140 } 141 } 142 G4double random = G4UniformRand(); 143 G4double running = 0; 144 for (i=thePartonInfo.begin() ; i!=thePartonInfo.end(); i++) { 145 if (std::abs((*i)->GetQuark()) == std::abs(quark)) 146 { 147 running += (*i)->GetProbability(); 148 if (running/sum >= random) 149 { 150 diQuark = (*i)->GetDiQuark(); 151 break; 152 } 153 } 154 } 155 } 156 157 158 G4SPBaryon:: 159 G4SPBaryon(G4Proton * aProton) 160 { 161 theDefinition = aProton; 162 thePartonInfo.push_back(new G4SPPartonInfo(2203, 1, 1./3./2.)); // uu_1, d 163 thePartonInfo.push_back(new G4SPPartonInfo(2103, 2, 1./6.*2.)); // ud_1, u 164 thePartonInfo.push_back(new G4SPPartonInfo(2101, 2, 1./2.)); // ud_0, u 165 } 166 167 G4SPBaryon:: 168 G4SPBaryon(G4AntiProton * aAntiProton) 169 { 170 theDefinition = aAntiProton; 171 thePartonInfo.push_back(new G4SPPartonInfo(-2203, -1, 1./3.)); 172 thePartonInfo.push_back(new G4SPPartonInfo(-2103, -2, 1./6.)); 173 thePartonInfo.push_back(new G4SPPartonInfo(-2101, -2, 1./2.)); 174 } 175 176 177 G4SPBaryon:: 178 G4SPBaryon(G4Neutron * aNeutron) 179 { 180 theDefinition = aNeutron; 181 thePartonInfo.push_back(new G4SPPartonInfo(2103, 1, 1./6.*2.)); // ud_1, d 182 thePartonInfo.push_back(new G4SPPartonInfo(2101, 1, 1./2. )); // ud_0, d 183 thePartonInfo.push_back(new G4SPPartonInfo(1103, 2, 1./3./2 )); // dd_1, u 184 } 185 186 G4SPBaryon:: 187 G4SPBaryon(G4AntiNeutron * aAntiNeutron) 188 { 189 theDefinition = aAntiNeutron; 190 thePartonInfo.push_back(new G4SPPartonInfo(-2103, -1, 1./6.)); 191 thePartonInfo.push_back(new G4SPPartonInfo(-2101, -1, 1./2.)); 192 thePartonInfo.push_back(new G4SPPartonInfo(-1103, -2, 1./3.)); 193 } 194 195 196 G4SPBaryon:: 197 G4SPBaryon(G4Lambda * aLambda) 198 { 199 theDefinition = aLambda; 200 thePartonInfo.push_back(new G4SPPartonInfo(2103, 3, 1./3.)); // ud_1, s 201 thePartonInfo.push_back(new G4SPPartonInfo(3203, 1, 1./4.)); // su_1, d 202 thePartonInfo.push_back(new G4SPPartonInfo(3201, 1, 1./12.)); // su_0, d 203 thePartonInfo.push_back(new G4SPPartonInfo(3103, 2, 1./4.)); // sd_1, u 204 thePartonInfo.push_back(new G4SPPartonInfo(3101, 2, 1./12.)); // sd_0, u 205 } 206 207 G4SPBaryon:: 208 G4SPBaryon(G4AntiLambda * aAntiLambda) 209 { 210 theDefinition = aAntiLambda; 211 thePartonInfo.push_back(new G4SPPartonInfo(-2103, -3, 1./3.)); 212 thePartonInfo.push_back(new G4SPPartonInfo(-3203, -1, 1./4.)); 213 thePartonInfo.push_back(new G4SPPartonInfo(-3201, -1, 1./12.)); 214 thePartonInfo.push_back(new G4SPPartonInfo(-3103, -2, 1./4.)); 215 thePartonInfo.push_back(new G4SPPartonInfo(-3101, -2, 1./12.)); 216 } 217 218 219 G4SPBaryon:: 220 G4SPBaryon(G4SigmaPlus * aSigmaPlus) 221 { 222 theDefinition = aSigmaPlus; 223 thePartonInfo.push_back(new G4SPPartonInfo(2203, 3, 1./3.)); // uu_1, s 224 thePartonInfo.push_back(new G4SPPartonInfo(3203, 2, 1./6.)); // su_1, u 225 thePartonInfo.push_back(new G4SPPartonInfo(3201, 2, 1./2.)); // su_0, u 226 } 227 228 G4SPBaryon:: 229 G4SPBaryon(G4AntiSigmaPlus * aAntiSigmaPlus) 230 { 231 theDefinition = aAntiSigmaPlus; 232 thePartonInfo.push_back(new G4SPPartonInfo(-2203, -3, 1./3.)); 233 thePartonInfo.push_back(new G4SPPartonInfo(-3203, -2, 1./6.)); 234 thePartonInfo.push_back(new G4SPPartonInfo(-3201, -2, 1./2.)); 235 } 236 237 238 G4SPBaryon:: 239 G4SPBaryon(G4SigmaZero * aSigmaZero) 240 { 241 theDefinition = aSigmaZero; 242 thePartonInfo.push_back(new G4SPPartonInfo(2103, 3, 1./3.)); // ud_1, s 243 thePartonInfo.push_back(new G4SPPartonInfo(3203, 1, 1./12.)); // su_1, d 244 thePartonInfo.push_back(new G4SPPartonInfo(3201, 1, 1./4.)); // su_0, d 245 thePartonInfo.push_back(new G4SPPartonInfo(3103, 2, 1./12.)); // sd_1, u 246 thePartonInfo.push_back(new G4SPPartonInfo(3101, 2, 1./4.)); // sd_0, u 247 } 248 249 G4SPBaryon:: 250 G4SPBaryon(G4AntiSigmaZero * aAntiSigmaZero) 251 { 252 theDefinition = aAntiSigmaZero; 253 thePartonInfo.push_back(new G4SPPartonInfo(-2103, -3, 1./3.)); 254 thePartonInfo.push_back(new G4SPPartonInfo(-3203, -1, 1./12.)); 255 thePartonInfo.push_back(new G4SPPartonInfo(-3201, -1, 1./4.)); 256 thePartonInfo.push_back(new G4SPPartonInfo(-3103, -2, 1./12.)); 257 thePartonInfo.push_back(new G4SPPartonInfo(-3101, -2, 1./4.)); 258 } 259 260 261 G4SPBaryon:: 262 G4SPBaryon(G4SigmaMinus * aSigmaMinus) 263 { 264 theDefinition = aSigmaMinus; 265 thePartonInfo.push_back(new G4SPPartonInfo(1103, 3, 1./3.)); // dd_1, s 266 thePartonInfo.push_back(new G4SPPartonInfo(3103, 1, 1./6.)); // sd_1, d 267 thePartonInfo.push_back(new G4SPPartonInfo(3101, 1, 1./2.)); // sd_0, d 268 } 269 270 G4SPBaryon:: 271 G4SPBaryon(G4AntiSigmaMinus * aAntiSigmaMinus) 272 { 273 theDefinition = aAntiSigmaMinus; 274 thePartonInfo.push_back(new G4SPPartonInfo(-1103, -3, 1./3.)); 275 thePartonInfo.push_back(new G4SPPartonInfo(-3103, -1, 1./6.)); 276 thePartonInfo.push_back(new G4SPPartonInfo(-3101, -1, 1./2.)); 277 } 278 279 280 G4SPBaryon:: 281 G4SPBaryon(G4XiZero * aXiZero) 282 { 283 theDefinition = aXiZero; 284 thePartonInfo.push_back(new G4SPPartonInfo(3203, 3, 1./6.)); // su_1, s 285 thePartonInfo.push_back(new G4SPPartonInfo(3201, 3, 1./2.)); // su_0, s 286 thePartonInfo.push_back(new G4SPPartonInfo(3303, 2, 1./3.)); // ss_1, u 287 } 288 289 G4SPBaryon:: 290 G4SPBaryon(G4AntiXiZero * aAntiXiZero) 291 { 292 theDefinition = aAntiXiZero; 293 thePartonInfo.push_back(new G4SPPartonInfo(-3203, -3, 1./6.)); 294 thePartonInfo.push_back(new G4SPPartonInfo(-3201, -3, 1./2.)); 295 thePartonInfo.push_back(new G4SPPartonInfo(-3303, -2, 1./3.)); 296 } 297 298 299 G4SPBaryon:: 300 G4SPBaryon(G4XiMinus * aXiMinus) 301 { 302 theDefinition = aXiMinus; 303 thePartonInfo.push_back(new G4SPPartonInfo(3103, 3, 1./6.)); // sd_1, s 304 thePartonInfo.push_back(new G4SPPartonInfo(3101, 3, 1./2.)); // sd_0, s 305 thePartonInfo.push_back(new G4SPPartonInfo(3303, 1, 1./3.)); // ss_1, d 306 } 307 308 G4SPBaryon:: 309 G4SPBaryon(G4AntiXiMinus * aAntiXiMinus) 310 { 311 theDefinition = aAntiXiMinus; 312 thePartonInfo.push_back(new G4SPPartonInfo(-3103, -3, 1./6.)); 313 thePartonInfo.push_back(new G4SPPartonInfo(-3101, -3, 1./2.)); 314 thePartonInfo.push_back(new G4SPPartonInfo(-3303, -1, 1./3.)); 315 } 316 317 318 G4SPBaryon:: 319 G4SPBaryon(G4OmegaMinus * anOmegaMinus) 320 { 321 theDefinition = anOmegaMinus; 322 thePartonInfo.push_back(new G4SPPartonInfo(3303, 3, 1.)); // ss_1, s 323 } 324 325 G4SPBaryon:: 326 G4SPBaryon(G4AntiOmegaMinus * anAntiOmegaMinus) 327 { 328 theDefinition = anAntiOmegaMinus; 329 thePartonInfo.push_back(new G4SPPartonInfo(-3303, -3, 1.)); 330 } 331 332 333 // non static particles 334 G4SPBaryon:: 335 G4SPBaryon(G4ParticleDefinition * aDefinition) 336 { 337 theDefinition = aDefinition; 338 if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(2224)) // Delta++ 339 { 340 thePartonInfo.push_back(new G4SPPartonInfo(2203, 2, 1.)); // uu_1, u 341 } 342 else if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(-2224)) // anti Delta++ 343 { 344 thePartonInfo.push_back(new G4SPPartonInfo(-2203, -2, 1.)); 345 } 346 else if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(2214)) // Delta+ 347 { 348 thePartonInfo.push_back(new G4SPPartonInfo(2203, 1, 1./3.)); // uu_1, d 349 thePartonInfo.push_back(new G4SPPartonInfo(2103, 2, 2./3.)); // ud_1, u 350 } 351 else if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(-2214)) // anti Delta+ 352 { 353 thePartonInfo.push_back(new G4SPPartonInfo(-2203, -1, 1./3.)); 354 thePartonInfo.push_back(new G4SPPartonInfo(-2103, -2, 2./3.)); 355 } 356 else if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(2114)) // Delta0 357 { 358 thePartonInfo.push_back(new G4SPPartonInfo(2103, 1, 2./3.)); // ud_1, d 359 thePartonInfo.push_back(new G4SPPartonInfo(1103, 2, 1./3.)); // dd_1, u 360 } 361 else if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(-2114)) // anti Delta0 362 { 363 thePartonInfo.push_back(new G4SPPartonInfo(-2103, -1, 2./3.)); 364 thePartonInfo.push_back(new G4SPPartonInfo(-2103, -2, 1./3.)); 365 } 366 else if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(1114)) // Delta- 367 { 368 thePartonInfo.push_back(new G4SPPartonInfo(1103, 1, 1.)); // dd_1, d 369 } 370 else if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(-1114)) // anti Delta- 371 { 372 thePartonInfo.push_back(new G4SPPartonInfo(-1103, -1, 1.)); 373 } 374 } 375 376 377 G4SPBaryon::~G4SPBaryon() 378 { 379 for (unsigned int i=0;i<thePartonInfo.size(); i++) delete thePartonInfo[i]; 380 } 381 382 383 // Extension to charmed and bottom baryons and anti-baryons 384 // G4SPPartonInfo(G4int diq, G4int q, G4double prob) 385 386 G4SPBaryon::G4SPBaryon(G4LambdacPlus * aLambdacPlus) { 387 // lambda_c+(udc) treated as lambda(uds) with s replaced by c. 388 theDefinition = aLambdacPlus; 389 thePartonInfo.push_back(new G4SPPartonInfo(2103, 4, 1./3.)); // ud_1, c 390 thePartonInfo.push_back(new G4SPPartonInfo(4203, 1, 1./4.)); // cu_1, d 391 thePartonInfo.push_back(new G4SPPartonInfo(4201, 1, 1./12.)); // cu_0, d 392 thePartonInfo.push_back(new G4SPPartonInfo(4103, 2, 1./4.)); // cd_1, u 393 thePartonInfo.push_back(new G4SPPartonInfo(4101, 2, 1./12.)); // cd_0, u 394 } 395 396 G4SPBaryon::G4SPBaryon(G4AntiLambdacPlus * aAntiLambdacPlus) { 397 theDefinition = aAntiLambdacPlus; 398 thePartonInfo.push_back(new G4SPPartonInfo(-2103, -4, 1./3.)); 399 thePartonInfo.push_back(new G4SPPartonInfo(-4203, -1, 1./4.)); 400 thePartonInfo.push_back(new G4SPPartonInfo(-4201, -1, 1./12.)); 401 thePartonInfo.push_back(new G4SPPartonInfo(-4103, -2, 1./4.)); 402 thePartonInfo.push_back(new G4SPPartonInfo(-4101, -2, 1./12.)); 403 } 404 405 406 G4SPBaryon::G4SPBaryon(G4SigmacPlusPlus * aSigmacPlusPlus) { 407 // sigma_c++(uuc) treated as sigma+(uus) with s replaced by c. 408 theDefinition = aSigmacPlusPlus; 409 thePartonInfo.push_back(new G4SPPartonInfo(2203, 4, 1./3.)); // uu_1, c 410 thePartonInfo.push_back(new G4SPPartonInfo(4203, 2, 1./6.)); // cu_1, u 411 thePartonInfo.push_back(new G4SPPartonInfo(4201, 2, 1./2.)); // cu_0, u 412 } 413 414 G4SPBaryon::G4SPBaryon(G4AntiSigmacPlusPlus * aAntiSigmacPlusPlus) { 415 theDefinition = aAntiSigmacPlusPlus; 416 thePartonInfo.push_back(new G4SPPartonInfo(-2203, -4, 1./3.)); 417 thePartonInfo.push_back(new G4SPPartonInfo(-4203, -2, 1./6.)); 418 thePartonInfo.push_back(new G4SPPartonInfo(-4201, -2, 1./2.)); 419 } 420 421 422 G4SPBaryon::G4SPBaryon(G4SigmacPlus * aSigmacPlus) { 423 // sigma_c+(udc) treated as sigma0(uds) with s replaced by c. 424 theDefinition = aSigmacPlus; 425 thePartonInfo.push_back(new G4SPPartonInfo(2103, 4, 1./3.)); // ud_1, c 426 thePartonInfo.push_back(new G4SPPartonInfo(4203, 1, 1./12.)); // cu_1, d 427 thePartonInfo.push_back(new G4SPPartonInfo(4201, 1, 1./4.)); // cu_0, d 428 thePartonInfo.push_back(new G4SPPartonInfo(4103, 2, 1./12.)); // cd_1, u 429 thePartonInfo.push_back(new G4SPPartonInfo(4101, 2, 1./4.)); // cd_0, u 430 } 431 432 G4SPBaryon::G4SPBaryon(G4AntiSigmacPlus * aAntiSigmacPlus) { 433 theDefinition = aAntiSigmacPlus; 434 thePartonInfo.push_back(new G4SPPartonInfo(-2103, -4, 1./3.)); 435 thePartonInfo.push_back(new G4SPPartonInfo(-4203, -1, 1./12.)); 436 thePartonInfo.push_back(new G4SPPartonInfo(-4201, -1, 1./4.)); 437 thePartonInfo.push_back(new G4SPPartonInfo(-4103, -2, 1./12.)); 438 thePartonInfo.push_back(new G4SPPartonInfo(-4101, -2, 1./4.)); 439 } 440 441 442 G4SPBaryon::G4SPBaryon(G4SigmacZero * aSigmacZero) { 443 // sigma_c0(ddc) treated as sigma-(dds) replacing s with c. 444 theDefinition = aSigmacZero; 445 thePartonInfo.push_back(new G4SPPartonInfo(1103, 4, 1./3.)); // dd_1, c 446 thePartonInfo.push_back(new G4SPPartonInfo(4103, 1, 1./6.)); // cd_1, d 447 thePartonInfo.push_back(new G4SPPartonInfo(4101, 1, 1./2.)); // cd_0, d 448 } 449 450 G4SPBaryon::G4SPBaryon(G4AntiSigmacZero * aAntiSigmacZero) { 451 theDefinition = aAntiSigmacZero; 452 thePartonInfo.push_back(new G4SPPartonInfo(-1103, -4, 1./3.)); 453 thePartonInfo.push_back(new G4SPPartonInfo(-4103, -1, 1./6.)); 454 thePartonInfo.push_back(new G4SPPartonInfo(-4101, -1, 1./2.)); 455 } 456 457 458 G4SPBaryon::G4SPBaryon(G4XicPlus * aXicPlus) { 459 // xi_c+(usc) treated as xi0(uss) replacing s with c. 460 theDefinition = aXicPlus; 461 thePartonInfo.push_back(new G4SPPartonInfo(3203, 4, 1./6.)); // su_1, c 462 thePartonInfo.push_back(new G4SPPartonInfo(3201, 4, 1./2.)); // su_0, c 463 thePartonInfo.push_back(new G4SPPartonInfo(4303, 2, 1./3.)); // cs_1, u 464 } 465 466 G4SPBaryon::G4SPBaryon(G4AntiXicPlus * aAntiXicPlus) { 467 theDefinition = aAntiXicPlus; 468 thePartonInfo.push_back(new G4SPPartonInfo(-3203, -4, 1./6.)); 469 thePartonInfo.push_back(new G4SPPartonInfo(-3201, -4, 1./2.)); 470 thePartonInfo.push_back(new G4SPPartonInfo(-4303, -2, 1./3.)); 471 } 472 473 474 G4SPBaryon::G4SPBaryon(G4XicZero * aXicZero) { 475 // xi_c0(dsc) treated as xi-(dss) replacing s with c. 476 theDefinition = aXicZero; 477 thePartonInfo.push_back(new G4SPPartonInfo(3103, 4, 1./6.)); // sd_1, c 478 thePartonInfo.push_back(new G4SPPartonInfo(3101, 4, 1./2.)); // sd_0, c 479 thePartonInfo.push_back(new G4SPPartonInfo(4303, 1, 1./3.)); // cs_1, d 480 } 481 482 G4SPBaryon::G4SPBaryon(G4AntiXicZero * aAntiXicZero) { 483 theDefinition = aAntiXicZero; 484 thePartonInfo.push_back(new G4SPPartonInfo(-3103, -4, 1./6.)); 485 thePartonInfo.push_back(new G4SPPartonInfo(-3101, -4, 1./2.)); 486 thePartonInfo.push_back(new G4SPPartonInfo(-4303, -1, 1./3.)); 487 } 488 489 490 G4SPBaryon::G4SPBaryon(G4OmegacZero * aOmegacZero) { 491 // omega_c0(ssc) treated as omega-(sss) with s replaced by c. 492 theDefinition = aOmegacZero; 493 thePartonInfo.push_back(new G4SPPartonInfo(3303, 4, 1.)); // ss_1, c 494 } 495 496 G4SPBaryon::G4SPBaryon(G4AntiOmegacZero * aAntiOmegacZero) { 497 theDefinition = aAntiOmegacZero; 498 thePartonInfo.push_back(new G4SPPartonInfo(-3303, -4, 1.)); 499 } 500 501 502 G4SPBaryon::G4SPBaryon(G4Lambdab * aLambdab) { 503 // lambda_b(udb) treated as lambda-(uds) replacing s with b. 504 theDefinition = aLambdab; 505 thePartonInfo.push_back(new G4SPPartonInfo(2103, 5, 1./3.)); // ud_1, b 506 thePartonInfo.push_back(new G4SPPartonInfo(5203, 1, 1./4.)); // bu_1, d 507 thePartonInfo.push_back(new G4SPPartonInfo(5201, 1, 1./12.)); // bu_0, d 508 thePartonInfo.push_back(new G4SPPartonInfo(5103, 2, 1./4.)); // bd_1, u 509 thePartonInfo.push_back(new G4SPPartonInfo(5101, 2, 1./12.)); // bd_0, u 510 } 511 512 G4SPBaryon::G4SPBaryon(G4AntiLambdab * aAntiLambdab) { 513 theDefinition = aAntiLambdab; 514 thePartonInfo.push_back(new G4SPPartonInfo(-2103, -5, 1./3.)); 515 thePartonInfo.push_back(new G4SPPartonInfo(-5203, -1, 1./4.)); 516 thePartonInfo.push_back(new G4SPPartonInfo(-5201, -1, 1./12.)); 517 thePartonInfo.push_back(new G4SPPartonInfo(-5103, -2, 1./4.)); 518 thePartonInfo.push_back(new G4SPPartonInfo(-5101, -2, 1./12.)); 519 } 520 521 522 G4SPBaryon::G4SPBaryon(G4SigmabPlus * aSigmabPlus) { 523 // sigma_b+(uub) treated as sigma+(uus) replacing s with b. 524 theDefinition = aSigmabPlus; 525 thePartonInfo.push_back(new G4SPPartonInfo(2203, 5, 1./3.)); // uu_1, b 526 thePartonInfo.push_back(new G4SPPartonInfo(5203, 2, 1./6.)); // bu_1, u 527 thePartonInfo.push_back(new G4SPPartonInfo(5201, 2, 1./2.)); // bu_0, u 528 } 529 530 G4SPBaryon::G4SPBaryon(G4AntiSigmabPlus * aAntiSigmabPlus) { 531 theDefinition = aAntiSigmabPlus; 532 thePartonInfo.push_back(new G4SPPartonInfo(-2203, -5, 1./3.)); 533 thePartonInfo.push_back(new G4SPPartonInfo(-5203, -2, 1./6.)); 534 thePartonInfo.push_back(new G4SPPartonInfo(-5201, -2, 1./2.)); 535 } 536 537 538 G4SPBaryon::G4SPBaryon(G4SigmabZero * aSigmabZero) { 539 // sigma_b0(udb) treated as sigma0(uds) replacing s with b. 540 theDefinition = aSigmabZero; 541 thePartonInfo.push_back(new G4SPPartonInfo(2103, 5, 1./3.)); // ud_1, b 542 thePartonInfo.push_back(new G4SPPartonInfo(5203, 1, 1./12.)); // bu_1, d 543 thePartonInfo.push_back(new G4SPPartonInfo(5201, 1, 1./4.)); // bu_0, d 544 thePartonInfo.push_back(new G4SPPartonInfo(5103, 2, 1./12.)); // bd_1, u 545 thePartonInfo.push_back(new G4SPPartonInfo(5101, 2, 1./4.)); // bd_0, u 546 } 547 548 G4SPBaryon::G4SPBaryon(G4AntiSigmabZero * aAntiSigmabZero) { 549 theDefinition = aAntiSigmabZero; 550 thePartonInfo.push_back(new G4SPPartonInfo(-2103, -5, 1./3.)); 551 thePartonInfo.push_back(new G4SPPartonInfo(-5203, -1, 1./12.)); 552 thePartonInfo.push_back(new G4SPPartonInfo(-5201, -1, 1./4.)); 553 thePartonInfo.push_back(new G4SPPartonInfo(-5103, -2, 1./12.)); 554 thePartonInfo.push_back(new G4SPPartonInfo(-5101, -2, 1./4.)); 555 } 556 557 558 G4SPBaryon::G4SPBaryon(G4SigmabMinus * aSigmabMinus) { 559 // sigma_b-(ddb) treated as sigma-(dds) replacing s with b. 560 theDefinition = aSigmabMinus; 561 thePartonInfo.push_back(new G4SPPartonInfo(1103, 5, 1./3.)); // dd_1, b 562 thePartonInfo.push_back(new G4SPPartonInfo(5103, 1, 1./6.)); // bd_1, d 563 thePartonInfo.push_back(new G4SPPartonInfo(5101, 1, 1./2.)); // bd_0, d 564 } 565 566 G4SPBaryon::G4SPBaryon(G4AntiSigmabMinus * aAntiSigmabMinus) { 567 theDefinition = aAntiSigmabMinus; 568 thePartonInfo.push_back(new G4SPPartonInfo(-1103, -5, 1./3.)); 569 thePartonInfo.push_back(new G4SPPartonInfo(-5103, -1, 1./6.)); 570 thePartonInfo.push_back(new G4SPPartonInfo(-5101, -1, 1./2.)); 571 } 572 573 574 G4SPBaryon::G4SPBaryon(G4XibZero * aXibZero) { 575 // xi_b0(usb) treated as xi0(uss) replacing s with b. 576 theDefinition = aXibZero; 577 thePartonInfo.push_back(new G4SPPartonInfo(3203, 5, 1./6.)); // su_1, b 578 thePartonInfo.push_back(new G4SPPartonInfo(3201, 5, 1./2.)); // su_0, b 579 thePartonInfo.push_back(new G4SPPartonInfo(5303, 2, 1./3.)); // bs_1, u 580 } 581 582 G4SPBaryon::G4SPBaryon(G4AntiXibZero * aAntiXibZero) { 583 theDefinition = aAntiXibZero; 584 thePartonInfo.push_back(new G4SPPartonInfo(-3203, -5, 1./6.)); 585 thePartonInfo.push_back(new G4SPPartonInfo(-3201, -5, 1./2.)); 586 thePartonInfo.push_back(new G4SPPartonInfo(-5303, -2, 1./3.)); 587 } 588 589 590 G4SPBaryon::G4SPBaryon(G4XibMinus * aXibMinus) { 591 // xi_b-(dsb) treated as xi-(dss) replacing s with b. 592 theDefinition = aXibMinus; 593 thePartonInfo.push_back(new G4SPPartonInfo(3103, 5, 1./6.)); // sd_1, b 594 thePartonInfo.push_back(new G4SPPartonInfo(3101, 5, 1./2.)); // sd_0, b 595 thePartonInfo.push_back(new G4SPPartonInfo(5303, 1, 1./3.)); // bs_1, d 596 } 597 598 G4SPBaryon::G4SPBaryon(G4AntiXibMinus * aAntiXibMinus) { 599 theDefinition = aAntiXibMinus; 600 thePartonInfo.push_back(new G4SPPartonInfo(-3103, -5, 1./6.)); 601 thePartonInfo.push_back(new G4SPPartonInfo(-3101, -5, 1./2.)); 602 thePartonInfo.push_back(new G4SPPartonInfo(-5303, -1, 1./3.)); 603 } 604 605 606 G4SPBaryon::G4SPBaryon(G4OmegabMinus * aOmegabMinus) { 607 // omega_b-(ssb) treated as omega-(sss) replacing s with b. 608 theDefinition = aOmegabMinus; 609 thePartonInfo.push_back(new G4SPPartonInfo(3303, 5, 1.)); // ss_1, b 610 } 611 612 G4SPBaryon::G4SPBaryon(G4AntiOmegabMinus * aAntiOmegabMinus) { 613 theDefinition = aAntiOmegabMinus; 614 thePartonInfo.push_back(new G4SPPartonInfo(-3303, -5, 1.)); 615 } 616