anchor.diff:    real(kind=fPrec) nsig,c_length,jawLength,jawAperture,jawOffset,jawTilt(2),x_Dump,xpDump,y_Dump,   &
       ypDump,s_Dump,xmax,ymax,calc_aperture,zpj,xmax_pencil,ymax_pencil,xmax_nom,ymax_nom,            &
       nom_aperture,scale_bx,scale_by,c_tilt(2),c_offset,c_aperture,c_rotation,cry_bendangle,cry_tilt, &
  -    cry_tilt0
  +    cry_tilt0,cRot,sRot
   
     call time_startClock(time_clockCOLL)
   
  
positive.code:   do j=napx,1,-1
      if(llostp(j) .eqv. .false.) cycle
  
      part_hit_pos(j:tnapx)         = cshift(part_hit_pos(j:tnapx),   1)
      part_hit_turn(j:tnapx)        = cshift(part_hit_turn(j:tnapx),  1)
      part_abs_pos(j:tnapx)         = cshift(part_abs_pos(j:tnapx),   1)
      part_abs_turn(j:tnapx)        = cshift(part_abs_turn(j:tnapx),  1)
      part_select(j:tnapx)          = cshift(part_select(j:tnapx),    1)
      part_impact(j:tnapx)          = cshift(part_impact(j:tnapx),    1)
      part_indiv(j:tnapx)           = cshift(part_indiv(j:tnapx),     1)
      part_linteract(j:tnapx)       = cshift(part_linteract(j:tnapx), 1)
  
      nabs_type(j:tnapx)            = cshift(nabs_type(j:tnapx),      1)
      nhit_type(j:tnapx)            = cshift(nhit_type(j:tnapx),      1)
  
      tnapx = tnapx - 1
    end do
  
negative.code:       if(stracki == zero) then
          if(iexact) then
            zpj    = sqrt(one-rcxp(j)**2-rcyp(j)**2)
            rcx(j) = rcx(j) - (half*c_length)*(rcxp(j)/zpj)
            rcy(j) = rcy(j) - (half*c_length)*(rcyp(j)/zpj)
          else
            rcx(j) = rcx(j) - (half*c_length)*rcxp(j)
            rcy(j) = rcy(j) - (half*c_length)*rcyp(j)
          end if
        end if
  
        ! Now copy data back to original verctor
        xv1(j) =  rcx(j)*c1e3 + torbx(ie)
        yv1(j) = rcxp(j)*c1e3 + torbxp(ie)
        xv2(j) =  rcy(j)*c1e3 + torby(ie)
        yv2(j) = rcyp(j)*c1e3 + torbyp(ie)
        ejv(j) =  rcp(j)*c1e3
  
        !  Energy update, as recommended by Frank
        ejfv(j)     = sqrt(ejv(j)**2-nucm(j)**2)
  