[t 6xNbpm array of trajectory ] = findtrajectory6Err( ring, 1) AT lattice indBPM, 2) bpm indexes inCOD ) 3) 6x1 input coordinates (default: zero) uses linepass to obtain trajectory in ring at indBPM if present, BPM errors are included on x(1st) and y(3rd) coordinates. see also: linepass bpm_matrices bpm_process
0001 function [t] = findtrajectory6Err( ring,indBPM,inCOD ) 0002 %[t 6xNbpm array of trajectory 0003 % ] = findtrajectory6Err( 0004 % ring, 1) AT lattice 0005 % indBPM, 2) bpm indexes 0006 % inCOD ) 3) 6x1 input coordinates (default: zero) 0007 % 0008 % uses linepass to obtain trajectory in ring at indBPM 0009 % if present, BPM errors are included on x(1st) and y(3rd) coordinates. 0010 % 0011 %see also: linepass bpm_matrices bpm_process 0012 0013 if nargin<3 0014 inCOD=[0 0 0 0 0 0]'; 0015 end 0016 0017 % linepass 0018 outtr=linepass(ring,inCOD,indBPM); 0019 ox=outtr(1,:); 0020 oy=outtr(3,:); 0021 0022 % set bpm errors 0023 [rel,tel,trand] = bpm_matrices(ring(indBPM)); 0024 bpmreading = bpm_process([ox; oy],rel,tel,trand); 0025 t=outtr; 0026 t(1,:)=bpmreading(1,:); 0027 t(3,:)=bpmreading(2,:); 0028 0029 end 0030