anchor.diff:    firstcoll = .true.
   
   !GRD HERE WE NEED TO INITIALIZE SOME COLLIMATION PARAMETERS
  -  napx = napx00
   
     do j = 1, napx
       part_hit_pos(j)   = 0
  
positive.code: !  logical firstrun
  
    integer, save :: nsurvive, nsurvive_end, num_selhit, n_impact
  
    integer, save :: napx00
  
    real(kind=fPrec), allocatable, save :: db_tilt(:,:) !(max_ncoll,2)
  
  
negative.code: 
    ! Copy new particles to tracking arrays. Also add the orbit offset at start of ring!
    if(do_thisdis /= 0) then
      xv1(1:napx)   = c1e3 *  myx(1:napx) + torbx(1)
      yv1(1:napx)   = c1e3 * myxp(1:napx) + torbxp(1)
      xv2(1:napx)   = c1e3 *  myy(1:napx) + torby(1)
      yv2(1:napx)   = c1e3 * myyp(1:napx) + torbyp(1)
      sigmv(1:napx) = mys(1:napx)
      ejv(1:napx)   = myp(1:napx)
    end if
  
    do i = 1, napx
      ! FOR NOT FAST TRACKING ONLY
      ejfv(j)=sqrt(ejv(j)**2-nucm(j)**2)
      rvv(j)=(ejv(j)*e0f)/(e0*ejfv(j))
  