View | Details | Raw Unified | Return to problem 1680
Collapse All | Expand All

(-)G4CascadeInterface.cc (-1 / +24 lines)
Lines 728-734 Link Here
728
	 << G4endl;
728
	 << G4endl;
729
#endif
729
#endif
730
730
731
  return ( ((numberOfTries < maximumTries) &&
731
  //make sure photonuclear at low energies is OK: something other than
732
  //gamma produced
733
  G4bool photoneutron_ok = true;
734
  const G4ParticleDefinition* bullet_def = bullet->getDefinition();
735
  if (bullet->getKineticEnergy() < 50*MeV/GeV &&   // Bertini uses GeV
736
      (bullet_def == G4Gamma::Gamma() || bullet_def == G4Electron::Electron())){
737
    photoneutron_ok = false;
738
    const std::vector<G4InuclElementaryParticle>& particles = 
739
      output->getOutgoingParticles();
740
    // Get outgoing particles
741
    if (!particles.empty()) {
742
      particleIterator ipart = particles.begin();
743
      for (; ipart != particles.end(); ipart++) {
744
        if (ipart->getDefinition() != G4Gamma::Gamma()) {
745
          photoneutron_ok = true;
746
          break;
747
        }
748
      }
749
    }
750
  }
751
  return ( 
752
      (!photoneutron_ok && (numberOfTries < maximumTries)) || 
753
      ((numberOfTries < maximumTries) &&
732
	    (npart != 0) &&
754
	    (npart != 0) &&
733
#ifdef G4CASCADE_COULOMB_DEV
755
#ifdef G4CASCADE_COULOMB_DEV
734
	    (coulombBarrierViolation() && npart+nfrag > 2)
756
	    (coulombBarrierViolation() && npart+nfrag > 2)
Lines 739-744 Link Here
739
#ifndef G4CASCADE_SKIP_ECONS
761
#ifndef G4CASCADE_SKIP_ECONS
740
	   || (!balance->okay())
762
	   || (!balance->okay())
741
#endif
763
#endif
764
742
	   );
765
	   );
743
}
766
}
744
767

Return to problem 1680