zmin = -zlim zmax = zlim deltaEfrac = 0.001 / 2. eoffset = 0.1 sp = b.getSyncParticle() xFunc = JohoTransverse(order, alphax, betax, emitlim, xcenterpos, xcentermom, tailfrac, tailfac) yFunc = JohoTransverse(order, alphay, betay, emitlim, ycenterpos, ycentermom, tailfrac, tailfac) lFunc = UniformLongDist(zmin, zmax, sp, eoffset, deltaEfrac) nparts = 10000. injectnode = TeapotInjectionNode(nparts, b, lostbunch, injectparams, xFunc, yFunc, lFunc) addTeapotInjectionNode(teapot_latt, 0., injectnode) print "===========Lattice modified =======================================" print "New Lattice=", teapot_latt.getName( ), " length [m] =", teapot_latt.getLength(), " nodes=", len( teapot_latt.getNodes()) injectnode.track(paramsDict) # dump ORBIT_MPI bunch to compare results bunch_pyorbit_to_orbit(teapot_latt.getLength(), b, "mainbunch.dat") bunch_pyorbit_to_orbit(teapot_latt.getLength(), lostbunch, "lostbunch.dat") print "Stop."
yFunc = JohoTransverse(order, alphay, betay, emitlim, ycenterpos, ycentermom) lFunc = SNSESpreadDist(lattlength, zmin, zmax, tailfraction, sp, emean, esigma, etrunc, emin, emax, ecparams, esparams) #====Injection and foil aperature============ xmin = xcenterpos - 0.0085 xmax = xcenterpos + 0.0085 ymin = ycenterpos - 0.0080 ymax = ycenterpos + 0.100 #=================Add the injection node and foil node== ============== nparts = macrosperturn injectparams = (xmin, xmax, ymin, ymax) injectnode = TeapotInjectionNode(nparts, b, lostbunch, injectparams, xFunc, yFunc, lFunc) addTeapotInjectionNode(teapot_latt, 0., injectnode) thick = 400.0 foil = TeapotFoilNode(xmin, xmax, ymin, ymax, thick, "Foil 1") scatterchoice = 0 foil.setScatterChoice(scatterchoice) addTeapotFoilNode(teapot_latt,0.000001,foil) #---------------------------------------------- # Add one black absorber collimator to act like # an aperture #---------------------------------------------- colllength = 0.00001 ma = 9 density_fac = 1.0 shape = 1