canonical emittances in sddsanalyzebeam
Posted: 21 Aug 2008, 06:06
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 *"
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 *"