subroutine sextupole(zn) c----------------------------------------------------------------------- c include 'param_sz.h' include 'constcom.h' include 'pcordcom.h' include 'syscom.h' c c----------------------------------------------------------------------- ne=rne sl=zn-z xp=bgx/bgz yp=bgy/bgz con=1.+xp**2+yp**2 z=zn caysq=el(4,ne)/(brhof*bgz) caysqtsq=caysq*sl**2 xn=x+sl*xp-caysqtsq*(.5*x**2+x*xp*sl/3.+(xp*sl)**2/12. & -(.5*y**2+y*yp*sl/3.+(yp*sl)**2/12.)) xpn=xp-caysq*sl*(x**2+x*xp*sl+xp**2*sl**2/3. & -(y**2+y*yp*sl+yp**2*sl**2/3.)) yn=y+sl*yp+caysqtsq*(x*y+x*yp*sl/3.+xp*y*sl+xp*yp*sl**2/6.) ypn=yp+caysq*sl*(2.*x*y+(x*yp+xp*y)*sl+2.*xp*yp*sl**2/3.) x=xn y=yn bgx=xpn*bgz bgy=ypn*bgz bgz=bgz*sqrt(con/(1.+xp**2+yp**2)) return end c++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*