Page 1 of 1

canonical emittances in sddsanalyzebeam

Posted: 21 Aug 2008, 06:06
by Philippe Piot
Hi,
Would it be possible to add canonical emittances in sddsanalyzebeam. Right now the enx eny are
trace space normalized emittance and sometime they can be very different from the usual canonical
emittances, e.g. for beam with very large energy spread. This feature would allow sddsanalyzebeam
to reliably analyze the outputs of other programs, e.g. ASTRA/Impact. Thank you!

-- Philippe.


Below is what I meant by canonical emittance (defined as enxcan) -- this is probably not the optimum
way to do this.

plaindata2sdds deck.1600.001 -noRowCount -col=x,double,units=m -pipe=out \
-col=y,double,units=m -col=z,double,units=m -col=Px,double -col=Py,double \
-col=Pz,double -col=clock,double -col=charge,double -col=particle,long -col=status,long \
| sddsprocess -pipe -proc=Pz,first,Pz0 \
| sddsprocess -pipe -clip=1,0 \
| sddsprocess -pipe "-define=col,t,z -1 * 299792458 /,units=s" "-test=col,status 0 >" \
"-define=col,xp,Px Pz0 Pz + /" "-define=col,yp,Py Pz0 Pz + /" "-define=col,pOverp0,Pz Pz0 / 1 +" \
"-define=col,p,Pz Pz0 + 0.51099906e6 /" "-define=col,xp_p0,pOverp0 xp *"\
"-define=col,x_px, xp_p0 x *" "-define=col,xp_p0_2, xp_p0 xp_p0 *" "-define=col,x2,x x *" \
"-define=par,nP,n_rows,type=long" \
"-process=x2,average,xms" "-process=xp_p0_2,average,xpms" "-process=x_px,average,xpxmean"\
"-define=par,excantmp,xms xpms * xpxmean xpxmean * - sqrt"\
| sddsanalyzebeam -pipe | sddsprocess -pipe "-define=col,enxcan,excantmp pAverage *"

Re: canonical emittances in sddsanalyzebeam

Posted: 21 Aug 2008, 09:55
by michael_borland
Philippe,

Thanks for the suggestion. This will appear as an option for sddsanalyzebeam in the next release.

--Michael