154 if(energyCM2 < cutNNSquared) {
155 INCL_DEBUG(
"CM energy = sqrt(" << energyCM2 <<
") MeV < std::sqrt(" << cutNNSquared
156 <<
") MeV = cutNN" <<
"; returning a NULL channel" <<
'\n');
185 if(minDist > theCrossSection) {
186 INCL_DEBUG(
"CM distance of approach is too small: " << minDist <<
">" <<
187 theCrossSection <<
"; returning a NULL channel" <<
'\n');
217 const G4double StrangenessProdCX = (NLKProductionCX + NSKProductionCX + NLKpiProductionCX + NSKpiProductionCX + NLK2piProductionCX + NSK2piProductionCX + NNKKbProductionCX + NNMissingCX)/bias_apply;
219 G4double counterweight = (1. - bias_apply * StrangenessProdCX / (StrangenessProdCX + UnStrangeProdCX))/(1. - StrangenessProdCX / (StrangenessProdCX + UnStrangeProdCX));
221 if(counterweight < 0.5) {
223 bias_apply = 0.5*UnStrangeProdCX/StrangenessProdCX+1;
261 if(elasticCX > rChannel) {
264 INCL_DEBUG(
"NN interaction: elastic channel chosen" <<
'\n');
267 }
else if((elasticCX + deltaProductionCX) > rChannel) {
270 INCL_DEBUG(
"NN interaction: Delta channel chosen" <<
'\n');
273 }
else if(elasticCX + deltaProductionCX + onePiProductionCX > rChannel) {
276 INCL_DEBUG(
"NN interaction: one Pion channel chosen" <<
'\n');
279 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX > rChannel) {
282 INCL_DEBUG(
"NN interaction: two Pions channel chosen" <<
'\n');
285 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX > rChannel) {
288 INCL_DEBUG(
"NN interaction: three Pions channel chosen" <<
'\n');
291 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX > rChannel) {
294 INCL_DEBUG(
"NN interaction: four Pions channel chosen" <<
'\n');
297 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
298 + etaProductionCX > rChannel) {
301 INCL_DEBUG(
"NN interaction: Eta channel chosen" <<
'\n');
304 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
305 + etaProductionCX + etadeltaProductionCX > rChannel) {
308 INCL_DEBUG(
"NN interaction: Delta Eta channel chosen" <<
'\n');
311 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
312 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX > rChannel) {
315 INCL_DEBUG(
"NN interaction: Eta + one Pion channel chosen" <<
'\n');
318 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
319 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX > rChannel) {
322 INCL_DEBUG(
"NN interaction: Eta + two Pions channel chosen" <<
'\n');
325 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
326 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX > rChannel) {
329 INCL_DEBUG(
"NN interaction: Eta + three Pions channel chosen" <<
'\n');
332 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
333 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX > rChannel) {
336 INCL_DEBUG(
"NN interaction: Eta + four Pions channel chosen" <<
'\n');
339 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
340 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
341 + omegaProductionCX > rChannel) {
344 INCL_DEBUG(
"NN interaction: Omega channel chosen" <<
'\n');
347 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
348 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
349 + omegaProductionCX + omegadeltaProductionCX > rChannel) {
352 INCL_DEBUG(
"NN interaction: Delta Omega channel chosen" <<
'\n');
355 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
356 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
357 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX > rChannel) {
360 INCL_DEBUG(
"NN interaction: Omega + one Pion channel chosen" <<
'\n');
363 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
364 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
365 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX + omegatwoPiProductionCX > rChannel) {
368 INCL_DEBUG(
"NN interaction: Omega + two Pions channel chosen" <<
'\n');
371 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
372 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
373 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX + omegatwoPiProductionCX + omegathreePiProductionCX > rChannel) {
376 INCL_DEBUG(
"NN interaction: Omega + three Pions channel chosen" <<
'\n');
379 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
380 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
381 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX + omegatwoPiProductionCX + omegathreePiProductionCX + omegafourPiProductionCX > rChannel) {
384 INCL_DEBUG(
"NN interaction: Omega + four Pions channel chosen" <<
'\n');
387 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
388 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
389 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX + omegatwoPiProductionCX + omegathreePiProductionCX + omegafourPiProductionCX
390 + NLKProductionCX > rChannel) {
392 isStrangeProduction =
true;
394 INCL_DEBUG(
"NN interaction: NLK channel chosen" <<
'\n');
397 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
398 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
399 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX + omegatwoPiProductionCX + omegathreePiProductionCX + omegafourPiProductionCX
400 + NLKProductionCX + NLKpiProductionCX > rChannel) {
402 isStrangeProduction =
true;
404 INCL_DEBUG(
"NN interaction: NLKpi channel chosen" <<
'\n');
407 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
408 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
409 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX + omegatwoPiProductionCX + omegathreePiProductionCX + omegafourPiProductionCX
410 + NLKProductionCX + NLKpiProductionCX + NLK2piProductionCX > rChannel) {
412 isStrangeProduction =
true;
414 INCL_DEBUG(
"NN interaction: NLK2pi channel chosen" <<
'\n');
417 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
418 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
419 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX + omegatwoPiProductionCX + omegathreePiProductionCX + omegafourPiProductionCX
420 + NLKProductionCX + NLKpiProductionCX + NLK2piProductionCX + NSKProductionCX > rChannel) {
422 isStrangeProduction =
true;
424 INCL_DEBUG(
"NN interaction: NSK channel chosen" <<
'\n');
427 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
428 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
429 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX + omegatwoPiProductionCX + omegathreePiProductionCX + omegafourPiProductionCX
430 + NLKProductionCX + NLKpiProductionCX + NLK2piProductionCX + NSKProductionCX + NSKpiProductionCX > rChannel) {
432 isStrangeProduction =
true;
434 INCL_DEBUG(
"NN interaction: NSKpi channel chosen" <<
'\n');
437 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
438 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
439 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX + omegatwoPiProductionCX + omegathreePiProductionCX + omegafourPiProductionCX
440 + NLKProductionCX + NLKpiProductionCX + NLK2piProductionCX + NSKProductionCX + NSKpiProductionCX + NSK2piProductionCX > rChannel) {
442 isStrangeProduction =
true;
444 INCL_DEBUG(
"NN interaction: NSK2pi channel chosen" <<
'\n');
447 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
448 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
449 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX + omegatwoPiProductionCX + omegathreePiProductionCX + omegafourPiProductionCX
450 + NLKProductionCX + NLKpiProductionCX + NLK2piProductionCX + NSKProductionCX + NSKpiProductionCX + NSK2piProductionCX + NNKKbProductionCX > rChannel) {
452 isStrangeProduction =
true;
454 INCL_DEBUG(
"NN interaction: NNKKb channel chosen" <<
'\n');
457 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + fourPiProductionCX
458 + etaProductionCX + etadeltaProductionCX + etaonePiProductionCX + etatwoPiProductionCX + etathreePiProductionCX + etafourPiProductionCX
459 + omegaProductionCX + omegadeltaProductionCX + omegaonePiProductionCX + omegatwoPiProductionCX + omegathreePiProductionCX + omegafourPiProductionCX
460 + NLKProductionCX + NLKpiProductionCX + NLK2piProductionCX + NSKProductionCX + NSKpiProductionCX + NSK2piProductionCX + NNKKbProductionCX + NNMissingCX> rChannel) {
462 isStrangeProduction =
true;
464 INCL_DEBUG(
"NN interaction: Missing Strangeness channel chosen" <<
'\n');
468 INCL_WARN(
"inconsistency within the NN Cross Sections (sum!=inelastic)" <<
'\n');
470 INCL_WARN(
"Returning an Missing Strangeness channel" <<
'\n');
473 isStrangeProduction =
true;
475 }
else if(NNKKbProductionCX>0.) {
476 INCL_WARN(
"Returning an NNKKb channel" <<
'\n');
479 isStrangeProduction =
true;
481 }
else if(NSK2piProductionCX>0.) {
482 INCL_WARN(
"Returning an NSK2pi channel" <<
'\n');
485 isStrangeProduction =
true;
487 }
else if(NSKpiProductionCX>0.) {
488 INCL_WARN(
"Returning an NSKpi channel" <<
'\n');
491 isStrangeProduction =
true;
493 }
else if(NSKProductionCX>0.) {
494 INCL_WARN(
"Returning an NSK channel" <<
'\n');
497 isStrangeProduction =
true;
499 }
else if(NLK2piProductionCX>0.) {
500 INCL_WARN(
"Returning an NLK2pi channel" <<
'\n');
503 isStrangeProduction =
true;
505 }
else if(NLKpiProductionCX>0.) {
506 INCL_WARN(
"Returning an NLKpi channel" <<
'\n');
509 isStrangeProduction =
true;
511 }
else if(NLKProductionCX>0.) {
512 INCL_WARN(
"Returning an NLK channel" <<
'\n');
515 isStrangeProduction =
true;
517 }
else if(omegafourPiProductionCX>0.) {
518 INCL_WARN(
"Returning an Omega + four Pions channel" <<
'\n');
522 }
else if(omegathreePiProductionCX>0.) {
523 INCL_WARN(
"Returning an Omega + three Pions channel" <<
'\n');
527 }
else if(omegatwoPiProductionCX>0.) {
528 INCL_WARN(
"Returning an Omega + two Pions channel" <<
'\n');
532 }
else if(omegaonePiProductionCX>0.) {
533 INCL_WARN(
"Returning an Omega + one Pion channel" <<
'\n');
537 }
else if(omegadeltaProductionCX>0.) {
538 INCL_WARN(
"Returning an Omega + Delta channel" <<
'\n');
542 }
else if(omegaProductionCX>0.) {
543 INCL_WARN(
"Returning an Omega channel" <<
'\n');
547 }
else if(etafourPiProductionCX>0.) {
548 INCL_WARN(
"Returning an Eta + four Pions channel" <<
'\n');
552 }
else if(etathreePiProductionCX>0.) {
553 INCL_WARN(
"Returning an Eta + threev channel" <<
'\n');
557 }
else if(etatwoPiProductionCX>0.) {
558 INCL_WARN(
"Returning an Eta + two Pions channel" <<
'\n');
562 }
else if(etaonePiProductionCX>0.) {
563 INCL_WARN(
"Returning an Eta + one Pion channel" <<
'\n');
567 }
else if(etadeltaProductionCX>0.) {
568 INCL_WARN(
"Returning an Eta + Delta channel" <<
'\n');
572 }
else if(etaProductionCX>0.) {
573 INCL_WARN(
"Returning an Eta channel" <<
'\n');
577 }
else if(fourPiProductionCX>0.) {
578 INCL_WARN(
"Returning a 4pi channel" <<
'\n');
582 }
else if(threePiProductionCX>0.) {
583 INCL_WARN(
"Returning a 3pi channel" <<
'\n');
587 }
else if(twoPiProductionCX>0.) {
588 INCL_WARN(
"Returning a 2pi channel" <<
'\n');
592 }
else if(onePiProductionCX>0.) {
593 INCL_WARN(
"Returning a 1pi channel" <<
'\n');
597 }
else if(deltaProductionCX>0.) {
598 INCL_WARN(
"Returning a delta-production channel" <<
'\n');
603 INCL_WARN(
"Returning an elastic channel" <<
'\n');
622 const G4double StrangenessProdCX = (NLKProductionCX + NSKProductionCX + DeltaLKProductionCX + DeltaSKProductionCX + NNKKbProductionCX)/bias_apply;
624 G4double counterweight = (1. - bias_apply * StrangenessProdCX / (StrangenessProdCX + UnStrangeProdCX))/(1. - StrangenessProdCX / (StrangenessProdCX + UnStrangeProdCX));
626 if(counterweight < 0.5){
628 bias_apply = 0.5*UnStrangeProdCX/StrangenessProdCX+1;
642 if(elasticCX > rChannel) {
645 INCL_DEBUG(
"NDelta interaction: elastic channel chosen" <<
'\n');
648 }
else if (elasticCX + recombinationCX > rChannel){
652 INCL_DEBUG(
"NDelta interaction: recombination channel chosen" <<
'\n');
655 }
else if (elasticCX + recombinationCX + NLKProductionCX > rChannel){
657 isStrangeProduction =
true;
659 INCL_DEBUG(
"NDelta interaction: NLK channel chosen" <<
'\n');
662 }
else if (elasticCX + recombinationCX + NLKProductionCX + NSKProductionCX > rChannel){
664 isStrangeProduction =
true;
666 INCL_DEBUG(
"NDelta interaction: NSK channel chosen" <<
'\n');
669 }
else if (elasticCX + recombinationCX + NLKProductionCX + NSKProductionCX + DeltaLKProductionCX > rChannel){
671 isStrangeProduction =
true;
673 INCL_DEBUG(
"NDelta interaction: DeltaLK channel chosen" <<
'\n');
676 }
else if (elasticCX + recombinationCX + NLKProductionCX + NSKProductionCX + DeltaLKProductionCX + DeltaSKProductionCX > rChannel){
678 isStrangeProduction =
true;
680 INCL_DEBUG(
"NDelta interaction: DeltaSK channel chosen" <<
'\n');
683 }
else if (elasticCX + recombinationCX + NLKProductionCX + NSKProductionCX + DeltaLKProductionCX + DeltaSKProductionCX + NNKKbProductionCX > rChannel){
685 isStrangeProduction =
true;
687 INCL_DEBUG(
"NDelta interaction: NNKKb channel chosen" <<
'\n');
692 INCL_ERROR(
"rChannel > (StrangenessProdCX + UnStrangeProdCX) in NDelta interaction: return an elastic channel" <<
'\n');
701 INCL_DEBUG(
"DeltaDelta interaction: elastic channel chosen" <<
'\n');
719 const G4double StrangenessProdCX = (LKProdCX + SKProdCX + LKpiProdCX + SKpiProdCX + LK2piProdCX + SK2piProdCX + NKKbProdCX + MissingCX)/bias_apply;
721 G4double counterweight = (1. - bias_apply * StrangenessProdCX / (StrangenessProdCX + UnStrangeProdCX))/(1. - StrangenessProdCX / (StrangenessProdCX + UnStrangeProdCX));
723 if(counterweight < 0.5) {
725 bias_apply = 0.5*UnStrangeProdCX/StrangenessProdCX+1;
751 if(elasticCX > rChannel) {
754 INCL_DEBUG(
"PiN interaction: elastic channel chosen" <<
'\n');
757 }
else if(elasticCX + deltaProductionCX > rChannel) {
760 INCL_DEBUG(
"PiN interaction: Delta channel chosen" <<
'\n');
763 }
else if(elasticCX + deltaProductionCX + onePiProductionCX > rChannel) {
766 INCL_DEBUG(
"PiN interaction: one Pion channel chosen" <<
'\n');
769 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX > rChannel) {
772 INCL_DEBUG(
"PiN interaction: two Pions channel chosen" <<
'\n');
775 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX > rChannel) {
778 INCL_DEBUG(
"PiN interaction: three Pions channel chosen" <<
'\n');
781 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX > rChannel) {
784 INCL_DEBUG(
"PiN interaction: Eta channel chosen" <<
'\n');
787 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX+ omegaProductionCX > rChannel) {
790 INCL_DEBUG(
"PiN interaction: Omega channel chosen" <<
'\n');
793 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX+ omegaProductionCX
794 + LKProdCX > rChannel) {
796 isStrangeProduction =
true;
798 INCL_DEBUG(
"PiN interaction: LK channel chosen" <<
'\n');
801 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX+ omegaProductionCX
802 + LKProdCX + SKProdCX > rChannel) {
804 isStrangeProduction =
true;
806 INCL_DEBUG(
"PiN interaction: SK channel chosen" <<
'\n');
809 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX+ omegaProductionCX
810 + LKProdCX + SKProdCX + LKpiProdCX > rChannel) {
812 isStrangeProduction =
true;
814 INCL_DEBUG(
"PiN interaction: LKpi channel chosen" <<
'\n');
817 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX+ omegaProductionCX
818 + LKProdCX + SKProdCX + LKpiProdCX + SKpiProdCX > rChannel) {
820 isStrangeProduction =
true;
822 INCL_DEBUG(
"PiN interaction: SKpi channel chosen" <<
'\n');
825 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX+ omegaProductionCX
826 + LKProdCX + SKProdCX + LKpiProdCX + SKpiProdCX + LK2piProdCX > rChannel) {
828 isStrangeProduction =
true;
830 INCL_DEBUG(
"PiN interaction: LK2pi channel chosen" <<
'\n');
833 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX+ omegaProductionCX
834 + LKProdCX + SKProdCX + LKpiProdCX + SKpiProdCX + LK2piProdCX + SK2piProdCX > rChannel) {
836 isStrangeProduction =
true;
838 INCL_DEBUG(
"PiN interaction: SK2pi channel chosen" <<
'\n');
841 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX+ omegaProductionCX
842 + LKProdCX + SKProdCX + LKpiProdCX + SKpiProdCX + LK2piProdCX + SK2piProdCX + NKKbProdCX > rChannel) {
844 isStrangeProduction =
true;
846 INCL_DEBUG(
"PiN interaction: NKKb channel chosen" <<
'\n');
849 }
else if(elasticCX + deltaProductionCX + onePiProductionCX + twoPiProductionCX + threePiProductionCX + etaProductionCX+ omegaProductionCX
850 + LKProdCX + SKProdCX + LKpiProdCX + SKpiProdCX + LK2piProdCX + SK2piProdCX + NKKbProdCX + MissingCX> rChannel) {
852 isStrangeProduction =
true;
854 INCL_DEBUG(
"PiN interaction: Missinge Strangeness channel chosen" <<
'\n');
859 INCL_WARN(
"inconsistency within the PiN Cross Sections (sum!=inelastic)" <<
'\n');
861 INCL_WARN(
"Returning a Missinge Strangeness channel" <<
'\n');
864 isStrangeProduction =
true;
866 }
else if(NKKbProdCX>0.) {
867 INCL_WARN(
"Returning a NKKb channel" <<
'\n');
870 isStrangeProduction =
true;
872 }
else if(SK2piProdCX>0.) {
873 INCL_WARN(
"Returning a SK2pi channel" <<
'\n');
876 isStrangeProduction =
true;
878 }
else if(LK2piProdCX>0.) {
879 INCL_WARN(
"Returning a LK2pi channel" <<
'\n');
882 isStrangeProduction =
true;
884 }
else if(SKpiProdCX>0.) {
885 INCL_WARN(
"Returning a SKpi channel" <<
'\n');
888 isStrangeProduction =
true;
890 }
else if(LKpiProdCX>0.) {
891 INCL_WARN(
"Returning a LKpi channel" <<
'\n');
894 isStrangeProduction =
true;
896 }
else if(SKProdCX>0.) {
897 INCL_WARN(
"Returning a SK channel" <<
'\n');
900 isStrangeProduction =
true;
902 }
else if(LKProdCX>0.) {
903 INCL_WARN(
"Returning a LK channel" <<
'\n');
906 isStrangeProduction =
true;
908 }
else if(omegaProductionCX>0.) {
909 INCL_WARN(
"Returning a Omega channel" <<
'\n');
913 }
else if(etaProductionCX>0.) {
914 INCL_WARN(
"Returning a Eta channel" <<
'\n');
918 }
else if(threePiProductionCX>0.) {
919 INCL_WARN(
"Returning a 3pi channel" <<
'\n');
923 }
else if(twoPiProductionCX>0.) {
924 INCL_WARN(
"Returning a 2pi channel" <<
'\n');
928 }
else if(onePiProductionCX>0.) {
929 INCL_WARN(
"Returning a 1pi channel" <<
'\n');
933 }
else if(deltaProductionCX>0.) {
934 INCL_WARN(
"Returning a delta-production channel" <<
'\n');
939 INCL_WARN(
"Returning an elastic channel" <<
'\n');
956 if(elasticCX > rChannel) {
959 INCL_DEBUG(
"EtaN interaction: elastic channel chosen" <<
'\n');
961 }
else if(elasticCX + onePiProductionCX > rChannel) {
964 INCL_DEBUG(
"EtaN interaction: PiN channel chosen" <<
'\n');
966 }
else if(elasticCX + onePiProductionCX + twoPiProductionCX > rChannel) {
969 INCL_DEBUG(
"EtaN interaction: PiPiN channel chosen" <<
'\n');
974 INCL_WARN(
"inconsistency within the EtaN Cross Sections (sum!=inelastic)" <<
'\n');
975 if(twoPiProductionCX>0.) {
976 INCL_WARN(
"Returning a PiPiN channel" <<
'\n');
979 }
else if(onePiProductionCX>0.) {
980 INCL_WARN(
"Returning a PiN channel" <<
'\n');
984 INCL_WARN(
"Returning an elastic channel" <<
'\n');
1001 if(elasticCX > rChannel) {
1004 INCL_DEBUG(
"OmegaN interaction: elastic channel chosen" <<
'\n');
1006 }
else if(elasticCX + onePiProductionCX > rChannel) {
1009 INCL_DEBUG(
"OmegaN interaction: PiN channel chosen" <<
'\n');
1011 }
else if(elasticCX + onePiProductionCX + twoPiProductionCX > rChannel) {
1014 INCL_DEBUG(
"OmegaN interaction: PiPiN channel chosen" <<
'\n');
1018 INCL_WARN(
"inconsistency within the OmegaN Cross Sections (sum!=inelastic)" <<
'\n');
1019 if(twoPiProductionCX>0.) {
1020 INCL_WARN(
"Returning a PiPiN channel" <<
'\n');
1023 }
else if(onePiProductionCX>0.) {
1024 INCL_WARN(
"Returning a PiN channel" <<
'\n');
1028 INCL_WARN(
"Returning an elastic channel" <<
'\n');
1043 if(elasticCX > rChannel){
1046 INCL_DEBUG(
"KN interaction: elastic channel chosen" <<
'\n');
1048 }
else if(elasticCX + quasielasticCX > rChannel){
1051 INCL_DEBUG(
"KN interaction: quasi-elastic channel chosen" <<
'\n');
1053 }
else if(elasticCX + quasielasticCX + NKToNKpiCX > rChannel){
1056 INCL_DEBUG(
"KN interaction: NKpi channel chosen" <<
'\n');
1058 }
else if(elasticCX + quasielasticCX + NKToNKpiCX + NKToNK2piCX > rChannel){
1061 INCL_DEBUG(
"KN interaction: NK2pi channel chosen" <<
'\n');
1064 INCL_WARN(
"inconsistency within the KN Cross Sections (sum!=inelastic)" <<
'\n');
1065 if(NKToNK2piCX>0.) {
1066 INCL_WARN(
"Returning a NKToNK2pi channel" <<
'\n');
1069 }
else if(NKToNKpiCX>0.) {
1070 INCL_WARN(
"Returning a NKToNKpi channel" <<
'\n');
1073 }
else if(quasielasticCX>0.) {
1074 INCL_WARN(
"Returning a quasi-elastic channel" <<
'\n');
1078 INCL_WARN(
"Returning an elastic channel" <<
'\n');
1097 if(elasticCX > rChannel){
1100 INCL_DEBUG(
"KbN interaction: elastic channel chosen" <<
'\n');
1102 }
else if(elasticCX + quasielasticCX > rChannel){
1105 INCL_DEBUG(
"KbN interaction: quasi-elastic channel chosen" <<
'\n');
1107 }
else if(elasticCX + quasielasticCX + NKbToNKbpiCX > rChannel){
1110 INCL_DEBUG(
"KbN interaction: NKbpi channel chosen" <<
'\n');
1112 }
else if(elasticCX + quasielasticCX + NKbToNKbpiCX + NKbToNKb2piCX > rChannel){
1115 INCL_DEBUG(
"KbN interaction: NKb2pi channel chosen" <<
'\n');
1117 }
else if(elasticCX + quasielasticCX + NKbToNKbpiCX + NKbToNKb2piCX + NKbToLpiCX > rChannel){
1120 INCL_DEBUG(
"KbN interaction: Lpi channel chosen" <<
'\n');
1122 }
else if(elasticCX + quasielasticCX + NKbToNKbpiCX + NKbToNKb2piCX + NKbToLpiCX + NKbToL2piCX > rChannel){
1125 INCL_DEBUG(
"KbN interaction: L2pi channel chosen" <<
'\n');
1127 }
else if(elasticCX + quasielasticCX + NKbToNKbpiCX + NKbToNKb2piCX + NKbToLpiCX + NKbToL2piCX + NKbToSpiCX > rChannel){
1130 INCL_DEBUG(
"KbN interaction: Spi channel chosen" <<
'\n');
1132 }
else if(elasticCX + quasielasticCX + NKbToNKbpiCX + NKbToNKb2piCX + NKbToLpiCX + NKbToL2piCX + NKbToSpiCX + NKbToS2piCX > rChannel){
1135 INCL_DEBUG(
"KbN interaction: S2pi channel chosen" <<
'\n');
1138 INCL_WARN(
"inconsistency within the KbN Cross Sections (sum!=inelastic)" <<
'\n');
1139 if(NKbToS2piCX>0.) {
1140 INCL_WARN(
"Returning a NKbToS2pi channel" <<
'\n');
1143 }
else if(NKbToSpiCX>0.) {
1144 INCL_WARN(
"Returning a NKbToSpi channel" <<
'\n');
1147 }
else if(NKbToL2piCX>0.) {
1148 INCL_WARN(
"Returning a NKbToL2pi channel" <<
'\n');
1151 }
else if(NKbToLpiCX>0.) {
1152 INCL_WARN(
"Returning a NKbToLpi channel" <<
'\n');
1155 }
else if(NKbToNKb2piCX>0.) {
1156 INCL_WARN(
"Returning a NKbToNKb2pi channel" <<
'\n');
1159 }
else if(NKbToNKbpiCX>0.) {
1160 INCL_WARN(
"Returning a NKbToNKbpi channel" <<
'\n');
1163 }
else if(quasielasticCX>0.) {
1164 INCL_WARN(
"Returning a quasi-elastic channel" <<
'\n');
1168 INCL_WARN(
"Returning an elastic channel" <<
'\n');
1181 if(elasticCX > rChannel){
1184 INCL_DEBUG(
"NLambda interaction: elastic channel chosen" <<
'\n');
1186 }
else if(elasticCX + NLToNSCX > rChannel){
1189 INCL_DEBUG(
"NLambda interaction: quasi-elastic channel chosen" <<
'\n');
1192 INCL_WARN(
"inconsistency within the NLambda Cross Sections (sum!=inelastic)" <<
'\n');
1194 INCL_WARN(
"Returning a quasi-elastic channel" <<
'\n');
1198 INCL_WARN(
"Returning an elastic channel" <<
'\n');
1212 if(elasticCX > rChannel){
1215 INCL_DEBUG(
"NSigma interaction: elastic channel chosen" <<
'\n');
1217 }
else if(elasticCX + NSToNLCX > rChannel){
1220 INCL_DEBUG(
"NSigma interaction: NLambda channel chosen" <<
'\n');
1222 }
else if(elasticCX + NSToNLCX + NSToNSCX > rChannel){
1225 INCL_DEBUG(
"NSigma interaction: NSigma quasi-elastic channel chosen" <<
'\n');
1228 INCL_WARN(
"inconsistency within the NSigma Cross Sections (sum!=inelastic)" <<
'\n');
1230 INCL_WARN(
"Returning a quasi-elastic channel" <<
'\n');
1233 }
else if(NSToNLCX>0.) {
1234 INCL_WARN(
"Returning a NLambda channel" <<
'\n');
1238 INCL_WARN(
"Returning an elastic channel" <<
'\n');
1257 if (NNbElasticCX > rChannel) {
1262 }
else if (NNbElasticCX + NNbCEXCX > rChannel) {
1267 }
else if (NNbElasticCX + NNbCEXCX + NNbToLLbCX > rChannel) {
1272 }
else if (NNbElasticCX + NNbCEXCX + NNbToLLbCX + NNbToNNbpiCX > rChannel) {
1277 }
else if (NNbElasticCX + NNbCEXCX + NNbToLLbCX + NNbToNNbpiCX + NNbToNNb2piCX > rChannel) {
1282 }
else if (NNbElasticCX + NNbCEXCX + NNbToLLbCX + NNbToNNbpiCX + NNbToNNb2piCX + NNbToNNb3piCX > rChannel) {
1287 }
else if (NNbElasticCX + NNbCEXCX + NNbToLLbCX + NNbToNNbpiCX + NNbToNNb2piCX + NNbToNNb3piCX +AnnihilationCX > rChannel){
1305 INCL_ERROR(
"Annihilation type problem " <<
'\n');
1310 INCL_WARN(
"Inconsistency within the NNbar Cross Sections (sum != inelastic)" <<
'\n');
1311 if (NNbToNNb3piCX > 0.0) {
1312 INCL_WARN(
"Returning an NNbar 3pi channel" <<
'\n');
1315 }
else if (NNbToNNb2piCX > 0.0) {
1316 INCL_WARN(
"Returning an NNbar 2pi channel" <<
'\n');
1319 }
else if (NNbToNNbpiCX > 0.0) {
1320 INCL_WARN(
"Returning an NNbar pi channel" <<
'\n');
1323 }
else if (AnnihilationCX > 0.0) {
1324 INCL_WARN(
"Returning an NNbar annihilation channel" <<
'\n');
1341 INCL_ERROR(
"Annihilation type problem " <<
'\n');
1345 }
else if (NNbCEXCX > 0.0) {
1346 INCL_WARN(
"Returning an NNbar CEX channel" <<
'\n');
1349 }
else if (NNbToLLbCX > 0.0) {
1350 INCL_WARN(
"Returning an NNbar LLbar channel" <<
'\n');
1354 INCL_WARN(
"Elastic NNbar channel chosen" <<
'\n');
1362 INCL_DEBUG(
"BinaryCollisionAvatar can only handle nucleons (for the moment)."