Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4SPBaryon.cc
Go to the documentation of this file.
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
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
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
73MatchDiQuarkAndGetQuark(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
100SampleQuarkAndDiquark(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
130FindDiquark(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
159G4SPBaryon(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
168G4SPBaryon(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
178G4SPBaryon(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
187G4SPBaryon(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
197G4SPBaryon(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
208G4SPBaryon(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
220G4SPBaryon(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
229G4SPBaryon(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
239G4SPBaryon(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
250G4SPBaryon(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
262G4SPBaryon(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
271G4SPBaryon(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
281G4SPBaryon(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
290G4SPBaryon(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
300G4SPBaryon(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
309G4SPBaryon(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
319G4SPBaryon(G4OmegaMinus * anOmegaMinus)
320{
321 theDefinition = anOmegaMinus;
322 thePartonInfo.push_back(new G4SPPartonInfo(3303, 3, 1.)); // ss_1, s
323}
324
326G4SPBaryon(G4AntiOmegaMinus * anAntiOmegaMinus)
327{
328 theDefinition = anAntiOmegaMinus;
329 thePartonInfo.push_back(new G4SPPartonInfo(-3303, -3, 1.));
330}
331
332
333// non static particles
335G4SPBaryon(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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
497 theDefinition = aAntiOmegacZero;
498 thePartonInfo.push_back(new G4SPPartonInfo(-3303, -4, 1.));
499}
500
501
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
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
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
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
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
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
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
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
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
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
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
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
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
613 theDefinition = aAntiOmegabMinus;
614 thePartonInfo.push_back(new G4SPPartonInfo(-3303, -5, 1.));
615}
double G4double
Definition G4Types.hh:83
int G4int
Definition G4Types.hh:85
#define G4UniformRand()
Definition Randomize.hh:52
static G4ParticleTable * GetParticleTable()
G4int MatchDiQuarkAndGetQuark(const G4SPBaryon &aBaryon, G4int &aDiQuark) const
Definition G4SPBaryon.cc:73
G4double GetProbability(G4int diQuark) const
Definition G4SPBaryon.cc:56
void FindDiquark(G4int quark, G4int &diQuark) const
G4int FindQuark(G4int diQuark) const
Definition G4SPBaryon.cc:32
G4SPBaryon(G4Proton *aProton)
void SampleQuarkAndDiquark(G4int &quark, G4int &diQuark) const