anchor.diff:      select case (rxn % MT)
       case (ELASTIC)
          call elastic_scatter(p, nuc, rxn)
  -    case (N_2ND, N_2N, N_3N, N_2NA, N_3NA, N_2N2A, N_4N, N_2NP, N_3NP)
  -       call n_xn(p, nuc, rxn)
  -    case (N_NA, N_N3A, N_NP, N_N2A, N_ND, N_NT, N_N3HE, &
  -         & N_NT2A, N_N2P, N_NPA, N_N1 : N_NC)
  +    case (N_NA, N_N3A, N_NP, N_N2A, N_ND, N_NT, N_N3HE, N_NT2A, N_N2P, &
  +          N_NPA, N_N1 : N_NC, N_2ND, N_2N, N_3N, N_2NA, N_3NA, N_2N2A, &
  +          N_4N, N_2NP, N_3NP)
          call inelastic_scatter(p, nuc, rxn)
       case (N_FISSION, N_F, N_NF, N_2NF, N_3NF)
          call n_fission_event(p, nuc, rxn)
  
positive.code:     ! determine A and Q
      A = nuc % awr
      Q = rxn % Q_value
      
      ! determine secondary energy distribution law
      law = rxn % edist % law
  
  
negative.code:     n_secondary = abs(rxn % TY)
      p % wgt = n_secondary * p % wgt
  
    end subroutine inelastic_scatter
  
  !===============================================================================
  ! N_ABSORPTION handles all absorbing reactions, i.e. (n,gamma), (n,p), (n,a),
  