finddispersion6Err get 6D dispersion with bpm reading errors see also: findorbit6Err
0001 function dispersion=finddispersion6Err(RING, indbpm,indrfc,alpha,delta,inCOD) 0002 % finddispersion6Err 0003 % 0004 % get 6D dispersion with bpm reading errors 0005 % 0006 %see also: findorbit6Err 0007 f0=RING{indrfc(1)}.Frequency; 0008 0009 % plus delta 0010 RINGp=atsetfieldvalues(RING,indrfc,'Frequency',f0-alpha*(+delta)*f0); 0011 orbitp = findorbit6Err(RINGp, indbpm, inCOD); 0012 0013 RINGm=atsetfieldvalues(RING,indrfc,'Frequency',f0-alpha*(-delta)*f0); 0014 orbitm = findorbit6Err(RINGm, indbpm, inCOD); 0015 0016 dispersion=(orbitp-orbitm)/2/delta; 0017 0018 0019 end