      subroutine kapav(phi,den)
c
c Average n_e and bounce averaged phi over pitch angle kappa
c  i.e. given phi_ba(kappa) and den(kappa), get 
c             phi_bk(theta) and denk(theta).
c
      implicit none
      include 'itg.par'
      include 'itg.cmn'
      complex phi(kz,mz,nz),den(kz,mz,nz)
      integer l,j,m,n,l0

      do m=2,md
         do n=1,nd
            do j=1,ldb
               l0=1+abs(j-ldb/2-1)
               e_denk(j,m,n)=0.
               phi_bk(j,m,n)=0.
               do l=l0,kd
                  e_denk(j,m,n)=e_denk(j,m,n)+dkap(l)*den(l,m,n)*
     .                 wgtba2(l,j)
                  phi_bk(j,m,n)=phi_bk(j,m,n)+dkap(l)*phi(l,m,n)*
     .                 wgtba2(l,j)
               enddo
            enddo
         enddo
      enddo

      m=1
         do n=1,nd
            do j=1,ldb
               l0=1+abs(j-ldb/2-1)
               e_denk(j,m,n)=0.
               phi_bk(j,m,n)=0.
               do l=l0,kd-1
                  e_denk(j,m,n)=e_denk(j,m,n)+dkap(l)*(den(l,m,n)
     .                 +den(l+1,m,n))/2*wgtba2(l,j)
                  phi_bk(j,m,n)=phi_bk(j,m,n)+dkap(l)*(phi(l,m,n)
     .                 +phi(l+1,m,n))/2*wgtba2(l,j)
               enddo
               do l=max(kd,l0),kd+1
                  e_denk(j,m,n)=e_denk(j,m,n)+dkap(l)*den(l,m,n)
     .                 *wgtba2(l,j)
                  phi_bk(j,m,n)=phi_bk(j,m,n)+dkap(l)*phi(l,m,n)
     .                 *wgtba2(l,j)
               enddo
               do l=kd+2,kdpass
                  e_denk(j,m,n)=e_denk(j,m,n)+dkap(l)*(den(l,m,n)
     .                 +den(l-1,m,n))/2*wgtba2(l,j)
                  phi_bk(j,m,n)=phi_bk(j,m,n)+dkap(l)*(phi(l,m,n)
     .                 +phi(l-1,m,n))/2*wgtba2(l,j)
               enddo
            enddo
         enddo

      return
      end
