214 &&
theNucleus->getStore()->getBook().getAcceptedCollisions()!=0) {
217 if(energyCM2 < cutNNSquared) {
218 INCL_DEBUG(
"CM energy = sqrt(" << energyCM2 <<
") MeV < std::sqrt(" << cutNNSquared
219 <<
") MeV = cutNN" <<
"; returning a NULL channel" <<
'\n');
245 minimumDistance -=
particle2->getPosition();
250 if ((minDist > theCrossSection) &&
257 INCL_DEBUG(
"CM distance of approach is too small: " << minDist <<
">" <<
258 theCrossSection <<
"; returning a NULL channel" <<
'\n');
289 const G4double StrangenessProdCX = (NLKProductionCX + NSKProductionCX + NLKpiProductionCX + NSKpiProductionCX + NLK2piProductionCX + NSK2piProductionCX + NNKKbProductionCX + NNMissingCX)/bias_apply;
291 G4double counterweight = (1. - bias_apply * StrangenessProdCX / (StrangenessProdCX + UnStrangeProdCX))/(1. - StrangenessProdCX / (StrangenessProdCX + UnStrangeProdCX));
293 if(counterweight < 0.5) {
295 bias_apply = 0.5*UnStrangeProdCX/StrangenessProdCX+1;
333 if(elasticCX > rChannel) {
337 if (
theNucleus->getStore()->getBook().getAcceptedCollisions() == 0 &&
338 theNucleus->getStore()->getBook().getAcceptedSrcCollisions() == 0 &&
340 INCL_DEBUG(
"NN-SRC interaction: elastic channel chosen" <<
'\n');
348 INCL_DEBUG(
"NN interaction: elastic channel chosen" <<
'\n');
353 INCL_DEBUG(
"NN interaction: elastic channel chosen" <<
'\n');
356 }
else if((elasticCX + deltaProductionCX) > rChannel) {
360 if (
theNucleus->getStore()->getBook().getAcceptedCollisions() == 0 &&
361 theNucleus->getStore()->getBook().getAcceptedSrcCollisions() == 0 &&
363 INCL_DEBUG(
"NN-SRC interaction: Delta channel chosen" <<
'\n');
372 INCL_DEBUG(
"NN interaction: Delta channel chosen" <<
'\n');
377 INCL_DEBUG(
"NN interaction: Delta channel chosen" <<
'\n');
380 }
else if(elasticCX + deltaProductionCX + onePiProductionCX > rChannel) {
383 INCL_DEBUG(
"NN interaction: one Pion channel chosen" <<
'\n');
386 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX > rChannel) {
389 INCL_DEBUG(
"NN interaction: two Pions channel chosen" <<
'\n');
392 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX > rChannel) {
395 INCL_DEBUG(
"NN interaction: three Pions channel chosen" <<
'\n');
398 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX > rChannel) {
401 INCL_DEBUG(
"NN interaction: four Pions channel chosen" <<
'\n');
404 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
405 + etaProductionCX > rChannel) {
408 INCL_DEBUG(
"NN interaction: Eta channel chosen" <<
'\n');
411 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
412 + etaProductionCX + etadeltaProductionCX > rChannel) {
415 INCL_DEBUG(
"NN interaction: Delta Eta channel chosen" <<
'\n');
418 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
419 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX > rChannel) {
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) {
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) {
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) {
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) {
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) {
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) {
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) {
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) {
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) {
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) {
499 isStrangeProduction =
true;
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) {
509 isStrangeProduction =
true;
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) {
519 isStrangeProduction =
true;
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) {
529 isStrangeProduction =
true;
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) {
539 isStrangeProduction =
true;
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) {
549 isStrangeProduction =
true;
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) {
559 isStrangeProduction =
true;
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) {
569 isStrangeProduction =
true;
571 INCL_DEBUG(
"NN interaction: Missing Strangeness channel chosen" <<
'\n');
575 INCL_WARN(
"inconsistency within the NN Cross Sections (sum!=inelastic)" <<
'\n');
577 INCL_WARN(
"Returning an Missing Strangeness channel" <<
'\n');
580 isStrangeProduction =
true;
582 }
else if(NNKKbProductionCX>0.) {
583 INCL_WARN(
"Returning an NNKKb channel" <<
'\n');
586 isStrangeProduction =
true;
588 }
else if(NSK2piProductionCX>0.) {
589 INCL_WARN(
"Returning an NSK2pi channel" <<
'\n');
592 isStrangeProduction =
true;
594 }
else if(NSKpiProductionCX>0.) {
595 INCL_WARN(
"Returning an NSKpi channel" <<
'\n');
598 isStrangeProduction =
true;
600 }
else if(NSKProductionCX>0.) {
601 INCL_WARN(
"Returning an NSK channel" <<
'\n');
604 isStrangeProduction =
true;
606 }
else if(NLK2piProductionCX>0.) {
607 INCL_WARN(
"Returning an NLK2pi channel" <<
'\n');
610 isStrangeProduction =
true;
612 }
else if(NLKpiProductionCX>0.) {
613 INCL_WARN(
"Returning an NLKpi channel" <<
'\n');
616 isStrangeProduction =
true;
618 }
else if(NLKProductionCX>0.) {
619 INCL_WARN(
"Returning an NLK channel" <<
'\n');
622 isStrangeProduction =
true;
624 }
else if(omegafourPiProductionCX>0.) {
625 INCL_WARN(
"Returning an Omega + four Pions channel" <<
'\n');
629 }
else if(omegathreePiProductionCX>0.) {
630 INCL_WARN(
"Returning an Omega + three Pions channel" <<
'\n');
634 }
else if(omegatwoPiProductionCX>0.) {
635 INCL_WARN(
"Returning an Omega + two Pions channel" <<
'\n');
639 }
else if(omegaonePiProductionCX>0.) {
640 INCL_WARN(
"Returning an Omega + one Pion channel" <<
'\n');
644 }
else if(omegadeltaProductionCX>0.) {
645 INCL_WARN(
"Returning an Omega + Delta channel" <<
'\n');
649 }
else if(omegaProductionCX>0.) {
650 INCL_WARN(
"Returning an Omega channel" <<
'\n');
654 }
else if(etafourPiProductionCX>0.) {
655 INCL_WARN(
"Returning an Eta + four Pions channel" <<
'\n');
659 }
else if(etathreePiProductionCX>0.) {
660 INCL_WARN(
"Returning an Eta + threev channel" <<
'\n');
664 }
else if(etatwoPiProductionCX>0.) {
665 INCL_WARN(
"Returning an Eta + two Pions channel" <<
'\n');
669 }
else if(etaonePiProductionCX>0.) {
670 INCL_WARN(
"Returning an Eta + one Pion channel" <<
'\n');
674 }
else if(etadeltaProductionCX>0.) {
675 INCL_WARN(
"Returning an Eta + Delta channel" <<
'\n');
679 }
else if(etaProductionCX>0.) {
680 INCL_WARN(
"Returning an Eta channel" <<
'\n');
684 }
else if(fourPiProductionCX>0.) {
685 INCL_WARN(
"Returning a 4pi channel" <<
'\n');
689 }
else if(threePiProductionCX>0.) {
690 INCL_WARN(
"Returning a 3pi channel" <<
'\n');
694 }
else if(twoPiProductionCX>0.) {
695 INCL_WARN(
"Returning a 2pi channel" <<
'\n');
699 }
else if(onePiProductionCX>0.) {
700 INCL_WARN(
"Returning a 1pi channel" <<
'\n');
704 }
else if(deltaProductionCX>0.) {
705 INCL_WARN(
"Returning a delta-production channel" <<
'\n');
710 INCL_WARN(
"Returning an elastic channel" <<
'\n');
729 const G4double StrangenessProdCX = (NLKProductionCX + NSKProductionCX + DeltaLKProductionCX + DeltaSKProductionCX + NNKKbProductionCX)/bias_apply;
731 G4double counterweight = (1. - bias_apply * StrangenessProdCX / (StrangenessProdCX + UnStrangeProdCX))/(1. - StrangenessProdCX / (StrangenessProdCX + UnStrangeProdCX));
733 if(counterweight < 0.5){
735 bias_apply = 0.5*UnStrangeProdCX/StrangenessProdCX+1;
749 if(elasticCX > rChannel) {
752 INCL_DEBUG(
"NDelta interaction: elastic channel chosen" <<
'\n');
755 }
else if (elasticCX + recombinationCX > rChannel){
759 INCL_DEBUG(
"NDelta interaction: recombination channel chosen" <<
'\n');
762 }
else if (elasticCX + recombinationCX + NLKProductionCX > rChannel){
764 isStrangeProduction =
true;
766 INCL_DEBUG(
"NDelta interaction: NLK channel chosen" <<
'\n');
769 }
else if (elasticCX + recombinationCX + NLKProductionCX + NSKProductionCX > rChannel){
771 isStrangeProduction =
true;
773 INCL_DEBUG(
"NDelta interaction: NSK channel chosen" <<
'\n');
776 }
else if (elasticCX + recombinationCX + NLKProductionCX + NSKProductionCX + DeltaLKProductionCX > rChannel){
778 isStrangeProduction =
true;
780 INCL_DEBUG(
"NDelta interaction: DeltaLK channel chosen" <<
'\n');
783 }
else if (elasticCX + recombinationCX + NLKProductionCX + NSKProductionCX + DeltaLKProductionCX + DeltaSKProductionCX > rChannel){
785 isStrangeProduction =
true;
787 INCL_DEBUG(
"NDelta interaction: DeltaSK channel chosen" <<
'\n');
790 }
else if (elasticCX + recombinationCX + NLKProductionCX + NSKProductionCX + DeltaLKProductionCX + DeltaSKProductionCX + NNKKbProductionCX > rChannel){
792 isStrangeProduction =
true;
794 INCL_DEBUG(
"NDelta interaction: NNKKb channel chosen" <<
'\n');
799 INCL_ERROR(
"rChannel > (StrangenessProdCX + UnStrangeProdCX) in NDelta interaction: return an elastic channel" <<
'\n');
808 INCL_DEBUG(
"DeltaDelta interaction: elastic channel chosen" <<
'\n');
826 const G4double StrangenessProdCX = (LKProdCX + SKProdCX + LKpiProdCX + SKpiProdCX + LK2piProdCX + SK2piProdCX + NKKbProdCX + MissingCX)/bias_apply;
828 G4double counterweight = (1. - bias_apply * StrangenessProdCX / (StrangenessProdCX + UnStrangeProdCX))/(1. - StrangenessProdCX / (StrangenessProdCX + UnStrangeProdCX));
830 if(counterweight < 0.5) {
832 bias_apply = 0.5*UnStrangeProdCX/StrangenessProdCX+1;
858 if(elasticCX > rChannel) {
861 INCL_DEBUG(
"PiN interaction: elastic channel chosen" <<
'\n');
864 }
else if(elasticCX + deltaProductionCX > rChannel) {
867 INCL_DEBUG(
"PiN interaction: Delta channel chosen" <<
'\n');
870 }
else if(elasticCX + deltaProductionCX + onePiProductionCX > rChannel) {
873 INCL_DEBUG(
"PiN interaction: one Pion channel chosen" <<
'\n');
876 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX > rChannel) {
879 INCL_DEBUG(
"PiN interaction: two Pions channel chosen" <<
'\n');
882 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX > rChannel) {
885 INCL_DEBUG(
"PiN interaction: three Pions channel chosen" <<
'\n');
888 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX > rChannel) {
891 INCL_DEBUG(
"PiN interaction: Eta channel chosen" <<
'\n');
894 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX+ omegaProductionCX > rChannel) {
897 INCL_DEBUG(
"PiN interaction: Omega channel chosen" <<
'\n');
900 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX+ omegaProductionCX
901 + LKProdCX > rChannel) {
903 isStrangeProduction =
true;
905 INCL_DEBUG(
"PiN interaction: LK channel chosen" <<
'\n');
908 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX+ omegaProductionCX
909 + LKProdCX + SKProdCX > rChannel) {
911 isStrangeProduction =
true;
913 INCL_DEBUG(
"PiN interaction: SK channel chosen" <<
'\n');
916 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX+ omegaProductionCX
917 + LKProdCX + SKProdCX + LKpiProdCX > rChannel) {
919 isStrangeProduction =
true;
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) {
927 isStrangeProduction =
true;
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) {
935 isStrangeProduction =
true;
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) {
943 isStrangeProduction =
true;
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) {
951 isStrangeProduction =
true;
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) {
959 isStrangeProduction =
true;
961 INCL_DEBUG(
"PiN interaction: Missinge Strangeness channel chosen" <<
'\n');
966 INCL_WARN(
"inconsistency within the PiN Cross Sections (sum!=inelastic)" <<
'\n');
968 INCL_WARN(
"Returning a Missinge Strangeness channel" <<
'\n');
971 isStrangeProduction =
true;
973 }
else if(NKKbProdCX>0.) {
974 INCL_WARN(
"Returning a NKKb channel" <<
'\n');
977 isStrangeProduction =
true;
979 }
else if(SK2piProdCX>0.) {
980 INCL_WARN(
"Returning a SK2pi channel" <<
'\n');
983 isStrangeProduction =
true;
985 }
else if(LK2piProdCX>0.) {
986 INCL_WARN(
"Returning a LK2pi channel" <<
'\n');
989 isStrangeProduction =
true;
991 }
else if(SKpiProdCX>0.) {
992 INCL_WARN(
"Returning a SKpi channel" <<
'\n');
995 isStrangeProduction =
true;
997 }
else if(LKpiProdCX>0.) {
998 INCL_WARN(
"Returning a LKpi channel" <<
'\n');
1001 isStrangeProduction =
true;
1003 }
else if(SKProdCX>0.) {
1004 INCL_WARN(
"Returning a SK channel" <<
'\n');
1007 isStrangeProduction =
true;
1009 }
else if(LKProdCX>0.) {
1010 INCL_WARN(
"Returning a LK channel" <<
'\n');
1013 isStrangeProduction =
true;
1015 }
else if(omegaProductionCX>0.) {
1016 INCL_WARN(
"Returning a Omega channel" <<
'\n');
1020 }
else if(etaProductionCX>0.) {
1021 INCL_WARN(
"Returning a Eta channel" <<
'\n');
1025 }
else if(threePiProductionCX>0.) {
1026 INCL_WARN(
"Returning a 3pi channel" <<
'\n');
1030 }
else if(twoPiProductionCX>0.) {
1031 INCL_WARN(
"Returning a 2pi channel" <<
'\n');
1035 }
else if(onePiProductionCX>0.) {
1036 INCL_WARN(
"Returning a 1pi channel" <<
'\n');
1040 }
else if(deltaProductionCX>0.) {
1041 INCL_WARN(
"Returning a delta-production channel" <<
'\n');
1046 INCL_WARN(
"Returning an elastic channel" <<
'\n');
1065 if(elasticCX > rChannel) {
1068 INCL_DEBUG(
"EtaN interaction: elastic channel chosen" <<
'\n');
1070 }
else if(elasticCX + onePiProductionCX > rChannel) {
1073 INCL_DEBUG(
"EtaN interaction: PiN channel chosen" <<
'\n');
1075 }
else if(elasticCX + onePiProductionCX + twoPiProductionCX > rChannel) {
1078 INCL_DEBUG(
"EtaN interaction: PiPiN channel chosen" <<
'\n');
1080 }
else if(elasticCX + onePiProductionCX + twoPiProductionCX + LKProductionCX > rChannel) {
1083 INCL_DEBUG(
"EtaN interaction: LK channel chosen" <<
'\n');
1085 }
else if(elasticCX + onePiProductionCX + twoPiProductionCX + LKProductionCX + SKProductionCX > rChannel) {
1088 INCL_DEBUG(
"EtaN interaction: SK channel chosen" <<
'\n');
1093 INCL_WARN(
"inconsistency within the EtaN Cross Sections (sum!=inelastic)" <<
'\n');
1094 if(SKProductionCX>0.) {
1095 INCL_WARN(
"Returning a SK channel" <<
'\n');
1098 }
else if(LKProductionCX>0.) {
1099 INCL_WARN(
"Returning a LK channel" <<
'\n');
1102 }
else if(twoPiProductionCX>0.) {
1103 INCL_WARN(
"Returning a PiPiN channel" <<
'\n');
1106 }
else if(onePiProductionCX>0.) {
1107 INCL_WARN(
"Returning a PiN channel" <<
'\n');
1111 INCL_WARN(
"Returning an elastic channel" <<
'\n');
1130 if(elasticCX > rChannel) {
1133 INCL_DEBUG(
"OmegaN interaction: elastic channel chosen" <<
'\n');
1135 }
else if(elasticCX + onePiProductionCX > rChannel) {
1138 INCL_DEBUG(
"OmegaN interaction: PiN channel chosen" <<
'\n');
1140 }
else if(elasticCX + onePiProductionCX + twoPiProductionCX > rChannel) {
1143 INCL_DEBUG(
"OmegaN interaction: PiPiN channel chosen" <<
'\n');
1145 }
else if(elasticCX + onePiProductionCX + twoPiProductionCX + LKProductionCX > rChannel) {
1148 INCL_DEBUG(
"EtaN interaction: LK channel chosen" <<
'\n');
1150 }
else if(elasticCX + onePiProductionCX + twoPiProductionCX + LKProductionCX + SKProductionCX > rChannel) {
1153 INCL_DEBUG(
"EtaN interaction: SK channel chosen" <<
'\n');
1157 INCL_WARN(
"inconsistency within the OmegaN Cross Sections (sum!=inelastic)" <<
'\n');
1158 if(SKProductionCX>0.) {
1159 INCL_WARN(
"Returning a SK channel" <<
'\n');
1162 }
else if(LKProductionCX>0.) {
1163 INCL_WARN(
"Returning a LK channel" <<
'\n');
1166 }
else if(twoPiProductionCX>0.) {
1167 INCL_WARN(
"Returning a PiPiN channel" <<
'\n');
1170 }
else if(onePiProductionCX>0.) {
1171 INCL_WARN(
"Returning a PiN channel" <<
'\n');
1175 INCL_WARN(
"Returning an elastic channel" <<
'\n');
1190 if(elasticCX > rChannel){
1193 INCL_DEBUG(
"KN interaction: elastic channel chosen" <<
'\n');
1195 }
else if(elasticCX + quasielasticCX > rChannel){
1198 INCL_DEBUG(
"KN interaction: quasi-elastic channel chosen" <<
'\n');
1200 }
else if(elasticCX + quasielasticCX + NKToNKpiCX > rChannel){
1203 INCL_DEBUG(
"KN interaction: NKpi channel chosen" <<
'\n');
1205 }
else if(elasticCX + quasielasticCX + NKToNKpiCX + NKToNK2piCX > rChannel){
1208 INCL_DEBUG(
"KN interaction: NK2pi channel chosen" <<
'\n');
1211 INCL_WARN(
"inconsistency within the KN Cross Sections (sum!=inelastic)" <<
'\n');
1212 if(NKToNK2piCX>0.) {
1213 INCL_WARN(
"Returning a NKToNK2pi channel" <<
'\n');
1216 }
else if(NKToNKpiCX>0.) {
1217 INCL_WARN(
"Returning a NKToNKpi channel" <<
'\n');
1220 }
else if(quasielasticCX>0.) {
1221 INCL_WARN(
"Returning a quasi-elastic channel" <<
'\n');
1225 INCL_WARN(
"Returning an elastic channel" <<
'\n');
1244 if(elasticCX > rChannel){
1247 INCL_DEBUG(
"KbN interaction: elastic channel chosen" <<
'\n');
1249 }
else if(elasticCX + quasielasticCX > rChannel){
1252 INCL_DEBUG(
"KbN interaction: quasi-elastic channel chosen" <<
'\n');
1254 }
else if(elasticCX + quasielasticCX + NKbToNKbpiCX > rChannel){
1257 INCL_DEBUG(
"KbN interaction: NKbpi channel chosen" <<
'\n');
1259 }
else if(elasticCX + quasielasticCX + NKbToNKbpiCX + NKbToNKb2piCX > rChannel){
1262 INCL_DEBUG(
"KbN interaction: NKb2pi channel chosen" <<
'\n');
1264 }
else if(elasticCX + quasielasticCX + NKbToNKbpiCX + NKbToNKb2piCX + NKbToLpiCX > rChannel){
1267 INCL_DEBUG(
"KbN interaction: Lpi channel chosen" <<
'\n');
1269 }
else if(elasticCX + quasielasticCX + NKbToNKbpiCX + NKbToNKb2piCX + NKbToLpiCX + NKbToL2piCX > rChannel){
1272 INCL_DEBUG(
"KbN interaction: L2pi channel chosen" <<
'\n');
1274 }
else if(elasticCX + quasielasticCX + NKbToNKbpiCX + NKbToNKb2piCX + NKbToLpiCX + NKbToL2piCX + NKbToSpiCX > rChannel){
1277 INCL_DEBUG(
"KbN interaction: Spi channel chosen" <<
'\n');
1279 }
else if(elasticCX + quasielasticCX + NKbToNKbpiCX + NKbToNKb2piCX + NKbToLpiCX + NKbToL2piCX + NKbToSpiCX + NKbToS2piCX > rChannel){
1282 INCL_DEBUG(
"KbN interaction: S2pi channel chosen" <<
'\n');
1285 INCL_WARN(
"inconsistency within the KbN Cross Sections (sum!=inelastic)" <<
'\n');
1286 if(NKbToS2piCX>0.) {
1287 INCL_WARN(
"Returning a NKbToS2pi channel" <<
'\n');
1290 }
else if(NKbToSpiCX>0.) {
1291 INCL_WARN(
"Returning a NKbToSpi channel" <<
'\n');
1294 }
else if(NKbToL2piCX>0.) {
1295 INCL_WARN(
"Returning a NKbToL2pi channel" <<
'\n');
1298 }
else if(NKbToLpiCX>0.) {
1299 INCL_WARN(
"Returning a NKbToLpi channel" <<
'\n');
1302 }
else if(NKbToNKb2piCX>0.) {
1303 INCL_WARN(
"Returning a NKbToNKb2pi channel" <<
'\n');
1306 }
else if(NKbToNKbpiCX>0.) {
1307 INCL_WARN(
"Returning a NKbToNKbpi channel" <<
'\n');
1310 }
else if(quasielasticCX>0.) {
1311 INCL_WARN(
"Returning a quasi-elastic channel" <<
'\n');
1315 INCL_WARN(
"Returning an elastic channel" <<
'\n');
1328 if(elasticCX > rChannel){
1331 INCL_DEBUG(
"NLambda interaction: elastic channel chosen" <<
'\n');
1333 }
else if(elasticCX + NLToNSCX > rChannel){
1336 INCL_DEBUG(
"NLambda interaction: quasi-elastic channel chosen" <<
'\n');
1339 INCL_WARN(
"inconsistency within the NLambda Cross Sections (sum!=inelastic)" <<
'\n');
1341 INCL_WARN(
"Returning a quasi-elastic channel" <<
'\n');
1345 INCL_WARN(
"Returning an elastic channel" <<
'\n');
1359 if(elasticCX > rChannel){
1362 INCL_DEBUG(
"NSigma interaction: elastic channel chosen" <<
'\n');
1364 }
else if(elasticCX + NSToNLCX > rChannel){
1367 INCL_DEBUG(
"NSigma interaction: NLambda channel chosen" <<
'\n');
1369 }
else if(elasticCX + NSToNLCX + NSToNSCX > rChannel){
1372 INCL_DEBUG(
"NSigma interaction: NSigma quasi-elastic channel chosen" <<
'\n');
1375 INCL_WARN(
"inconsistency within the NSigma Cross Sections (sum!=inelastic)" <<
'\n');
1377 INCL_WARN(
"Returning a quasi-elastic channel" <<
'\n');
1380 }
else if(NSToNLCX>0.) {
1381 INCL_WARN(
"Returning a NLambda channel" <<
'\n');
1385 INCL_WARN(
"Returning an elastic channel" <<
'\n');
1417 if ((theCrossSection == 9999.) ||
1443 INCL_ERROR(
"Annihilation type problem " <<
'\n');
1464 if (NNbElasticCX > rChannel) {
1469 }
else if (NNbElasticCX + NNbCEXCX > rChannel) {
1474 }
else if (NNbElasticCX + NNbCEXCX + NNbToLLbCX > rChannel) {
1479 }
else if (NNbElasticCX + NNbCEXCX + NNbToLLbCX + NNbToNNbpiCX > rChannel) {
1484 }
else if (NNbElasticCX + NNbCEXCX + NNbToLLbCX + NNbToNNbpiCX + NNbToNNb2piCX > rChannel) {
1489 }
else if (NNbElasticCX + NNbCEXCX + NNbToLLbCX + NNbToNNbpiCX + NNbToNNb2piCX + NNbToNNb3piCX > rChannel) {
1494 }
else if (NNbElasticCX + NNbCEXCX + NNbToLLbCX + NNbToNNbpiCX + NNbToNNb2piCX + NNbToNNb3piCX +AnnihilationCX > rChannel){
1512 INCL_ERROR(
"Annihilation type problem " <<
'\n');
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');
1522 }
else if (NNbToNNb2piCX > 0.0) {
1523 INCL_WARN(
"Returning an NNbar 2pi channel" <<
'\n');
1526 }
else if (NNbToNNbpiCX > 0.0) {
1527 INCL_WARN(
"Returning an NNbar pi channel" <<
'\n');
1530 }
else if (AnnihilationCX > 0.0) {
1531 INCL_WARN(
"Returning an NNbar annihilation channel" <<
'\n');
1548 INCL_ERROR(
"Annihilation type problem " <<
'\n');
1552 }
else if (NNbCEXCX > 0.0) {
1553 INCL_WARN(
"Returning an NNbar CEX channel" <<
'\n');
1556 }
else if (NNbToLLbCX > 0.0) {
1557 INCL_WARN(
"Returning an NNbar LLbar channel" <<
'\n');
1561 INCL_WARN(
"Elastic NNbar channel chosen" <<
'\n');
1569 INCL_DEBUG(
"BinaryCollisionAvatar can only handle nucleons (for the moment)."