      logical function connol(cprobe,rprobe,cother,rother,
     &                                        cthis,rthis,nother)

c  this subroutine written by alain st-amant of the department of
c  pharmaceutical chemistry, university of california, san francisco.
c  all rights reserved.  this is part of the DeFT project.

      implicit real*8(a-h,o-z)

      dimension cprobe(*),cother(3,*),rother(*),cthis(*)
      dimension x(194),y(194),z(194),w(194),point(3,194)

      call ang194(x,y,z,w)

      do 1001 i=1,194
      point(1,i)=cprobe(1)+x(i)*rprobe
      point(2,i)=cprobe(2)+y(i)*rprobe
      point(3,i)=cprobe(3)+z(i)*rprobe
 1001 continue

      do 1002 i=1,nother

      s1=(rprobe+rother(i))**2
      s2=(rprobe+rthis)**2

      s3=(rprobe+rprobe+rother(i))**2

      xx=cprobe(1)-cother(1,i)
      yy=cprobe(2)-cother(2,i)
      zz=cprobe(3)-cother(3,i)

      dd=xx*xx+yy*yy+zz*zz

      if(dd.gt.s3) goto 1002

      do 1003 j=1,194
                      xx=cother(1,i)-point(1,j)
                      yy=cother(2,i)-point(2,j)
                      zz=cother(3,i)-point(3,j)

                      r1=xx*xx+yy*yy+zz*zz

                      xx=cthis(1)-point(1,j)
                      yy=cthis(2)-point(2,j)
                      zz=cthis(3)-point(3,j)

                      r2=xx*xx+yy*yy+zz*zz

                      if((r1.gt.s1).and.(r2.gt.s2)) goto 1002
 1003        continue

      connol=.true.
      return

 1002 continue

      connol=.false.

      return
      end
