subroutine convert_ilut_toNECI(ilutG, ilutN, HElement)
integer(n_int), intent(in) :: ilutG(0:GugaBits%len_tot)
integer(n_int), intent(out) :: ilutN(0:niftot)
HElement_t(dp), intent(out), optional :: HElement
character(*), parameter :: this_routine = "convert_ilut_toNECI"
ASSERT(isProperCSF_ilut(ilutG))
ilutN = 0_n_int
! i think i just need to copy over the det part again
ilutN(0:GugaBits%len_orb) = ilutG(0:GugaBits%len_orb)
! and then extract the matrix element
! here i need to check what type of matrix element is necessary
! dependent on which type of compilation,
! extract_matrix_element always gives a real(dp)!
if (present(HElement)) then
HElement = extract_h_element(ilutG)
end if
if (tFillingStochRDMonfly) then
! in this case I need to transfer the rdm_ind and x0,x1 info to
! the 'neci ilut'
call transfer_stochastic_rdm_info(ilutG, ilutN)
end if
end subroutine convert_ilut_toNECI