============================================================ This routine injects a 2D beam of "NPARB" particles at the longitudinal postition XS [M] (along the ring or beam line). IOUT is a parameter for saving in the file "injection.data" the particle distribution. EX, EY, ES [MM*MMRAD] are the emittances of the 2D beam at injection. These emittances for a KV beam yields are the "edge emittances". Rxi,Rpxi,Ryi,Rpy are the 4 coordinates [m], [rad] where the center of the beam is injected. NDIST is a parameter for choosing the kind of distribution: ndist = 1 --> K-V distribution ndist = 2 --> Waterbag distribution ndist = 3 --> Gaussia-Gaussian distribution the flag sigmacut sayies at how many sigma the beam is cut in the file "injection.data" particle coordinates are stored as particle --> x[mm] px[mmrad] y[mm] py[mmrad] s[m] v[km/s] In the matrix XPAR(n,6) are stored the particle coordinates as follows: N = particle index XPAR(N,1)= X [M] XPAR(N,2)= PX [RAD] XPAR(N,3)= Y [M] XPAR(N,4)= PY [RAD] XPAR(N,5)= S [M] XPAR(N,6)= DP/P0 [RAD] It is possible to use repeatedly this routine to inject many 2D beam at different transverse positions. The total number of particles "NPAR" will be automatically updated. ============================================================= subroutine injection3D(XS,IOUT,EX,EY,ES, Rxi,Rpxi,Ryi,Rpyi) COMMONS: common-initi.f common-2Dsc-beam.f common-2Dsc-simulation.f SUBROUTINES USED: y beta beta_KV_BETA0 messages_n cs_phys_inj findelea micromap-index Mon Jul 17 08:57:38 CEST 2017