function assign_excitInfo_values_double(typ, gen1, gen2, currentGen, firstGen, &
lastGen, i, j, k, l, fullStart, secondStart, firstEnd, fullEnd, &
weight, excitLvl, order, order1, overlap) result(excitInfo)
integer, intent(in) :: typ, gen1, gen2, currentGen, firstGen, lastGen, &
i, j, k, l, fullStart, secondStart, firstEnd, &
fullEnd, weight, excitLvl
integer, intent(in), optional :: overlap
real(dp), intent(in) :: order, order1
type(ExcitationInformation_t) :: excitInfo
! todo: asserts!
excitInfo%typ = typ
excitInfo%gen1 = gen1
excitInfo%gen2 = gen2
excitInfo%currentGen = currentGen
excitInfo%firstGen = firstGen
excitInfo%lastGen = lastGen
excitInfo%i = i
excitInfo%j = j
excitInfo%k = k
excitInfo%l = l
excitInfo%fullStart = fullStart
excitInfo%secondStart = secondStart
excitInfo%firstEnd = firstEnd
excitInfo%fullEnd = fullEnd
excitInfo%weight = weight
excitInfo%excitLvl = excitLvl
excitInfo%order = order
excitInfo%order1 = order1
if (present(overlap)) then
excitInfo%overlap = overlap
else
excitInfo%overlap = 2
end if
excitInfo%valid = .true.
end function assign_excitInfo_values_double