elemental function init_singleWeight(csf_i, sOrb) result(singleWeight)
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: sOrb
type(WeightObj_t) :: singleWeight
character(*), parameter :: this_routine = "init_singleWeight"
ASSERT(sOrb > 0 .and. sOrb <= nSpatOrbs)
singleWeight%dat%F = endFx(csf_i, sOrb)
singleWeight%dat%G = endGx(csf_i, sOrb)
singleWeight%proc%minus => getMinus_single
singleWeight%proc%plus => getPlus_single
singleWeight%initialized = .true.
end function init_singleWeight