anchor.diff:  
       real(dp) :: x_i,y_i,phi_i, dphi
   
  +    real(dp) :: e
  +
  +    e = spacing(sqrt(p%r .dot. p%r)) * 100._dp  ! TODO: reduce this value
  +
       ! Find the intersections with all walls:
   
       call reset_t()
  
positive.code:     integer :: i1, i2, i3
      if(debug) write(*,'(" [debug] find_cell")')
      r_squared = p%r%x*p%r%x+p%r%y*p%r%y
      phi = atan2(p%r%y,p%r%x)
      if(phi < 0._dp) phi = phi + twopi
      i1 = locate(geo%wr2,r_squared)
      i2 = locate(geo%w2,p%r%z)
      i3 = locate(geo%w3,phi)
      if(i1<1.or.i1>geo%n1) then
         call warn("find_cell","photon not in cell (in r direction)")
  
negative.code:     else
         p%in_cell = .true.
      end if
  
      call adjust_wall(p)
  
    end subroutine place_in_cell
  
    logical function escaped_photon(p)
  