subroutine perform_death_all_walkers(iter_data)
use DetBitOps, only: FindBitExcitLevel
use global_det_data, only: det_diagH
type(fcimc_iter_data), intent(inout) :: iter_data
integer :: ex_level, nI(nel), j
real(dp) :: sgn(lenof_sign), hdiag
do j = 1, int(TotWalkers)
call extract_sign(CurrentDets(:, j), sgn)
if (IsUnoccDet(sgn)) cycle
ex_level = FindBitExcitLevel(iLutRef(:, 1), CurrentDets(:, j))
hdiag = det_diagH(j)
call decode_bit_det(nI, CurrentDets(:, j))
call walker_death(iter_data, nI, CurrentDets(:, j), hdiag, &
sgn, j, ex_level)
end do
end subroutine perform_death_all_walkers