46 std::vector<double> scalarMesonMix,
47 std::vector<double> vectorMesonMix,
50 mesonSpinMix = mesonMix;
51 barionSpinMix = barionMix;
52 scalarMesonMixings = scalarMesonMix;
53 vectorMesonMixings = vectorMesonMix;
55 ProbEta_c = Eta_cProb;
56 ProbEta_b = Eta_bProb;
63 Spin spin = (
G4UniformRand() < barionSpinMix) ? SpinHalf : SpinThreeHalf;
64 return Barion(black,white,spin);
67 Spin spin = (
G4UniformRand() < mesonSpinMix) ? SpinZero : SpinOne;
68 return Meson(black,white,spin);
77 return Meson(black,white, SpinZero);
80 return Barion(black,white, SpinHalf);
89 return Meson(black,white, SpinOne);
91 return Barion(black,white,SpinThreeHalf);
100 #ifdef debug_Hbuilder
103 if (std::abs(charge) > 2 || std::abs(3.*charge - 3*
G4int(charge*1.001)) > perCent )
106 G4cerr <<
" Invalid total charge found for on input: "
108 G4cerr <<
" PGDcode input quark1/quark2 : " <<
119 if ( std::abs(id1) < std::abs(id2) )
126 G4int abs_id1 = std::abs(id1);
129 throw G4HadronicException(__FILE__, __LINE__,
"G4HadronBuilder::Meson : Illegal Quark content as input");
133 if (id1 + id2 == 0) {
136 G4int imix = 2*std::abs(id1) - 1;
137 if (theSpin == SpinZero) {
138 PDGEncoding = 110*(1 + (
G4int)(rmix + scalarMesonMixings[imix - 1])
139 + (
G4int)(rmix + scalarMesonMixings[imix])
142 PDGEncoding = 110*(1 + (
G4int)(rmix + vectorMesonMixings[imix - 1])
143 + (
G4int)(rmix + vectorMesonMixings[imix])
148 PDGEncoding = abs_id1*100 + abs_id1*10;
150 if (PDGEncoding == 440) {
157 if (PDGEncoding == 550) {
166 PDGEncoding = 100 * std::abs(id1) + 10 * std::abs(id2) + theSpin;
167 G4bool IsUp = (std::abs(id1)&1) == 0;
169 if ( (IsUp && IsAnti ) || (!IsUp && !IsAnti ) ) PDGEncoding = - PDGEncoding;
178 #ifdef debug_heavyHadrons
179 G4int initialPDGEncoding = PDGEncoding;
181 if ( std::abs( PDGEncoding ) == 10411 )
182 ( PDGEncoding > 0 ? PDGEncoding = 411 : PDGEncoding = -411 );
183 else if ( std::abs( PDGEncoding ) == 10421 )
184 ( PDGEncoding > 0 ? PDGEncoding = 421 : PDGEncoding = -421 );
185 else if ( std::abs( PDGEncoding ) == 413 )
186 ( PDGEncoding > 0 ? PDGEncoding = 411 : PDGEncoding = -411 );
187 else if ( std::abs( PDGEncoding ) == 423 )
188 ( PDGEncoding > 0 ? PDGEncoding = 421 : PDGEncoding = -421 );
189 else if ( std::abs( PDGEncoding ) == 10413 )
190 ( PDGEncoding > 0 ? PDGEncoding = 411 : PDGEncoding = -411 );
191 else if ( std::abs( PDGEncoding ) == 10423 )
192 ( PDGEncoding > 0 ? PDGEncoding = 421 : PDGEncoding = -421 );
193 else if ( std::abs( PDGEncoding ) == 20413 )
194 ( PDGEncoding > 0 ? PDGEncoding = 411 : PDGEncoding = -411 );
195 else if ( std::abs( PDGEncoding ) == 20423 )
196 ( PDGEncoding > 0 ? PDGEncoding = 421 : PDGEncoding = -421 );
197 else if ( std::abs( PDGEncoding ) == 415 )
198 ( PDGEncoding > 0 ? PDGEncoding = 411 : PDGEncoding = -411 );
199 else if ( std::abs( PDGEncoding ) == 425 )
200 ( PDGEncoding > 0 ? PDGEncoding = 421 : PDGEncoding = -421 );
201 else if ( std::abs( PDGEncoding ) == 10431 )
202 ( PDGEncoding > 0 ? PDGEncoding = 431 : PDGEncoding = -431 );
203 else if ( std::abs( PDGEncoding ) == 433 )
204 ( PDGEncoding > 0 ? PDGEncoding = 431 : PDGEncoding = -431 );
205 else if ( std::abs( PDGEncoding ) == 10433 )
206 ( PDGEncoding > 0 ? PDGEncoding = 431 : PDGEncoding = -431 );
207 else if ( std::abs( PDGEncoding ) == 20433 )
208 ( PDGEncoding > 0 ? PDGEncoding = 431 : PDGEncoding = -431 );
209 else if ( std::abs( PDGEncoding ) == 435 )
210 ( PDGEncoding > 0 ? PDGEncoding = 431 : PDGEncoding = -431 );
211 else if ( std::abs( PDGEncoding ) == 10441 ) PDGEncoding = 441;
212 else if ( std::abs( PDGEncoding ) == 100441 ) PDGEncoding = 441;
213 else if ( std::abs( PDGEncoding ) == 10443 ) PDGEncoding = 443;
214 else if ( std::abs( PDGEncoding ) == 20443 ) PDGEncoding = 443;
215 else if ( std::abs( PDGEncoding ) == 100443 ) PDGEncoding = 443;
216 else if ( std::abs( PDGEncoding ) == 30443 ) PDGEncoding = 443;
217 else if ( std::abs( PDGEncoding ) == 9000443 ) PDGEncoding = 443;
218 else if ( std::abs( PDGEncoding ) == 9010443 ) PDGEncoding = 443;
219 else if ( std::abs( PDGEncoding ) == 9020443 ) PDGEncoding = 443;
220 else if ( std::abs( PDGEncoding ) == 445 ) PDGEncoding = 443;
221 else if ( std::abs( PDGEncoding ) == 100445 ) PDGEncoding = 443;
223 else if ( std::abs( PDGEncoding ) == 10511 )
224 ( PDGEncoding > 0 ? PDGEncoding = 511 : PDGEncoding = -511 );
225 else if ( std::abs( PDGEncoding ) == 10521 )
226 ( PDGEncoding > 0 ? PDGEncoding = 521 : PDGEncoding = -521 );
227 else if ( std::abs( PDGEncoding ) == 513 )
228 ( PDGEncoding > 0 ? PDGEncoding = 511 : PDGEncoding = -511 );
229 else if ( std::abs( PDGEncoding ) == 523 )
230 ( PDGEncoding > 0 ? PDGEncoding = 521 : PDGEncoding = -521 );
231 else if ( std::abs( PDGEncoding ) == 10513 )
232 ( PDGEncoding > 0 ? PDGEncoding = 511 : PDGEncoding = -511 );
233 else if ( std::abs( PDGEncoding ) == 10523 )
234 ( PDGEncoding > 0 ? PDGEncoding = 521 : PDGEncoding = -521 );
235 else if ( std::abs( PDGEncoding ) == 20513 )
236 ( PDGEncoding > 0 ? PDGEncoding = 511 : PDGEncoding = -511 );
237 else if ( std::abs( PDGEncoding ) == 20523 )
238 ( PDGEncoding > 0 ? PDGEncoding = 521 : PDGEncoding = -521 );
239 else if ( std::abs( PDGEncoding ) == 515 )
240 ( PDGEncoding > 0 ? PDGEncoding = 511 : PDGEncoding = -511 );
241 else if ( std::abs( PDGEncoding ) == 525 )
242 ( PDGEncoding > 0 ? PDGEncoding = 521 : PDGEncoding = -521 );
243 else if ( std::abs( PDGEncoding ) == 10531 )
244 ( PDGEncoding > 0 ? PDGEncoding = 531 : PDGEncoding = -531 );
245 else if ( std::abs( PDGEncoding ) == 533 )
246 ( PDGEncoding > 0 ? PDGEncoding = 531 : PDGEncoding = -531 );
247 else if ( std::abs( PDGEncoding ) == 10533 )
248 ( PDGEncoding > 0 ? PDGEncoding = 531 : PDGEncoding = -531 );
249 else if ( std::abs( PDGEncoding ) == 20533 )
250 ( PDGEncoding > 0 ? PDGEncoding = 531 : PDGEncoding = -531 );
251 else if ( std::abs( PDGEncoding ) == 535 )
252 ( PDGEncoding > 0 ? PDGEncoding = 531 : PDGEncoding = -531 );
253 else if ( std::abs( PDGEncoding ) == 10541 )
254 ( PDGEncoding > 0 ? PDGEncoding = 541 : PDGEncoding = -541 );
255 else if ( std::abs( PDGEncoding ) == 543 )
256 ( PDGEncoding > 0 ? PDGEncoding = 541 : PDGEncoding = -541 );
257 else if ( std::abs( PDGEncoding ) == 10543 )
258 ( PDGEncoding > 0 ? PDGEncoding = 541 : PDGEncoding = -541 );
259 else if ( std::abs( PDGEncoding ) == 20543 )
260 ( PDGEncoding > 0 ? PDGEncoding = 541 : PDGEncoding = -541 );
261 else if ( std::abs( PDGEncoding ) == 545 )
262 ( PDGEncoding > 0 ? PDGEncoding = 541 : PDGEncoding = -541 );
263 else if ( std::abs( PDGEncoding ) == 551 ) PDGEncoding = 553;
264 else if ( std::abs( PDGEncoding ) == 10551 ) PDGEncoding = 553;
265 else if ( std::abs( PDGEncoding ) == 100551 ) PDGEncoding = 553;
266 else if ( std::abs( PDGEncoding ) == 110551 ) PDGEncoding = 553;
267 else if ( std::abs( PDGEncoding ) == 200551 ) PDGEncoding = 553;
268 else if ( std::abs( PDGEncoding ) == 210551 ) PDGEncoding = 553;
269 else if ( std::abs( PDGEncoding ) == 10553 ) PDGEncoding = 553;
270 else if ( std::abs( PDGEncoding ) == 20553 ) PDGEncoding = 553;
271 else if ( std::abs( PDGEncoding ) == 30553 ) PDGEncoding = 553;
272 else if ( std::abs( PDGEncoding ) == 100553 ) PDGEncoding = 553;
273 else if ( std::abs( PDGEncoding ) == 110553 ) PDGEncoding = 553;
274 else if ( std::abs( PDGEncoding ) == 120553 ) PDGEncoding = 553;
275 else if ( std::abs( PDGEncoding ) == 130553 ) PDGEncoding = 553;
276 else if ( std::abs( PDGEncoding ) == 200553 ) PDGEncoding = 553;
277 else if ( std::abs( PDGEncoding ) == 210553 ) PDGEncoding = 553;
278 else if ( std::abs( PDGEncoding ) == 220553 ) PDGEncoding = 553;
279 else if ( std::abs( PDGEncoding ) == 300553 ) PDGEncoding = 553;
280 else if ( std::abs( PDGEncoding ) == 9000553 ) PDGEncoding = 553;
281 else if ( std::abs( PDGEncoding ) == 9010553 ) PDGEncoding = 553;
282 else if ( std::abs( PDGEncoding ) == 555 ) PDGEncoding = 553;
283 else if ( std::abs( PDGEncoding ) == 10555 ) PDGEncoding = 553;
284 else if ( std::abs( PDGEncoding ) == 20555 ) PDGEncoding = 553;
285 else if ( std::abs( PDGEncoding ) == 100555 ) PDGEncoding = 553;
286 else if ( std::abs( PDGEncoding ) == 110555 ) PDGEncoding = 553;
287 else if ( std::abs( PDGEncoding ) == 120555 ) PDGEncoding = 553;
288 else if ( std::abs( PDGEncoding ) == 200555 ) PDGEncoding = 553;
289 else if ( std::abs( PDGEncoding ) == 557 ) PDGEncoding = 553;
290 else if ( std::abs( PDGEncoding ) == 100557 ) PDGEncoding = 553;
291 #ifdef debug_heavyHadrons
292 if ( initialPDGEncoding != PDGEncoding ) {
293 G4cout <<
"G4HadronBuilder::Meson : forcing (inexisting in G4) heavy meson with pdgCode="
294 << initialPDGEncoding <<
" into pdgCode=" << PDGEncoding <<
G4endl;
302 #ifdef debug_Hbuilder
303 if (MesonDef == 0 ) {
304 G4cerr <<
" G4HadronBuilder - Warning: No particle for PDGcode= "
309 G4cerr <<
" G4HadronBuilder - Warning: Incorrect Charge : "
325 #ifdef debug_Hbuilder
328 if (std::abs(charge) > 2 || std::abs(3.*charge - 3*
G4int(charge*1.001)) > perCent )
331 G4cerr <<
" Invalid total charge found for on input: "
333 G4cerr <<
" PGDcode input quark1/quark2 : " <<
343 if ( std::abs(id1) < std::abs(id2) )
350 if (std::abs(id1) < 1000 || std::abs(id2) > 5 )
351 throw G4HadronicException(__FILE__, __LINE__,
"G4HadronBuilder::Barion: Illegal quark content as input");
353 G4int ifl1= std::abs(id1)/1000;
354 G4int ifl2 = (std::abs(id1) - ifl1 * 1000)/100;
355 G4int diquarkSpin = std::abs(id1)%10;
363 G4int kfla = std::abs(ifl1);
364 G4int kflb = std::abs(ifl2);
365 G4int kflc = std::abs(ifl3);
367 G4int kfld = std::max(kfla,kflb);
368 kfld = std::max(kfld,kflc);
369 G4int kflf = std::min(kfla,kflb);
370 kflf = std::min(kflf,kflc);
372 G4int kfle = kfla + kflb + kflc - kfld - kflf;
375 theSpin = (kfla == kflb && kflb == kflc)? SpinThreeHalf : theSpin;
379 if (theSpin == SpinHalf && kfld > kfle && kfle > kflf) {
384 if (diquarkSpin == 1 ) {
391 if (diquarkSpin == 3 && kfla != kfld)
398 PDGEncoding = 1000 * kfld + 100 * kflf + 10 * kfle + theSpin;
400 PDGEncoding = 1000 * kfld + 100 * kfle + 10 * kflf + theSpin;
403 PDGEncoding = -PDGEncoding;
419 #ifdef debug_heavyHadrons
420 G4int charmViolation = 0, bottomViolation = 0;
421 G4int initialPDGEncoding = PDGEncoding;
423 if ( std::abs( PDGEncoding ) == 4224 ) {
424 ( PDGEncoding > 0 ? PDGEncoding = 4222 : PDGEncoding = -4222 );
425 }
else if ( std::abs( PDGEncoding ) == 4214 ) {
426 ( PDGEncoding > 0 ? PDGEncoding = 4212 : PDGEncoding = -4212 );
427 }
else if ( std::abs( PDGEncoding ) == 4114 ) {
428 ( PDGEncoding > 0 ? PDGEncoding = 4112 : PDGEncoding = -4112 );
429 }
else if ( std::abs( PDGEncoding ) == 4322 ) {
430 ( PDGEncoding > 0 ? PDGEncoding = 4232 : PDGEncoding = -4232 );
431 }
else if ( std::abs( PDGEncoding ) == 4312 ) {
432 ( PDGEncoding > 0 ? PDGEncoding = 4132 : PDGEncoding = -4132 );
433 }
else if ( std::abs( PDGEncoding ) == 4324 ) {
434 ( PDGEncoding > 0 ? PDGEncoding = 4232 : PDGEncoding = -4232 );
435 }
else if ( std::abs( PDGEncoding ) == 4314 ) {
436 ( PDGEncoding > 0 ? PDGEncoding = 4132 : PDGEncoding = -4132 );
437 }
else if ( std::abs( PDGEncoding ) == 4334 ) {
438 ( PDGEncoding > 0 ? PDGEncoding = 4332 : PDGEncoding = -4332 );
439 }
else if ( std::abs( PDGEncoding ) == 4412 ) {
440 ( PDGEncoding > 0 ? PDGEncoding = 4232 : PDGEncoding = -4232 );
441 #ifdef debug_heavyHadrons
444 }
else if ( std::abs( PDGEncoding ) == 4422 ) {
445 ( PDGEncoding > 0 ? PDGEncoding = 4222 : PDGEncoding = -4222 );
446 #ifdef debug_heavyHadrons
449 }
else if ( std::abs( PDGEncoding ) == 4414 ) {
450 ( PDGEncoding > 0 ? PDGEncoding = 4232 : PDGEncoding = -4232 );
451 #ifdef debug_heavyHadrons
454 }
else if ( std::abs( PDGEncoding ) == 4424 ) {
455 ( PDGEncoding > 0 ? PDGEncoding = 4222 : PDGEncoding = -4222 );
456 #ifdef debug_heavyHadrons
459 }
else if ( std::abs( PDGEncoding ) == 4432 ) {
460 ( PDGEncoding > 0 ? PDGEncoding = 4232 : PDGEncoding = -4232 );
461 #ifdef debug_heavyHadrons
464 }
else if ( std::abs( PDGEncoding ) == 4434 ) {
465 ( PDGEncoding > 0 ? PDGEncoding = 4232 : PDGEncoding = -4232 );
466 #ifdef debug_heavyHadrons
469 }
else if ( std::abs( PDGEncoding ) == 4444 ) {
470 ( PDGEncoding > 0 ? PDGEncoding = 4222 : PDGEncoding = -4222 );
471 #ifdef debug_heavyHadrons
475 }
else if ( std::abs( PDGEncoding ) == 5114 ) {
476 ( PDGEncoding > 0 ? PDGEncoding = 5112 : PDGEncoding = -5112 );
477 }
else if ( std::abs( PDGEncoding ) == 5214 ) {
478 ( PDGEncoding > 0 ? PDGEncoding = 5212 : PDGEncoding = -5212 );
479 }
else if ( std::abs( PDGEncoding ) == 5224 ) {
480 ( PDGEncoding > 0 ? PDGEncoding = 5222 : PDGEncoding = -5222 );
481 }
else if ( std::abs( PDGEncoding ) == 5312 ) {
482 ( PDGEncoding > 0 ? PDGEncoding = 5132 : PDGEncoding = -5132 );
483 }
else if ( std::abs( PDGEncoding ) == 5322 ) {
484 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
485 }
else if ( std::abs( PDGEncoding ) == 5314 ) {
486 ( PDGEncoding > 0 ? PDGEncoding = 5132 : PDGEncoding = -5132 );
487 }
else if ( std::abs( PDGEncoding ) == 5324 ) {
488 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
489 }
else if ( std::abs( PDGEncoding ) == 5334 ) {
490 ( PDGEncoding > 0 ? PDGEncoding = 5332 : PDGEncoding = -5332 );
491 }
else if ( std::abs( PDGEncoding ) == 5142 ) {
492 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
493 #ifdef debug_heavyHadrons
496 }
else if ( std::abs( PDGEncoding ) == 5242 ) {
497 ( PDGEncoding > 0 ? PDGEncoding = 5222 : PDGEncoding = -5222 );
498 #ifdef debug_heavyHadrons
501 }
else if ( std::abs( PDGEncoding ) == 5412 ) {
502 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
503 #ifdef debug_heavyHadrons
506 }
else if ( std::abs( PDGEncoding ) == 5422 ) {
507 ( PDGEncoding > 0 ? PDGEncoding = 5222 : PDGEncoding = -5222 );
508 #ifdef debug_heavyHadrons
511 }
else if ( std::abs( PDGEncoding ) == 5414 ) {
512 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
513 #ifdef debug_heavyHadrons
516 }
else if ( std::abs( PDGEncoding ) == 5424 ) {
517 ( PDGEncoding > 0 ? PDGEncoding = 5222 : PDGEncoding = -5222 );
518 #ifdef debug_heavyHadrons
521 }
else if ( std::abs( PDGEncoding ) == 5342 ) {
522 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
523 #ifdef debug_heavyHadrons
526 }
else if ( std::abs( PDGEncoding ) == 5432 ) {
527 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
528 #ifdef debug_heavyHadrons
531 }
else if ( std::abs( PDGEncoding ) == 5434 ) {
532 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
533 #ifdef debug_heavyHadrons
536 }
else if ( std::abs( PDGEncoding ) == 5442 ) {
537 ( PDGEncoding > 0 ? PDGEncoding = 5222 : PDGEncoding = -5222 );
538 #ifdef debug_heavyHadrons
541 }
else if ( std::abs( PDGEncoding ) == 5444 ) {
542 ( PDGEncoding > 0 ? PDGEncoding = 5222 : PDGEncoding = -5222 );
543 #ifdef debug_heavyHadrons
546 }
else if ( std::abs( PDGEncoding ) == 5512 ) {
547 ( PDGEncoding > 0 ? PDGEncoding = 5132 : PDGEncoding = -5132 );
548 #ifdef debug_heavyHadrons
551 }
else if ( std::abs( PDGEncoding ) == 5522 ) {
552 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
553 #ifdef debug_heavyHadrons
556 }
else if ( std::abs( PDGEncoding ) == 5514 ) {
557 ( PDGEncoding > 0 ? PDGEncoding = 5132 : PDGEncoding = -5132 );
558 #ifdef debug_heavyHadrons
561 }
else if ( std::abs( PDGEncoding ) == 5524 ) {
562 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
563 #ifdef debug_heavyHadrons
566 }
else if ( std::abs( PDGEncoding ) == 5532 ) {
567 ( PDGEncoding > 0 ? PDGEncoding = 5332 : PDGEncoding = -5332 );
568 #ifdef debug_heavyHadrons
571 }
else if ( std::abs( PDGEncoding ) == 5534 ) {
572 ( PDGEncoding > 0 ? PDGEncoding = 5332 : PDGEncoding = -5332 );
573 #ifdef debug_heavyHadrons
576 }
else if ( std::abs( PDGEncoding ) == 5542 ) {
577 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
578 #ifdef debug_heavyHadrons
579 charmViolation = 1; bottomViolation = 1;
581 }
else if ( std::abs( PDGEncoding ) == 5544 ) {
582 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
583 #ifdef debug_heavyHadrons
584 charmViolation = 1; bottomViolation = 1;
586 }
else if ( std::abs( PDGEncoding ) == 5554 ) {
587 ( PDGEncoding > 0 ? PDGEncoding = 5332 : PDGEncoding = -5332 );
588 #ifdef debug_heavyHadrons
592 #ifdef debug_heavyHadrons
593 if ( initialPDGEncoding != PDGEncoding ) {
594 G4cout <<
"G4HadronBuilder::Barion : forcing (inexisting in G4) heavy baryon with pdgCode="
595 << initialPDGEncoding <<
" into pdgCode=" << PDGEncoding <<
G4endl;
596 if ( charmViolation != 0 || bottomViolation != 0 ) {
597 G4cout <<
"\t --> VIOLATION of " << ( charmViolation != 0 ?
" CHARM " :
" " )
598 << ( charmViolation != 0 && bottomViolation != 0 ?
" and " :
" " )
599 << ( bottomViolation != 0 ?
" BOTTOM " :
" " ) <<
" quantum number ! " <<
G4endl;
608 #ifdef debug_Hbuilder
609 if (BarionDef == 0 ) {
610 G4cerr <<
" G4HadronBuilder - Warning: No particle for PDGcode= "
614 G4cerr <<
" G4HadronBuilder - Warning: Incorrect Charge : "
615 <<
" DiQuark/Quark = "
G4GLOB_DLL std::ostream G4cerr
G4GLOB_DLL std::ostream G4cout
G4ParticleDefinition * Build(G4ParticleDefinition *black, G4ParticleDefinition *white)
G4ParticleDefinition * BuildLowSpin(G4ParticleDefinition *black, G4ParticleDefinition *white)
G4ParticleDefinition * BuildHighSpin(G4ParticleDefinition *black, G4ParticleDefinition *white)
G4HadronBuilder(G4double mesonMix, G4double barionMix, std::vector< double > scalarMesonMix, std::vector< double > vectorMesonMix, G4double Eta_cProb, G4double Eta_bProb)
G4int GetPDGEncoding() const
G4double GetPDGCharge() const
const G4String & GetParticleName() const
const G4String & GetParticleSubType() const
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
static G4ParticleTable * GetParticleTable()