HElement_t(dp) function three_body_transcorr_fac_ksym(nI, p, q, k, spin)
integer, intent(in) :: nI(nel), spin
type(symmetry) :: p, q, k
#ifdef DEBUG_
character(*), parameter :: this_routine = "three_body_transcorr_fac_ksym"
#endif
type(symmetry) :: k1, k2
real(dp) :: n_opp_loc
ASSERT(spin == 1 .or. spin == -1)
if (spin == -1) then
n_opp_loc = real(nOccAlpha, dp)
else
n_opp_loc = real(nOccBeta, dp)
end if
k1 = SymTable(k%s, SymConjTab(q%s))
k2 = SymTable(p%s, q%s)
three_body_transcorr_fac_ksym = three_body_const_mat(p%s, k%s, spin) + &
three_body_prefac * (get_one_body_diag(nI, -spin, k1) + get_one_body_diag(nI, -spin, k2, .true.))
end function three_body_transcorr_fac_ksym