46 const std::vector<G4double> & scalarMesonMix,
47 const std::vector<G4double> & vectorMesonMix,
50 mesonSpinMix = mesonMix;
51 barionSpinMix = barionMix;
52 scalarMesonMixings = scalarMesonMix;
53 vectorMesonMixings = vectorMesonMix;
54 ProbEta_c = Eta_cProb;
55 ProbEta_b = Eta_bProb;
64 Spin spin = (
G4UniformRand() < barionSpinMix) ? SpinHalf : SpinThreeHalf;
65 return Barion(black,white,spin);
71 Spin spin = (
G4UniformRand() < mesonSpinMix[StrangeQ]) ? SpinZero : SpinOne;
72 return Meson(black,white,spin);
81 return Meson(black,white, SpinZero);
84 return Barion(black,white, SpinHalf);
93 return Meson(black,white, SpinOne);
95 return Barion(black,white,SpinThreeHalf);
104 #ifdef debug_Hbuilder
107 if (std::abs(charge) > 2 || std::abs(3.*charge - 3*
G4int(charge*1.001)) > perCent )
110 G4cerr <<
" Invalid total charge found for on input: "
112 G4cerr <<
" PGDcode input quark1/quark2 : " <<
123 if ( std::abs(id1) < std::abs(id2) )
130 G4int abs_id1 = std::abs(id1);
133 throw G4HadronicException(__FILE__, __LINE__,
"G4HadronBuilder::Meson : Illegal Quark content as input");
137 if (id1 + id2 == 0) {
140 G4int imix = 2*std::abs(id1) - 1;
141 if (theSpin == SpinZero) {
142 PDGEncoding = 110*(1 + (
G4int)(rmix + scalarMesonMixings[imix - 1])
143 + (
G4int)(rmix + scalarMesonMixings[imix])
146 PDGEncoding = 110*(1 + (
G4int)(rmix + vectorMesonMixings[imix - 1])
147 + (
G4int)(rmix + vectorMesonMixings[imix])
152 PDGEncoding = abs_id1*100 + abs_id1*10;
154 if (PDGEncoding == 440) {
161 if (PDGEncoding == 550) {
170 PDGEncoding = 100 * std::abs(id1) + 10 * std::abs(id2) + theSpin;
171 G4bool IsUp = (std::abs(id1)&1) == 0;
173 if ( (IsUp && IsAnti ) || (!IsUp && !IsAnti ) ) PDGEncoding = - PDGEncoding;
182 #ifdef debug_heavyHadrons
183 G4int initialPDGEncoding = PDGEncoding;
185 if ( std::abs( PDGEncoding ) == 10411 )
186 ( PDGEncoding > 0 ? PDGEncoding = 411 : PDGEncoding = -411 );
187 else if ( std::abs( PDGEncoding ) == 10421 )
188 ( PDGEncoding > 0 ? PDGEncoding = 421 : PDGEncoding = -421 );
189 else if ( std::abs( PDGEncoding ) == 413 )
190 ( PDGEncoding > 0 ? PDGEncoding = 411 : PDGEncoding = -411 );
191 else if ( std::abs( PDGEncoding ) == 423 )
192 ( PDGEncoding > 0 ? PDGEncoding = 421 : PDGEncoding = -421 );
193 else if ( std::abs( PDGEncoding ) == 10413 )
194 ( PDGEncoding > 0 ? PDGEncoding = 411 : PDGEncoding = -411 );
195 else if ( std::abs( PDGEncoding ) == 10423 )
196 ( PDGEncoding > 0 ? PDGEncoding = 421 : PDGEncoding = -421 );
197 else if ( std::abs( PDGEncoding ) == 20413 )
198 ( PDGEncoding > 0 ? PDGEncoding = 411 : PDGEncoding = -411 );
199 else if ( std::abs( PDGEncoding ) == 20423 )
200 ( PDGEncoding > 0 ? PDGEncoding = 421 : PDGEncoding = -421 );
201 else if ( std::abs( PDGEncoding ) == 415 )
202 ( PDGEncoding > 0 ? PDGEncoding = 411 : PDGEncoding = -411 );
203 else if ( std::abs( PDGEncoding ) == 425 )
204 ( PDGEncoding > 0 ? PDGEncoding = 421 : PDGEncoding = -421 );
205 else if ( std::abs( PDGEncoding ) == 10431 )
206 ( PDGEncoding > 0 ? PDGEncoding = 431 : PDGEncoding = -431 );
207 else if ( std::abs( PDGEncoding ) == 433 )
208 ( PDGEncoding > 0 ? PDGEncoding = 431 : PDGEncoding = -431 );
209 else if ( std::abs( PDGEncoding ) == 10433 )
210 ( PDGEncoding > 0 ? PDGEncoding = 431 : PDGEncoding = -431 );
211 else if ( std::abs( PDGEncoding ) == 20433 )
212 ( PDGEncoding > 0 ? PDGEncoding = 431 : PDGEncoding = -431 );
213 else if ( std::abs( PDGEncoding ) == 435 )
214 ( PDGEncoding > 0 ? PDGEncoding = 431 : PDGEncoding = -431 );
215 else if ( std::abs( PDGEncoding ) == 10441 ) PDGEncoding = 441;
216 else if ( std::abs( PDGEncoding ) == 100441 ) PDGEncoding = 441;
217 else if ( std::abs( PDGEncoding ) == 10443 ) PDGEncoding = 443;
218 else if ( std::abs( PDGEncoding ) == 20443 ) PDGEncoding = 443;
219 else if ( std::abs( PDGEncoding ) == 100443 ) PDGEncoding = 443;
220 else if ( std::abs( PDGEncoding ) == 30443 ) PDGEncoding = 443;
221 else if ( std::abs( PDGEncoding ) == 9000443 ) PDGEncoding = 443;
222 else if ( std::abs( PDGEncoding ) == 9010443 ) PDGEncoding = 443;
223 else if ( std::abs( PDGEncoding ) == 9020443 ) PDGEncoding = 443;
224 else if ( std::abs( PDGEncoding ) == 445 ) PDGEncoding = 443;
225 else if ( std::abs( PDGEncoding ) == 100445 ) PDGEncoding = 443;
227 else if ( std::abs( PDGEncoding ) == 10511 )
228 ( PDGEncoding > 0 ? PDGEncoding = 511 : PDGEncoding = -511 );
229 else if ( std::abs( PDGEncoding ) == 10521 )
230 ( PDGEncoding > 0 ? PDGEncoding = 521 : PDGEncoding = -521 );
231 else if ( std::abs( PDGEncoding ) == 513 )
232 ( PDGEncoding > 0 ? PDGEncoding = 511 : PDGEncoding = -511 );
233 else if ( std::abs( PDGEncoding ) == 523 )
234 ( PDGEncoding > 0 ? PDGEncoding = 521 : PDGEncoding = -521 );
235 else if ( std::abs( PDGEncoding ) == 10513 )
236 ( PDGEncoding > 0 ? PDGEncoding = 511 : PDGEncoding = -511 );
237 else if ( std::abs( PDGEncoding ) == 10523 )
238 ( PDGEncoding > 0 ? PDGEncoding = 521 : PDGEncoding = -521 );
239 else if ( std::abs( PDGEncoding ) == 20513 )
240 ( PDGEncoding > 0 ? PDGEncoding = 511 : PDGEncoding = -511 );
241 else if ( std::abs( PDGEncoding ) == 20523 )
242 ( PDGEncoding > 0 ? PDGEncoding = 521 : PDGEncoding = -521 );
243 else if ( std::abs( PDGEncoding ) == 515 )
244 ( PDGEncoding > 0 ? PDGEncoding = 511 : PDGEncoding = -511 );
245 else if ( std::abs( PDGEncoding ) == 525 )
246 ( PDGEncoding > 0 ? PDGEncoding = 521 : PDGEncoding = -521 );
247 else if ( std::abs( PDGEncoding ) == 10531 )
248 ( PDGEncoding > 0 ? PDGEncoding = 531 : PDGEncoding = -531 );
249 else if ( std::abs( PDGEncoding ) == 533 )
250 ( PDGEncoding > 0 ? PDGEncoding = 531 : PDGEncoding = -531 );
251 else if ( std::abs( PDGEncoding ) == 10533 )
252 ( PDGEncoding > 0 ? PDGEncoding = 531 : PDGEncoding = -531 );
253 else if ( std::abs( PDGEncoding ) == 20533 )
254 ( PDGEncoding > 0 ? PDGEncoding = 531 : PDGEncoding = -531 );
255 else if ( std::abs( PDGEncoding ) == 535 )
256 ( PDGEncoding > 0 ? PDGEncoding = 531 : PDGEncoding = -531 );
257 else if ( std::abs( PDGEncoding ) == 10541 )
258 ( PDGEncoding > 0 ? PDGEncoding = 541 : PDGEncoding = -541 );
259 else if ( std::abs( PDGEncoding ) == 543 )
260 ( PDGEncoding > 0 ? PDGEncoding = 541 : PDGEncoding = -541 );
261 else if ( std::abs( PDGEncoding ) == 10543 )
262 ( PDGEncoding > 0 ? PDGEncoding = 541 : PDGEncoding = -541 );
263 else if ( std::abs( PDGEncoding ) == 20543 )
264 ( PDGEncoding > 0 ? PDGEncoding = 541 : PDGEncoding = -541 );
265 else if ( std::abs( PDGEncoding ) == 545 )
266 ( PDGEncoding > 0 ? PDGEncoding = 541 : PDGEncoding = -541 );
267 else if ( std::abs( PDGEncoding ) == 551 ) PDGEncoding = 553;
268 else if ( std::abs( PDGEncoding ) == 10551 ) PDGEncoding = 553;
269 else if ( std::abs( PDGEncoding ) == 100551 ) PDGEncoding = 553;
270 else if ( std::abs( PDGEncoding ) == 110551 ) PDGEncoding = 553;
271 else if ( std::abs( PDGEncoding ) == 200551 ) PDGEncoding = 553;
272 else if ( std::abs( PDGEncoding ) == 210551 ) PDGEncoding = 553;
273 else if ( std::abs( PDGEncoding ) == 10553 ) PDGEncoding = 553;
274 else if ( std::abs( PDGEncoding ) == 20553 ) PDGEncoding = 553;
275 else if ( std::abs( PDGEncoding ) == 30553 ) PDGEncoding = 553;
276 else if ( std::abs( PDGEncoding ) == 100553 ) PDGEncoding = 553;
277 else if ( std::abs( PDGEncoding ) == 110553 ) PDGEncoding = 553;
278 else if ( std::abs( PDGEncoding ) == 120553 ) PDGEncoding = 553;
279 else if ( std::abs( PDGEncoding ) == 130553 ) PDGEncoding = 553;
280 else if ( std::abs( PDGEncoding ) == 200553 ) PDGEncoding = 553;
281 else if ( std::abs( PDGEncoding ) == 210553 ) PDGEncoding = 553;
282 else if ( std::abs( PDGEncoding ) == 220553 ) PDGEncoding = 553;
283 else if ( std::abs( PDGEncoding ) == 300553 ) PDGEncoding = 553;
284 else if ( std::abs( PDGEncoding ) == 9000553 ) PDGEncoding = 553;
285 else if ( std::abs( PDGEncoding ) == 9010553 ) PDGEncoding = 553;
286 else if ( std::abs( PDGEncoding ) == 555 ) PDGEncoding = 553;
287 else if ( std::abs( PDGEncoding ) == 10555 ) PDGEncoding = 553;
288 else if ( std::abs( PDGEncoding ) == 20555 ) PDGEncoding = 553;
289 else if ( std::abs( PDGEncoding ) == 100555 ) PDGEncoding = 553;
290 else if ( std::abs( PDGEncoding ) == 110555 ) PDGEncoding = 553;
291 else if ( std::abs( PDGEncoding ) == 120555 ) PDGEncoding = 553;
292 else if ( std::abs( PDGEncoding ) == 200555 ) PDGEncoding = 553;
293 else if ( std::abs( PDGEncoding ) == 557 ) PDGEncoding = 553;
294 else if ( std::abs( PDGEncoding ) == 100557 ) PDGEncoding = 553;
295 #ifdef debug_heavyHadrons
296 if ( initialPDGEncoding != PDGEncoding ) {
297 G4cout <<
"G4HadronBuilder::Meson : forcing (inexisting in G4) heavy meson with pdgCode="
298 << initialPDGEncoding <<
" into pdgCode=" << PDGEncoding <<
G4endl;
306 #ifdef debug_Hbuilder
307 if (MesonDef == 0 ) {
308 G4cerr <<
" G4HadronBuilder - Warning: No particle for PDGcode= "
312 G4cerr <<
" G4HadronBuilder - Warning: Incorrect Charge : "
329 #ifdef debug_Hbuilder
332 if (std::abs(charge) > 2 || std::abs(3.*charge - 3*
G4int(charge*1.001)) > perCent )
335 G4cerr <<
" Invalid total charge found for on input: "
337 G4cerr <<
" PGDcode input quark1/quark2 : " <<
347 if ( std::abs(id1) < std::abs(id2) )
354 if (std::abs(id1) < 1000 || std::abs(id2) > 5 )
355 throw G4HadronicException(__FILE__, __LINE__,
"G4HadronBuilder::Barion: Illegal quark content as input");
357 G4int ifl1= std::abs(id1)/1000;
358 G4int ifl2 = (std::abs(id1) - ifl1 * 1000)/100;
359 G4int diquarkSpin = std::abs(id1)%10;
367 G4int kfla = std::abs(ifl1);
368 G4int kflb = std::abs(ifl2);
369 G4int kflc = std::abs(ifl3);
371 G4int kfld = std::max(kfla,kflb);
372 kfld = std::max(kfld,kflc);
373 G4int kflf = std::min(kfla,kflb);
374 kflf = std::min(kflf,kflc);
376 G4int kfle = kfla + kflb + kflc - kfld - kflf;
379 theSpin = (kfla == kflb && kflb == kflc)? SpinThreeHalf : theSpin;
383 if (theSpin == SpinHalf && kfld > kfle && kfle > kflf) {
388 if (diquarkSpin == 1 ) {
395 if (diquarkSpin == 3 && kfla != kfld)
402 PDGEncoding = 1000 * kfld + 100 * kflf + 10 * kfle + theSpin;
404 PDGEncoding = 1000 * kfld + 100 * kfle + 10 * kflf + theSpin;
407 PDGEncoding = -PDGEncoding;
423 #ifdef debug_heavyHadrons
424 G4int charmViolation = 0, bottomViolation = 0;
425 G4int initialPDGEncoding = PDGEncoding;
427 if ( std::abs( PDGEncoding ) == 4224 ) {
428 ( PDGEncoding > 0 ? PDGEncoding = 4222 : PDGEncoding = -4222 );
429 }
else if ( std::abs( PDGEncoding ) == 4214 ) {
430 ( PDGEncoding > 0 ? PDGEncoding = 4212 : PDGEncoding = -4212 );
431 }
else if ( std::abs( PDGEncoding ) == 4114 ) {
432 ( PDGEncoding > 0 ? PDGEncoding = 4112 : PDGEncoding = -4112 );
433 }
else if ( std::abs( PDGEncoding ) == 4322 ) {
434 ( PDGEncoding > 0 ? PDGEncoding = 4232 : PDGEncoding = -4232 );
435 }
else if ( std::abs( PDGEncoding ) == 4312 ) {
436 ( PDGEncoding > 0 ? PDGEncoding = 4132 : PDGEncoding = -4132 );
437 }
else if ( std::abs( PDGEncoding ) == 4324 ) {
438 ( PDGEncoding > 0 ? PDGEncoding = 4232 : PDGEncoding = -4232 );
439 }
else if ( std::abs( PDGEncoding ) == 4314 ) {
440 ( PDGEncoding > 0 ? PDGEncoding = 4132 : PDGEncoding = -4132 );
441 }
else if ( std::abs( PDGEncoding ) == 4334 ) {
442 ( PDGEncoding > 0 ? PDGEncoding = 4332 : PDGEncoding = -4332 );
443 }
else if ( std::abs( PDGEncoding ) == 4412 ) {
444 ( PDGEncoding > 0 ? PDGEncoding = 4232 : PDGEncoding = -4232 );
445 #ifdef debug_heavyHadrons
448 }
else if ( std::abs( PDGEncoding ) == 4422 ) {
449 ( PDGEncoding > 0 ? PDGEncoding = 4222 : PDGEncoding = -4222 );
450 #ifdef debug_heavyHadrons
453 }
else if ( std::abs( PDGEncoding ) == 4414 ) {
454 ( PDGEncoding > 0 ? PDGEncoding = 4232 : PDGEncoding = -4232 );
455 #ifdef debug_heavyHadrons
458 }
else if ( std::abs( PDGEncoding ) == 4424 ) {
459 ( PDGEncoding > 0 ? PDGEncoding = 4222 : PDGEncoding = -4222 );
460 #ifdef debug_heavyHadrons
463 }
else if ( std::abs( PDGEncoding ) == 4432 ) {
464 ( PDGEncoding > 0 ? PDGEncoding = 4232 : PDGEncoding = -4232 );
465 #ifdef debug_heavyHadrons
468 }
else if ( std::abs( PDGEncoding ) == 4434 ) {
469 ( PDGEncoding > 0 ? PDGEncoding = 4232 : PDGEncoding = -4232 );
470 #ifdef debug_heavyHadrons
473 }
else if ( std::abs( PDGEncoding ) == 4444 ) {
474 ( PDGEncoding > 0 ? PDGEncoding = 4222 : PDGEncoding = -4222 );
475 #ifdef debug_heavyHadrons
479 }
else if ( std::abs( PDGEncoding ) == 5114 ) {
480 ( PDGEncoding > 0 ? PDGEncoding = 5112 : PDGEncoding = -5112 );
481 }
else if ( std::abs( PDGEncoding ) == 5214 ) {
482 ( PDGEncoding > 0 ? PDGEncoding = 5212 : PDGEncoding = -5212 );
483 }
else if ( std::abs( PDGEncoding ) == 5224 ) {
484 ( PDGEncoding > 0 ? PDGEncoding = 5222 : PDGEncoding = -5222 );
485 }
else if ( std::abs( PDGEncoding ) == 5312 ) {
486 ( PDGEncoding > 0 ? PDGEncoding = 5132 : PDGEncoding = -5132 );
487 }
else if ( std::abs( PDGEncoding ) == 5322 ) {
488 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
489 }
else if ( std::abs( PDGEncoding ) == 5314 ) {
490 ( PDGEncoding > 0 ? PDGEncoding = 5132 : PDGEncoding = -5132 );
491 }
else if ( std::abs( PDGEncoding ) == 5324 ) {
492 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
493 }
else if ( std::abs( PDGEncoding ) == 5334 ) {
494 ( PDGEncoding > 0 ? PDGEncoding = 5332 : PDGEncoding = -5332 );
495 }
else if ( std::abs( PDGEncoding ) == 5142 ) {
496 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
497 #ifdef debug_heavyHadrons
500 }
else if ( std::abs( PDGEncoding ) == 5242 ) {
501 ( PDGEncoding > 0 ? PDGEncoding = 5222 : PDGEncoding = -5222 );
502 #ifdef debug_heavyHadrons
505 }
else if ( std::abs( PDGEncoding ) == 5412 ) {
506 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
507 #ifdef debug_heavyHadrons
510 }
else if ( std::abs( PDGEncoding ) == 5422 ) {
511 ( PDGEncoding > 0 ? PDGEncoding = 5222 : PDGEncoding = -5222 );
512 #ifdef debug_heavyHadrons
515 }
else if ( std::abs( PDGEncoding ) == 5414 ) {
516 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
517 #ifdef debug_heavyHadrons
520 }
else if ( std::abs( PDGEncoding ) == 5424 ) {
521 ( PDGEncoding > 0 ? PDGEncoding = 5222 : PDGEncoding = -5222 );
522 #ifdef debug_heavyHadrons
525 }
else if ( std::abs( PDGEncoding ) == 5342 ) {
526 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
527 #ifdef debug_heavyHadrons
530 }
else if ( std::abs( PDGEncoding ) == 5432 ) {
531 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
532 #ifdef debug_heavyHadrons
535 }
else if ( std::abs( PDGEncoding ) == 5434 ) {
536 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
537 #ifdef debug_heavyHadrons
540 }
else if ( std::abs( PDGEncoding ) == 5442 ) {
541 ( PDGEncoding > 0 ? PDGEncoding = 5222 : PDGEncoding = -5222 );
542 #ifdef debug_heavyHadrons
545 }
else if ( std::abs( PDGEncoding ) == 5444 ) {
546 ( PDGEncoding > 0 ? PDGEncoding = 5222 : PDGEncoding = -5222 );
547 #ifdef debug_heavyHadrons
550 }
else if ( std::abs( PDGEncoding ) == 5512 ) {
551 ( PDGEncoding > 0 ? PDGEncoding = 5132 : PDGEncoding = -5132 );
552 #ifdef debug_heavyHadrons
555 }
else if ( std::abs( PDGEncoding ) == 5522 ) {
556 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
557 #ifdef debug_heavyHadrons
560 }
else if ( std::abs( PDGEncoding ) == 5514 ) {
561 ( PDGEncoding > 0 ? PDGEncoding = 5132 : PDGEncoding = -5132 );
562 #ifdef debug_heavyHadrons
565 }
else if ( std::abs( PDGEncoding ) == 5524 ) {
566 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
567 #ifdef debug_heavyHadrons
570 }
else if ( std::abs( PDGEncoding ) == 5532 ) {
571 ( PDGEncoding > 0 ? PDGEncoding = 5332 : PDGEncoding = -5332 );
572 #ifdef debug_heavyHadrons
575 }
else if ( std::abs( PDGEncoding ) == 5534 ) {
576 ( PDGEncoding > 0 ? PDGEncoding = 5332 : PDGEncoding = -5332 );
577 #ifdef debug_heavyHadrons
580 }
else if ( std::abs( PDGEncoding ) == 5542 ) {
581 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
582 #ifdef debug_heavyHadrons
583 charmViolation = 1; bottomViolation = 1;
585 }
else if ( std::abs( PDGEncoding ) == 5544 ) {
586 ( PDGEncoding > 0 ? PDGEncoding = 5232 : PDGEncoding = -5232 );
587 #ifdef debug_heavyHadrons
588 charmViolation = 1; bottomViolation = 1;
590 }
else if ( std::abs( PDGEncoding ) == 5554 ) {
591 ( PDGEncoding > 0 ? PDGEncoding = 5332 : PDGEncoding = -5332 );
592 #ifdef debug_heavyHadrons
596 #ifdef debug_heavyHadrons
597 if ( initialPDGEncoding != PDGEncoding ) {
598 G4cout <<
"G4HadronBuilder::Barion : forcing (inexisting in G4) heavy baryon with pdgCode="
599 << initialPDGEncoding <<
" into pdgCode=" << PDGEncoding <<
G4endl;
600 if ( charmViolation != 0 || bottomViolation != 0 ) {
601 G4cout <<
"\t --> VIOLATION of " << ( charmViolation != 0 ?
" CHARM " :
" " )
602 << ( charmViolation != 0 && bottomViolation != 0 ?
" and " :
" " )
603 << ( bottomViolation != 0 ?
" BOTTOM " :
" " ) <<
" quantum number ! " <<
G4endl;
612 #ifdef debug_Hbuilder
613 if (BarionDef == 0 ) {
614 G4cerr <<
" G4HadronBuilder - Warning: No particle for PDGcode= "
618 G4cerr <<
" G4HadronBuilder - Warning: Incorrect Charge : "
619 <<
" DiQuark/Quark = "
G4GLOB_DLL std::ostream G4cerr
G4GLOB_DLL std::ostream G4cout
G4ParticleDefinition * Build(G4ParticleDefinition *black, G4ParticleDefinition *white)
G4ParticleDefinition * BuildLowSpin(G4ParticleDefinition *black, G4ParticleDefinition *white)
G4HadronBuilder(const std::vector< G4double > &mesonMix, const G4double barionMix, const std::vector< G4double > &scalarMesonMix, const std::vector< G4double > &vectorMesonMix, const G4double Eta_cProb, const G4double Eta_bProb)
G4ParticleDefinition * BuildHighSpin(G4ParticleDefinition *black, G4ParticleDefinition *white)
G4int GetPDGEncoding() const
G4double GetPDGCharge() const
const G4String & GetParticleName() const
const G4String & GetParticleSubType() const
G4ParticleDefinition * FindParticle(G4int PDGEncoding)
static G4ParticleTable * GetParticleTable()