Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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
Definition: G4SPBaryon.cc:130
G4int FindQuark(G4int diQuark) const
Definition: G4SPBaryon.cc:32
G4SPBaryon(G4Proton *aProton)
Definition: G4SPBaryon.cc:159
void SampleQuarkAndDiquark(G4int &quark, G4int &diQuark) const
Definition: G4SPBaryon.cc:100