function apply_mirror(in_orbs, mirror_axis) result(out_orbs)
! function to mirror the k- or r- vectors along a specified axis
integer, intent(in) :: in_orbs(nBasis / 2)
character(1), intent(in) :: mirror_axis
integer :: out_orbs(nBasis / 2)
#ifdef DEBUG_
character(*), parameter :: this_routine = "apply_mirror"
#endif
integer :: i
if (.not. t_symmetry_mirror .or. mirror_axis == '0') then
out_orbs = in_orbs
return
end if
do i = 1, nBasis / 2
out_orbs(i) = mirror(in_orbs(i), mirror_axis)
end do
end function apply_mirror