Check again the distance of approach. In order for the avatar to be realised, we have to perform a check in the CM system. We define a distance four-vector as
with a non-zero time component (the collision happens simultaneously for the two particles in the lab system, but not in the CM system). In order for the avatar to be realised, we require that
Bias apply for this reaction in order to get the same ParticleBias for all stange particles. Can be reduced after because of the safeguard.
208 {
209
210
211
214 &&
theNucleus->getStore()->getBook().getAcceptedCollisions()!=0) {
216
217 if(energyCM2 < cutNNSquared) {
218 INCL_DEBUG(
"CM energy = sqrt(" << energyCM2 <<
") MeV < std::sqrt(" << cutNNSquared
219 << ") MeV = cutNN" << "; returning a NULL channel" << '\n');
221 return NULL;
222 }
223 }
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244 ThreeVector minimumDistance =
particle1->getPosition();
245 minimumDistance -=
particle2->getPosition();
248
249 Config
const *theConfig=
theNucleus->getStore()->getConfig();
250 if ((minDist > theCrossSection) &&
257 INCL_DEBUG(
"CM distance of approach is too small: " << minDist <<
">" <<
258 theCrossSection <<"; returning a NULL channel" << '\n');
260 return NULL;
261 }
262 }
263
264
265
266
267
270
271
273
282
289 const G4double StrangenessProdCX = (NLKProductionCX + NSKProductionCX + NLKpiProductionCX + NSKpiProductionCX + NLK2piProductionCX + NSK2piProductionCX + NNKKbProductionCX + NNMissingCX)/bias_apply;
290
291 G4double counterweight = (1. - bias_apply * StrangenessProdCX / (StrangenessProdCX + UnStrangeProdCX))/(1. - StrangenessProdCX / (StrangenessProdCX + UnStrangeProdCX));
292
293 if(counterweight < 0.5) {
294 counterweight = 0.5;
295 bias_apply = 0.5*UnStrangeProdCX/StrangenessProdCX+1;
304 }
305
306
313
326
328
329
330
332
333 if(elasticCX > rChannel) {
334
335 isElastic = true;
337 if (
theNucleus->getStore()->getBook().getAcceptedCollisions() == 0 &&
338 theNucleus->getStore()->getBook().getAcceptedSrcCollisions() == 0 &&
340 INCL_DEBUG(
"NN-SRC interaction: elastic channel chosen" <<
'\n');
347 } else {
348 INCL_DEBUG(
"NN interaction: elastic channel chosen" <<
'\n');
351 }
352 } else {
353 INCL_DEBUG(
"NN interaction: elastic channel chosen" <<
'\n');
355 }
356 } else if((elasticCX + deltaProductionCX) > rChannel) {
357 isElastic = false;
358
360 if (
theNucleus->getStore()->getBook().getAcceptedCollisions() == 0 &&
361 theNucleus->getStore()->getBook().getAcceptedSrcCollisions() == 0 &&
363 INCL_DEBUG(
"NN-SRC interaction: Delta channel chosen" <<
'\n');
368
371 } else {
372 INCL_DEBUG(
"NN interaction: Delta channel chosen" <<
'\n');
375 }
376 } else {
377 INCL_DEBUG(
"NN interaction: Delta channel chosen" <<
'\n');
379 }
380 } else if(elasticCX + deltaProductionCX + onePiProductionCX > rChannel) {
381 isElastic = false;
382
383 INCL_DEBUG(
"NN interaction: one Pion channel chosen" <<
'\n');
386 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX > rChannel) {
387 isElastic = false;
388
389 INCL_DEBUG(
"NN interaction: two Pions channel chosen" <<
'\n');
392 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX > rChannel) {
393 isElastic = false;
394
395 INCL_DEBUG(
"NN interaction: three Pions channel chosen" <<
'\n');
398 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX > rChannel) {
399 isElastic = false;
400
401 INCL_DEBUG(
"NN interaction: four Pions channel chosen" <<
'\n');
404 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
405 + etaProductionCX > rChannel) {
406 isElastic = false;
407
408 INCL_DEBUG(
"NN interaction: Eta channel chosen" <<
'\n');
411 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
412 + etaProductionCX + etadeltaProductionCX > rChannel) {
413 isElastic = false;
414
415 INCL_DEBUG(
"NN interaction: Delta Eta channel chosen" <<
'\n');
418 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
419 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX > rChannel) {
420 isElastic = false;
421
422 INCL_DEBUG(
"NN interaction: Eta + one Pion channel chosen" <<
'\n');
425 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
426 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX > rChannel) {
427 isElastic = false;
428
429 INCL_DEBUG(
"NN interaction: Eta + two Pions channel chosen" <<
'\n');
432 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
433 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX > rChannel) {
434 isElastic = false;
435
436 INCL_DEBUG(
"NN interaction: Eta + three Pions channel chosen" <<
'\n');
439 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
440 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX > rChannel) {
441 isElastic = false;
442
443 INCL_DEBUG(
"NN interaction: Eta + four Pions channel chosen" <<
'\n');
446 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
447 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
448 + omegaProductionCX > rChannel) {
449 isElastic = false;
450
451 INCL_DEBUG(
"NN interaction: Omega channel chosen" <<
'\n');
454 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
455 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
456 + omegaProductionCX + omegadeltaProductionCX > rChannel) {
457 isElastic = false;
458
459 INCL_DEBUG(
"NN interaction: Delta Omega channel chosen" <<
'\n');
462 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
463 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
464 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX > rChannel) {
465 isElastic = false;
466
467 INCL_DEBUG(
"NN interaction: Omega + one Pion channel chosen" <<
'\n');
470 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
471 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
472 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX + omegatwoPiProductionCX > rChannel) {
473 isElastic = false;
474
475 INCL_DEBUG(
"NN interaction: Omega + two Pions channel chosen" <<
'\n');
478 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
479 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
480 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX + omegatwoPiProductionCX + omegathreePiProductionCX > rChannel) {
481 isElastic = false;
482
483 INCL_DEBUG(
"NN interaction: Omega + three Pions channel chosen" <<
'\n');
486 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
487 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
488 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX + omegatwoPiProductionCX + omegathreePiProductionCX + omegafourPiProductionCX > rChannel) {
489 isElastic = false;
490
491 INCL_DEBUG(
"NN interaction: Omega + four Pions channel chosen" <<
'\n');
494 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
495 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
496 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX + omegatwoPiProductionCX + omegathreePiProductionCX + omegafourPiProductionCX
497 + NLKProductionCX > rChannel) {
498 isElastic = false;
499 isStrangeProduction = true;
500
501 INCL_DEBUG(
"NN interaction: NLK channel chosen" <<
'\n');
504 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
505 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
506 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX + omegatwoPiProductionCX + omegathreePiProductionCX + omegafourPiProductionCX
507 + NLKProductionCX + NLKpiProductionCX > rChannel) {
508 isElastic = false;
509 isStrangeProduction = true;
510
511 INCL_DEBUG(
"NN interaction: NLKpi channel chosen" <<
'\n');
514 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
515 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
516 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX + omegatwoPiProductionCX + omegathreePiProductionCX + omegafourPiProductionCX
517 + NLKProductionCX + NLKpiProductionCX + NLK2piProductionCX > rChannel) {
518 isElastic = false;
519 isStrangeProduction = true;
520
521 INCL_DEBUG(
"NN interaction: NLK2pi channel chosen" <<
'\n');
524 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
525 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
526 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX + omegatwoPiProductionCX + omegathreePiProductionCX + omegafourPiProductionCX
527 + NLKProductionCX + NLKpiProductionCX + NLK2piProductionCX + NSKProductionCX > rChannel) {
528 isElastic = false;
529 isStrangeProduction = true;
530
531 INCL_DEBUG(
"NN interaction: NSK channel chosen" <<
'\n');
534 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
535 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
536 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX + omegatwoPiProductionCX + omegathreePiProductionCX + omegafourPiProductionCX
537 + NLKProductionCX + NLKpiProductionCX + NLK2piProductionCX + NSKProductionCX + NSKpiProductionCX > rChannel) {
538 isElastic = false;
539 isStrangeProduction = true;
540
541 INCL_DEBUG(
"NN interaction: NSKpi channel chosen" <<
'\n');
544 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
545 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
546 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX + omegatwoPiProductionCX + omegathreePiProductionCX + omegafourPiProductionCX
547 + NLKProductionCX + NLKpiProductionCX + NLK2piProductionCX + NSKProductionCX + NSKpiProductionCX + NSK2piProductionCX > rChannel) {
548 isElastic = false;
549 isStrangeProduction = true;
550
551 INCL_DEBUG(
"NN interaction: NSK2pi channel chosen" <<
'\n');
554 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
555 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
556 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX + omegatwoPiProductionCX + omegathreePiProductionCX + omegafourPiProductionCX
557 + NLKProductionCX + NLKpiProductionCX + NLK2piProductionCX + NSKProductionCX + NSKpiProductionCX + NSK2piProductionCX + NNKKbProductionCX > rChannel) {
558 isElastic = false;
559 isStrangeProduction = true;
560
561 INCL_DEBUG(
"NN interaction: NNKKb channel chosen" <<
'\n');
564 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
565 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
566 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX + omegatwoPiProductionCX + omegathreePiProductionCX + omegafourPiProductionCX
567 + NLKProductionCX + NLKpiProductionCX + NLK2piProductionCX + NSKProductionCX + NSKpiProductionCX + NSK2piProductionCX + NNKKbProductionCX + NNMissingCX> rChannel) {
568 isElastic = false;
569 isStrangeProduction = true;
570
571 INCL_DEBUG(
"NN interaction: Missing Strangeness channel chosen" <<
'\n');
574 } else {
575 INCL_WARN(
"inconsistency within the NN Cross Sections (sum!=inelastic)" <<
'\n');
576 if(NNMissingCX>0.) {
577 INCL_WARN(
"Returning an Missing Strangeness channel" <<
'\n');
579 isElastic = false;
580 isStrangeProduction = true;
582 } else if(NNKKbProductionCX>0.) {
583 INCL_WARN(
"Returning an NNKKb channel" <<
'\n');
585 isElastic = false;
586 isStrangeProduction = true;
588 } else if(NSK2piProductionCX>0.) {
589 INCL_WARN(
"Returning an NSK2pi channel" <<
'\n');
591 isElastic = false;
592 isStrangeProduction = true;
594 } else if(NSKpiProductionCX>0.) {
595 INCL_WARN(
"Returning an NSKpi channel" <<
'\n');
597 isElastic = false;
598 isStrangeProduction = true;
600 } else if(NSKProductionCX>0.) {
601 INCL_WARN(
"Returning an NSK channel" <<
'\n');
603 isElastic = false;
604 isStrangeProduction = true;
606 } else if(NLK2piProductionCX>0.) {
607 INCL_WARN(
"Returning an NLK2pi channel" <<
'\n');
609 isElastic = false;
610 isStrangeProduction = true;
612 } else if(NLKpiProductionCX>0.) {
613 INCL_WARN(
"Returning an NLKpi channel" <<
'\n');
615 isElastic = false;
616 isStrangeProduction = true;
618 } else if(NLKProductionCX>0.) {
619 INCL_WARN(
"Returning an NLK channel" <<
'\n');
621 isElastic = false;
622 isStrangeProduction = true;
624 } else if(omegafourPiProductionCX>0.) {
625 INCL_WARN(
"Returning an Omega + four Pions channel" <<
'\n');
627 isElastic = false;
629 } else if(omegathreePiProductionCX>0.) {
630 INCL_WARN(
"Returning an Omega + three Pions channel" <<
'\n');
632 isElastic = false;
634 } else if(omegatwoPiProductionCX>0.) {
635 INCL_WARN(
"Returning an Omega + two Pions channel" <<
'\n');
637 isElastic = false;
639 } else if(omegaonePiProductionCX>0.) {
640 INCL_WARN(
"Returning an Omega + one Pion channel" <<
'\n');
642 isElastic = false;
644 } else if(omegadeltaProductionCX>0.) {
645 INCL_WARN(
"Returning an Omega + Delta channel" <<
'\n');
647 isElastic = false;
649 } else if(omegaProductionCX>0.) {
650 INCL_WARN(
"Returning an Omega channel" <<
'\n');
652 isElastic = false;
654 } else if(etafourPiProductionCX>0.) {
655 INCL_WARN(
"Returning an Eta + four Pions channel" <<
'\n');
657 isElastic = false;
659 } else if(etathreePiProductionCX>0.) {
660 INCL_WARN(
"Returning an Eta + threev channel" <<
'\n');
662 isElastic = false;
664 } else if(etatwoPiProductionCX>0.) {
665 INCL_WARN(
"Returning an Eta + two Pions channel" <<
'\n');
667 isElastic = false;
669 } else if(etaonePiProductionCX>0.) {
670 INCL_WARN(
"Returning an Eta + one Pion channel" <<
'\n');
672 isElastic = false;
674 } else if(etadeltaProductionCX>0.) {
675 INCL_WARN(
"Returning an Eta + Delta channel" <<
'\n');
677 isElastic = false;
679 } else if(etaProductionCX>0.) {
680 INCL_WARN(
"Returning an Eta channel" <<
'\n');
682 isElastic = false;
684 } else if(fourPiProductionCX>0.) {
685 INCL_WARN(
"Returning a 4pi channel" <<
'\n');
687 isElastic = false;
689 } else if(threePiProductionCX>0.) {
690 INCL_WARN(
"Returning a 3pi channel" <<
'\n');
692 isElastic = false;
694 } else if(twoPiProductionCX>0.) {
695 INCL_WARN(
"Returning a 2pi channel" <<
'\n');
697 isElastic = false;
699 } else if(onePiProductionCX>0.) {
700 INCL_WARN(
"Returning a 1pi channel" <<
'\n');
702 isElastic = false;
704 } else if(deltaProductionCX>0.) {
705 INCL_WARN(
"Returning a delta-production channel" <<
'\n');
707 isElastic = false;
709 } else {
710 INCL_WARN(
"Returning an elastic channel" <<
'\n');
712 isElastic = true;
714 }
715 }
716
717
718 }
721
727
729 const G4double StrangenessProdCX = (NLKProductionCX + NSKProductionCX + DeltaLKProductionCX + DeltaSKProductionCX + NNKKbProductionCX)/bias_apply;
730
731 G4double counterweight = (1. - bias_apply * StrangenessProdCX / (StrangenessProdCX + UnStrangeProdCX))/(1. - StrangenessProdCX / (StrangenessProdCX + UnStrangeProdCX));
732
733 if(counterweight < 0.5){
734 counterweight = 0.5;
735 bias_apply = 0.5*UnStrangeProdCX/StrangenessProdCX+1;
736
742 }
743
746
748
749 if(elasticCX > rChannel) {
750 isElastic = true;
751
752 INCL_DEBUG(
"NDelta interaction: elastic channel chosen" <<
'\n');
755 } else if (elasticCX + recombinationCX > rChannel){
756 isElastic = false;
757
758
759 INCL_DEBUG(
"NDelta interaction: recombination channel chosen" <<
'\n');
762 } else if (elasticCX + recombinationCX + NLKProductionCX > rChannel){
763 isElastic = false;
764 isStrangeProduction = true;
765
766 INCL_DEBUG(
"NDelta interaction: NLK channel chosen" <<
'\n');
769 } else if (elasticCX + recombinationCX + NLKProductionCX + NSKProductionCX > rChannel){
770 isElastic = false;
771 isStrangeProduction = true;
772
773 INCL_DEBUG(
"NDelta interaction: NSK channel chosen" <<
'\n');
776 } else if (elasticCX + recombinationCX + NLKProductionCX + NSKProductionCX + DeltaLKProductionCX > rChannel){
777 isElastic = false;
778 isStrangeProduction = true;
779
780 INCL_DEBUG(
"NDelta interaction: DeltaLK channel chosen" <<
'\n');
783 } else if (elasticCX + recombinationCX + NLKProductionCX + NSKProductionCX + DeltaLKProductionCX + DeltaSKProductionCX > rChannel){
784 isElastic = false;
785 isStrangeProduction = true;
786
787 INCL_DEBUG(
"NDelta interaction: DeltaSK channel chosen" <<
'\n');
790 } else if (elasticCX + recombinationCX + NLKProductionCX + NSKProductionCX + DeltaLKProductionCX + DeltaSKProductionCX + NNKKbProductionCX > rChannel){
791 isElastic = false;
792 isStrangeProduction = true;
793
794 INCL_DEBUG(
"NDelta interaction: NNKKb channel chosen" <<
'\n');
797 }
798 else{
799 INCL_ERROR(
"rChannel > (StrangenessProdCX + UnStrangeProdCX) in NDelta interaction: return an elastic channel" <<
'\n');
801 isElastic = true;
803 }
804
805
807 isElastic = true;
808 INCL_DEBUG(
"DeltaDelta interaction: elastic channel chosen" <<
'\n');
810
811
813
822
826 const G4double StrangenessProdCX = (LKProdCX + SKProdCX + LKpiProdCX + SKpiProdCX + LK2piProdCX + SK2piProdCX + NKKbProdCX + MissingCX)/bias_apply;
827
828 G4double counterweight = (1. - bias_apply * StrangenessProdCX / (StrangenessProdCX + UnStrangeProdCX))/(1. - StrangenessProdCX / (StrangenessProdCX + UnStrangeProdCX));
829
830 if(counterweight < 0.5) {
831 counterweight = 0.5;
832 bias_apply = 0.5*UnStrangeProdCX/StrangenessProdCX+1;
841 }
842
843
851
853
854
855
857
858 if(elasticCX > rChannel) {
859 isElastic = true;
860
861 INCL_DEBUG(
"PiN interaction: elastic channel chosen" <<
'\n');
864 } else if(elasticCX + deltaProductionCX > rChannel) {
865 isElastic = false;
866
867 INCL_DEBUG(
"PiN interaction: Delta channel chosen" <<
'\n');
870 } else if(elasticCX + deltaProductionCX + onePiProductionCX > rChannel) {
871 isElastic = false;
872
873 INCL_DEBUG(
"PiN interaction: one Pion channel chosen" <<
'\n');
876 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX > rChannel) {
877 isElastic = false;
878
879 INCL_DEBUG(
"PiN interaction: two Pions channel chosen" <<
'\n');
882 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX > rChannel) {
883 isElastic = false;
884
885 INCL_DEBUG(
"PiN interaction: three Pions channel chosen" <<
'\n');
888 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX > rChannel) {
889 isElastic = false;
890
891 INCL_DEBUG(
"PiN interaction: Eta channel chosen" <<
'\n');
894 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX+ omegaProductionCX > rChannel) {
895 isElastic = false;
896
897 INCL_DEBUG(
"PiN interaction: Omega channel chosen" <<
'\n');
900 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX+ omegaProductionCX
901 + LKProdCX > rChannel) {
902 isElastic = false;
903 isStrangeProduction = true;
904
905 INCL_DEBUG(
"PiN interaction: LK channel chosen" <<
'\n');
908 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX+ omegaProductionCX
909 + LKProdCX + SKProdCX > rChannel) {
910 isElastic = false;
911 isStrangeProduction = true;
912
913 INCL_DEBUG(
"PiN interaction: SK channel chosen" <<
'\n');
916 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX+ omegaProductionCX
917 + LKProdCX + SKProdCX + LKpiProdCX > rChannel) {
918 isElastic = false;
919 isStrangeProduction = true;
920
921 INCL_DEBUG(
"PiN interaction: LKpi channel chosen" <<
'\n');
924 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX+ omegaProductionCX
925 + LKProdCX + SKProdCX + LKpiProdCX + SKpiProdCX > rChannel) {
926 isElastic = false;
927 isStrangeProduction = true;
928
929 INCL_DEBUG(
"PiN interaction: SKpi channel chosen" <<
'\n');
932 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX+ omegaProductionCX
933 + LKProdCX + SKProdCX + LKpiProdCX + SKpiProdCX + LK2piProdCX > rChannel) {
934 isElastic = false;
935 isStrangeProduction = true;
936
937 INCL_DEBUG(
"PiN interaction: LK2pi channel chosen" <<
'\n');
940 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX+ omegaProductionCX
941 + LKProdCX + SKProdCX + LKpiProdCX + SKpiProdCX + LK2piProdCX + SK2piProdCX > rChannel) {
942 isElastic = false;
943 isStrangeProduction = true;
944
945 INCL_DEBUG(
"PiN interaction: SK2pi channel chosen" <<
'\n');
948 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX+ omegaProductionCX
949 + LKProdCX + SKProdCX + LKpiProdCX + SKpiProdCX + LK2piProdCX + SK2piProdCX + NKKbProdCX > rChannel) {
950 isElastic = false;
951 isStrangeProduction = true;
952
953 INCL_DEBUG(
"PiN interaction: NKKb channel chosen" <<
'\n');
956 } else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX+ omegaProductionCX
957 + LKProdCX + SKProdCX + LKpiProdCX + SKpiProdCX + LK2piProdCX + SK2piProdCX + NKKbProdCX + MissingCX> rChannel) {
958 isElastic = false;
959 isStrangeProduction = true;
960
961 INCL_DEBUG(
"PiN interaction: Missinge Strangeness channel chosen" <<
'\n');
964 }
965 else {
966 INCL_WARN(
"inconsistency within the PiN Cross Sections (sum!=inelastic)" <<
'\n');
967 if(MissingCX>0.) {
968 INCL_WARN(
"Returning a Missinge Strangeness channel" <<
'\n');
970 isElastic = false;
971 isStrangeProduction = true;
973 } else if(NKKbProdCX>0.) {
974 INCL_WARN(
"Returning a NKKb channel" <<
'\n');
976 isElastic = false;
977 isStrangeProduction = true;
979 } else if(SK2piProdCX>0.) {
980 INCL_WARN(
"Returning a SK2pi channel" <<
'\n');
982 isElastic = false;
983 isStrangeProduction = true;
985 } else if(LK2piProdCX>0.) {
986 INCL_WARN(
"Returning a LK2pi channel" <<
'\n');
988 isElastic = false;
989 isStrangeProduction = true;
991 } else if(SKpiProdCX>0.) {
992 INCL_WARN(
"Returning a SKpi channel" <<
'\n');
994 isElastic = false;
995 isStrangeProduction = true;
997 } else if(LKpiProdCX>0.) {
998 INCL_WARN(
"Returning a LKpi channel" <<
'\n');
1000 isElastic = false;
1001 isStrangeProduction = true;
1003 } else if(SKProdCX>0.) {
1004 INCL_WARN(
"Returning a SK channel" <<
'\n');
1006 isElastic = false;
1007 isStrangeProduction = true;
1009 } else if(LKProdCX>0.) {
1010 INCL_WARN(
"Returning a LK channel" <<
'\n');
1012 isElastic = false;
1013 isStrangeProduction = true;
1015 } else if(omegaProductionCX>0.) {
1016 INCL_WARN(
"Returning a Omega channel" <<
'\n');
1018 isElastic = false;
1020 } else if(etaProductionCX>0.) {
1021 INCL_WARN(
"Returning a Eta channel" <<
'\n');
1023 isElastic = false;
1025 } else if(threePiProductionCX>0.) {
1026 INCL_WARN(
"Returning a 3pi channel" <<
'\n');
1028 isElastic = false;
1030 } else if(twoPiProductionCX>0.) {
1031 INCL_WARN(
"Returning a 2pi channel" <<
'\n');
1033 isElastic = false;
1035 } else if(onePiProductionCX>0.) {
1036 INCL_WARN(
"Returning a 1pi channel" <<
'\n');
1038 isElastic = false;
1040 } else if(deltaProductionCX>0.) {
1041 INCL_WARN(
"Returning a delta-production channel" <<
'\n');
1043 isElastic = false;
1045 } else {
1046 INCL_WARN(
"Returning an elastic channel" <<
'\n');
1048 isElastic = true;
1050 }
1051 }
1053
1054
1061
1062
1064
1065 if(elasticCX > rChannel) {
1066
1067 isElastic = true;
1068 INCL_DEBUG(
"EtaN interaction: elastic channel chosen" <<
'\n');
1070 } else if(elasticCX + onePiProductionCX > rChannel) {
1071 isElastic = false;
1072
1073 INCL_DEBUG(
"EtaN interaction: PiN channel chosen" <<
'\n');
1075 } else if(elasticCX + onePiProductionCX + twoPiProductionCX > rChannel) {
1076 isElastic = false;
1077
1078 INCL_DEBUG(
"EtaN interaction: PiPiN channel chosen" <<
'\n');
1080 } else if(elasticCX + onePiProductionCX + twoPiProductionCX + LKProductionCX > rChannel) {
1081 isElastic = false;
1082
1083 INCL_DEBUG(
"EtaN interaction: LK channel chosen" <<
'\n');
1085 } else if(elasticCX + onePiProductionCX + twoPiProductionCX + LKProductionCX + SKProductionCX > rChannel) {
1086 isElastic = false;
1087
1088 INCL_DEBUG(
"EtaN interaction: SK channel chosen" <<
'\n');
1090 }
1091
1092 else {
1093 INCL_WARN(
"inconsistency within the EtaN Cross Sections (sum!=inelastic)" <<
'\n');
1094 if(SKProductionCX>0.) {
1095 INCL_WARN(
"Returning a SK channel" <<
'\n');
1096 isElastic = false;
1098 } else if(LKProductionCX>0.) {
1099 INCL_WARN(
"Returning a LK channel" <<
'\n');
1100 isElastic = false;
1102 } else if(twoPiProductionCX>0.) {
1103 INCL_WARN(
"Returning a PiPiN channel" <<
'\n');
1104 isElastic = false;
1106 } else if(onePiProductionCX>0.) {
1107 INCL_WARN(
"Returning a PiN channel" <<
'\n');
1108 isElastic = false;
1110 } else {
1111 INCL_WARN(
"Returning an elastic channel" <<
'\n');
1112 isElastic = true;
1114 }
1115 }
1116
1118
1119
1126
1127
1129
1130 if(elasticCX > rChannel) {
1131
1132 isElastic = true;
1133 INCL_DEBUG(
"OmegaN interaction: elastic channel chosen" <<
'\n');
1135 } else if(elasticCX + onePiProductionCX > rChannel) {
1136 isElastic = false;
1137
1138 INCL_DEBUG(
"OmegaN interaction: PiN channel chosen" <<
'\n');
1140 } else if(elasticCX + onePiProductionCX + twoPiProductionCX > rChannel) {
1141 isElastic = false;
1142
1143 INCL_DEBUG(
"OmegaN interaction: PiPiN channel chosen" <<
'\n');
1145 } else if(elasticCX + onePiProductionCX + twoPiProductionCX + LKProductionCX > rChannel) {
1146 isElastic = false;
1147
1148 INCL_DEBUG(
"EtaN interaction: LK channel chosen" <<
'\n');
1150 } else if(elasticCX + onePiProductionCX + twoPiProductionCX + LKProductionCX + SKProductionCX > rChannel) {
1151 isElastic = false;
1152
1153 INCL_DEBUG(
"EtaN interaction: SK channel chosen" <<
'\n');
1155 }
1156 else {
1157 INCL_WARN(
"inconsistency within the OmegaN Cross Sections (sum!=inelastic)" <<
'\n');
1158 if(SKProductionCX>0.) {
1159 INCL_WARN(
"Returning a SK channel" <<
'\n');
1160 isElastic = false;
1162 } else if(LKProductionCX>0.) {
1163 INCL_WARN(
"Returning a LK channel" <<
'\n');
1164 isElastic = false;
1166 } else if(twoPiProductionCX>0.) {
1167 INCL_WARN(
"Returning a PiPiN channel" <<
'\n');
1168 isElastic = false;
1170 } else if(onePiProductionCX>0.) {
1171 INCL_WARN(
"Returning a PiN channel" <<
'\n');
1172 isElastic = false;
1174 } else {
1175 INCL_WARN(
"Returning an elastic channel" <<
'\n');
1176 isElastic = true;
1178 }
1179 }
1181
1187
1188
1190 if(elasticCX > rChannel){
1191
1192 isElastic = true;
1193 INCL_DEBUG(
"KN interaction: elastic channel chosen" <<
'\n');
1195 } else if(elasticCX + quasielasticCX > rChannel){
1196
1197 isElastic = false;
1198 INCL_DEBUG(
"KN interaction: quasi-elastic channel chosen" <<
'\n');
1200 } else if(elasticCX + quasielasticCX + NKToNKpiCX > rChannel){
1201
1202 isElastic = false;
1203 INCL_DEBUG(
"KN interaction: NKpi channel chosen" <<
'\n');
1205 } else if(elasticCX + quasielasticCX + NKToNKpiCX + NKToNK2piCX > rChannel){
1206
1207 isElastic = false;
1208 INCL_DEBUG(
"KN interaction: NK2pi channel chosen" <<
'\n');
1210 } else {
1211 INCL_WARN(
"inconsistency within the KN Cross Sections (sum!=inelastic)" <<
'\n');
1212 if(NKToNK2piCX>0.) {
1213 INCL_WARN(
"Returning a NKToNK2pi channel" <<
'\n');
1214 isElastic = false;
1216 } else if(NKToNKpiCX>0.) {
1217 INCL_WARN(
"Returning a NKToNKpi channel" <<
'\n');
1218 isElastic = false;
1220 } else if(quasielasticCX>0.) {
1221 INCL_WARN(
"Returning a quasi-elastic channel" <<
'\n');
1222 isElastic = false;
1224 } else {
1225 INCL_WARN(
"Returning an elastic channel" <<
'\n');
1226 isElastic = true;
1228 }
1229 }
1231
1241
1242
1244 if(elasticCX > rChannel){
1245
1246 isElastic = true;
1247 INCL_DEBUG(
"KbN interaction: elastic channel chosen" <<
'\n');
1249 } else if(elasticCX + quasielasticCX > rChannel){
1250
1251 isElastic = false;
1252 INCL_DEBUG(
"KbN interaction: quasi-elastic channel chosen" <<
'\n');
1254 } else if(elasticCX + quasielasticCX + NKbToNKbpiCX > rChannel){
1255
1256 isElastic = false;
1257 INCL_DEBUG(
"KbN interaction: NKbpi channel chosen" <<
'\n');
1259 } else if(elasticCX + quasielasticCX + NKbToNKbpiCX + NKbToNKb2piCX > rChannel){
1260
1261 isElastic = false;
1262 INCL_DEBUG(
"KbN interaction: NKb2pi channel chosen" <<
'\n');
1264 } else if(elasticCX + quasielasticCX + NKbToNKbpiCX + NKbToNKb2piCX + NKbToLpiCX > rChannel){
1265
1266 isElastic = false;
1267 INCL_DEBUG(
"KbN interaction: Lpi channel chosen" <<
'\n');
1269 } else if(elasticCX + quasielasticCX + NKbToNKbpiCX + NKbToNKb2piCX + NKbToLpiCX + NKbToL2piCX > rChannel){
1270
1271 isElastic = false;
1272 INCL_DEBUG(
"KbN interaction: L2pi channel chosen" <<
'\n');
1274 } else if(elasticCX + quasielasticCX + NKbToNKbpiCX + NKbToNKb2piCX + NKbToLpiCX + NKbToL2piCX + NKbToSpiCX > rChannel){
1275
1276 isElastic = false;
1277 INCL_DEBUG(
"KbN interaction: Spi channel chosen" <<
'\n');
1279 } else if(elasticCX + quasielasticCX + NKbToNKbpiCX + NKbToNKb2piCX + NKbToLpiCX + NKbToL2piCX + NKbToSpiCX + NKbToS2piCX > rChannel){
1280
1281 isElastic = false;
1282 INCL_DEBUG(
"KbN interaction: S2pi channel chosen" <<
'\n');
1284 } else {
1285 INCL_WARN(
"inconsistency within the KbN Cross Sections (sum!=inelastic)" <<
'\n');
1286 if(NKbToS2piCX>0.) {
1287 INCL_WARN(
"Returning a NKbToS2pi channel" <<
'\n');
1288 isElastic = false;
1290 } else if(NKbToSpiCX>0.) {
1291 INCL_WARN(
"Returning a NKbToSpi channel" <<
'\n');
1292 isElastic = false;
1294 } else if(NKbToL2piCX>0.) {
1295 INCL_WARN(
"Returning a NKbToL2pi channel" <<
'\n');
1296 isElastic = false;
1298 } else if(NKbToLpiCX>0.) {
1299 INCL_WARN(
"Returning a NKbToLpi channel" <<
'\n');
1300 isElastic = false;
1302 } else if(NKbToNKb2piCX>0.) {
1303 INCL_WARN(
"Returning a NKbToNKb2pi channel" <<
'\n');
1304 isElastic = false;
1306 } else if(NKbToNKbpiCX>0.) {
1307 INCL_WARN(
"Returning a NKbToNKbpi channel" <<
'\n');
1308 isElastic = false;
1310 } else if(quasielasticCX>0.) {
1311 INCL_WARN(
"Returning a quasi-elastic channel" <<
'\n');
1312 isElastic = false;
1314 } else {
1315 INCL_WARN(
"Returning an elastic channel" <<
'\n');
1316 isElastic = true;
1318 }
1319 }
1321
1325
1326
1328 if(elasticCX > rChannel){
1329
1330 isElastic = true;
1331 INCL_DEBUG(
"NLambda interaction: elastic channel chosen" <<
'\n');
1333 } else if(elasticCX + NLToNSCX > rChannel){
1334
1335 isElastic = false;
1336 INCL_DEBUG(
"NLambda interaction: quasi-elastic channel chosen" <<
'\n');
1338 } else {
1339 INCL_WARN(
"inconsistency within the NLambda Cross Sections (sum!=inelastic)" <<
'\n');
1340 if(NLToNSCX>0.) {
1341 INCL_WARN(
"Returning a quasi-elastic channel" <<
'\n');
1342 isElastic = false;
1344 } else {
1345 INCL_WARN(
"Returning an elastic channel" <<
'\n');
1346 isElastic = true;
1348 }
1349 }
1351
1356
1357
1359 if(elasticCX > rChannel){
1360
1361 isElastic = true;
1362 INCL_DEBUG(
"NSigma interaction: elastic channel chosen" <<
'\n');
1364 } else if(elasticCX + NSToNLCX > rChannel){
1365
1366 isElastic = false;
1367 INCL_DEBUG(
"NSigma interaction: NLambda channel chosen" <<
'\n');
1369 } else if(elasticCX + NSToNLCX + NSToNSCX > rChannel){
1370
1371 isElastic = false;
1372 INCL_DEBUG(
"NSigma interaction: NSigma quasi-elastic channel chosen" <<
'\n');
1374 } else {
1375 INCL_WARN(
"inconsistency within the NSigma Cross Sections (sum!=inelastic)" <<
'\n');
1376 if(NSToNSCX>0.) {
1377 INCL_WARN(
"Returning a quasi-elastic channel" <<
'\n');
1378 isElastic = false;
1380 } else if(NSToNLCX>0.) {
1381 INCL_WARN(
"Returning a NLambda channel" <<
'\n');
1382 isElastic = false;
1384 } else {
1385 INCL_WARN(
"Returning an elastic channel" <<
'\n');
1386 isElastic = true;
1388 }
1389 }
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417 if ((theCrossSection == 9999.) ||
1426 {
1427 isElastic = false;
1431 }
1434 }
1437 }
1440 }
1441 else{
1443 INCL_ERROR(
"Annihilation type problem " <<
'\n');
1444 }
1447 }
1448
1449
1450
1451
1460
1461
1462
1464 if (NNbElasticCX > rChannel) {
1465
1466 isElastic = true;
1467
1469 } else if (NNbElasticCX + NNbCEXCX > rChannel) {
1470
1471 isElastic = false;
1472
1474 } else if (NNbElasticCX + NNbCEXCX + NNbToLLbCX > rChannel) {
1475
1476 isElastic = false;
1477
1479 } else if (NNbElasticCX + NNbCEXCX + NNbToLLbCX + NNbToNNbpiCX > rChannel) {
1480
1481 isElastic = false;
1482
1484 } else if (NNbElasticCX + NNbCEXCX + NNbToLLbCX + NNbToNNbpiCX + NNbToNNb2piCX > rChannel) {
1485
1486 isElastic = false;
1487
1489 } else if (NNbElasticCX + NNbCEXCX + NNbToLLbCX + NNbToNNbpiCX + NNbToNNb2piCX + NNbToNNb3piCX > rChannel) {
1490
1491 isElastic = false;
1492
1494 } else if (NNbElasticCX + NNbCEXCX + NNbToLLbCX + NNbToNNbpiCX + NNbToNNb2piCX + NNbToNNb3piCX +AnnihilationCX > rChannel){
1495
1496 isElastic = false;
1500 }
1503 }
1506 }
1509 }
1510 else{
1512 INCL_ERROR(
"Annihilation type problem " <<
'\n');
1513 }
1516 } else {
1517 INCL_WARN(
"Inconsistency within the NNbar Cross Sections (sum != inelastic)" <<
'\n');
1518 if (NNbToNNb3piCX > 0.0) {
1519 INCL_WARN(
"Returning an NNbar 3pi channel" <<
'\n');
1520 isElastic = false;
1522 } else if (NNbToNNb2piCX > 0.0) {
1523 INCL_WARN(
"Returning an NNbar 2pi channel" <<
'\n');
1524 isElastic = false;
1526 } else if (NNbToNNbpiCX > 0.0) {
1527 INCL_WARN(
"Returning an NNbar pi channel" <<
'\n');
1528 isElastic = false;
1530 } else if (AnnihilationCX > 0.0) {
1531 INCL_WARN(
"Returning an NNbar annihilation channel" <<
'\n');
1532 isElastic = false;
1536 }
1539 }
1542 }
1545 }
1546 else{
1548 INCL_ERROR(
"Annihilation type problem " <<
'\n');
1549 }
1552 } else if (NNbCEXCX > 0.0) {
1553 INCL_WARN(
"Returning an NNbar CEX channel" <<
'\n');
1554 isElastic = false;
1556 } else if (NNbToLLbCX > 0.0) {
1557 INCL_WARN(
"Returning an NNbar LLbar channel" <<
'\n');
1558 isElastic = false;
1560 } else {
1561 INCL_WARN(
"Elastic NNbar channel chosen" <<
'\n');
1562 isElastic = true;
1564 }
1565 }
1566 }
1567
1568 else {
1569 INCL_DEBUG(
"BinaryCollisionAvatar can only handle nucleons (for the moment)."
1570 << '\n'
1572 << '\n'
1574 << '\n');
1576 return NULL;
1577 }
1578 }
void restoreParticles() const
Restore the state of both particles.
static std::vector< G4int > MergeVectorBias(Particle const *const p1, Particle const *const p2)
static G4double getBiasFromVector(std::vector< G4int > VectorBias)
G4double NSToNL(Particle const *const p1, Particle const *const p2)
G4double NNToNNKKb(Particle const *const p1, Particle const *const p2)
G4double elastic(Particle const *const p1, Particle const *const p2)
G4double NpiToSK(Particle const *const p1, Particle const *const p2)
G4double piNToOmegaN(Particle const *const p1, Particle const *const p2)
G4double NNbarCEX(Particle const *const p1, Particle const *const p2)
G4double NKbToNKb2pi(Particle const *const p1, Particle const *const p2)
G4double NNToNDeltaOmega(Particle const *const p1, Particle const *const p2)
G4double NDeltaToDeltaLK(Particle const *const p1, Particle const *const p2)
G4double NNToNSKpi(Particle const *const p1, Particle const *const p2)
G4double etaNToPiN(Particle const *const p1, Particle const *const p2)
G4double NDeltaToNNKKb(Particle const *const p1, Particle const *const p2)
G4double NKbToLpi(Particle const *const p1, Particle const *const p2)
G4double NNToNLK2pi(Particle const *const p1, Particle const *const p2)
G4double etaNToPiPiN(Particle const *const p1, Particle const *const p2)
G4double NKbToS2pi(Particle const *const p1, Particle const *const p2)
G4double piNToEtaN(Particle const *const p1, Particle const *const p2)
G4double NNbarToAnnihilation(Particle const *const p1, Particle const *const p2)
Nucleon-AntiNucleon total annihilation cross sections.
G4double omegaNToPiN(Particle const *const p1, Particle const *const p2)
G4double NDeltaToNSK(Particle const *const p1, Particle const *const p2)
G4double NKbToSpi(Particle const *const p1, Particle const *const p2)
G4double NNToNDelta(Particle const *const p1, Particle const *const p2)
G4double NNToNSK(Particle const *const p1, Particle const *const p2)
G4double NDeltaToNLK(Particle const *const p1, Particle const *const p2)
G4double NLToNS(Particle const *const p1, Particle const *const p2)
G4double omegaNToLK(Particle const *const p1, Particle const *const p2)
G4double piNToDelta(Particle const *const p1, Particle const *const p2)
G4double NKbToNKb(Particle const *const p1, Particle const *const p2)
G4double NNToNSK2pi(Particle const *const p1, Particle const *const p2)
G4double NNbarToNNbar3pi(Particle const *const p1, Particle const *const p2)
G4double NNToNLK(Particle const *const p1, Particle const *const p2)
Strange cross sections.
G4double NNToNNEtaExclu(Particle const *const p1, Particle const *const p2)
G4double NNToNDeltaEta(Particle const *const p1, Particle const *const p2)
G4double NNToNNOmegaxPi(const G4int xpi, Particle const *const p1, Particle const *const p2)
G4double NNToNNEtaxPi(const G4int xpi, Particle const *const p1, Particle const *const p2)
G4double NNbarToNNbarpi(Particle const *const p1, Particle const *const p2)
Nucleon-AntiNucleon to Nucleon-AntiNucleon + pions cross sections.
G4double NSToNS(Particle const *const p1, Particle const *const p2)
G4double NpiToNKKb(Particle const *const p1, Particle const *const p2)
G4double NpiToLK2pi(Particle const *const p1, Particle const *const p2)
G4double omegaNToPiPiN(Particle const *const p1, Particle const *const p2)
G4double NDeltaToDeltaSK(Particle const *const p1, Particle const *const p2)
G4double NpiToMissingStrangeness(Particle const *const p1, Particle const *const p2)
G4double NNbarToNNbar2pi(Particle const *const p1, Particle const *const p2)
G4double total(Particle const *const p1, Particle const *const p2)
G4double NDeltaToNN(Particle const *const p1, Particle const *const p2)
G4double omegaNToSK(Particle const *const p1, Particle const *const p2)
G4double NpiToLKpi(Particle const *const p1, Particle const *const p2)
G4double NKbToNKbpi(Particle const *const p1, Particle const *const p2)
G4double NNToNLKpi(Particle const *const p1, Particle const *const p2)
G4double NKbToL2pi(Particle const *const p1, Particle const *const p2)
G4double NNToxPiNN(const G4int xpi, Particle const *const p1, Particle const *const p2)
G4double NKToNK2pi(Particle const *const p1, Particle const *const p2)
G4double NKToNKpi(Particle const *const p1, Particle const *const p2)
G4double NNToNNOmegaExclu(Particle const *const p1, Particle const *const p2)
G4double NpiToSK2pi(Particle const *const p1, Particle const *const p2)
G4double NKToNK(Particle const *const p1, Particle const *const p2)
G4double NNToMissingStrangeness(Particle const *const p1, Particle const *const p2)
G4double piNToxPiN(const G4int xpi, Particle const *const p1, Particle const *const p2)
G4double etaNToSK(Particle const *const p1, Particle const *const p2)
G4double etaNToLK(Particle const *const p1, Particle const *const p2)
G4double NNbarToLLbar(Particle const *const p1, Particle const *const p2)
G4double NpiToLK(Particle const *const p1, Particle const *const p2)
G4double NNbarElastic(Particle const *const p1, Particle const *const p2)
antiparticle cross sections
G4double NpiToSKpi(Particle const *const p1, Particle const *const p2)
G4double squareTotalEnergyInCM(Particle const *const p1, Particle const *const p2)
G4bool getsrcPairConfig()
Get the configuration of src-pair correlations.
std::vector< Base * > ParticleList