function getPlus_double(nSwitches, bVal, double) result(plusWeight)
real(dp), intent(in) :: nSwitches, bVal
type(WeightData_t), intent(in) :: double
real(dp) :: plusWeight
character(*), parameter :: this_routine = "getPlus_double"
ASSERT(nSwitches >= 0.0_dp)
! update: the correct check for the b value in the case of the +2
! double excitation branch should be that its not allowed to be
! less than 2 on the current orbital with the new bVector
! implementation:
! or otherwise the excitation would lead to negative be values
if (bVal < 2.0_dp) then
plusWeight = 0.0_dp
else
plusWeight = double%G + nSwitches / bVal
end if
ASSERT(plusWeight >= 0.0_dp)
end function getPlus_double