diff --git a/AUG/sxrageometry.m b/AUG/sxrageometry.m new file mode 100644 index 0000000000000000000000000000000000000000..7cd169da59041c60c346bfb660964f22f5f67522 --- /dev/null +++ b/AUG/sxrageometry.m @@ -0,0 +1,66 @@ +function [R_A, Z_A, ang_A,varargout]=sxrageometry(varargin); +% +% [R_A, Z_A, ang_A]=sxrageometry; +% +% returns angles for A SXR camera from AUG +% The R values at a given z=zmag are then given by: +% zmag>Z_A: only ang_A<180 +% R= R_A - (zmag-Z_A)./tan(pi-ang_A.*pi/180); +% zmag<Z_A: only ang_A>180 +% R= R_A - (zmag-Z_A)./tan(pi-ang_A.*pi/180); +% +% varargin{1}: zmag(t) (scalar or array) +% +% output +% R_A, Z_A scalars +% ang_A(nbchannels,1); +% varargout: R(nbchannels,time), with NaN depending on conditions above +% + +R_A=1.411; +Z_A=-1.075; +ang_A= [... + 47.852, ... + 49.967, ... + 52.151 , ... + 54.266 , ... + 56.449 , ... + 58.565 , ... + 60.748 , ... + 62.863 , ... + 65.047 , ... + 67.162 , ... + 69.345 , ... + 71.460 , ... + 73.644 , ... + 75.759 , ... + 77.942 , ... + 80.058 , ... + 82.241 , ... + 84.356 , ... + 86.540 , ... + 88.655 , ... + 90.838 , ... + 92.953 , ... + 95.137 , ... + 97.252 , ... + 99.435 , ... + 101.551 , ... + 103.734 , ... + 105.849 , ... + 108.033 , ... + 110.148]'; + +varargout{1}=[]; +if nargin <1 | isempty(varargin{1}) + return +end + +% compute R +zmag=varargin{1}; +varargout{1}=NaN*ones(length(ang_A),length(zmag)); +for i=1:length(ang_A) + varargout{1}(i,:) = R_A - (zmag'-Z_A)./tan(pi-ang_A(i).*pi/180); +end +iiout=find(varargout{1}<=0 | varargout{1}>=2.5); +varargout{1}(iiout)=NaN;