From 92f3ba6d853a65c647c62eddf3b72b27db5807b9 Mon Sep 17 00:00:00 2001 From: Olivier Sauter <olivier.sauter@epfl.ch> Date: Tue, 16 Apr 2002 20:31:46 +0000 Subject: [PATCH] add function to get R of sxr/B git-svn-id: https://spcsvn.epfl.ch/repos/TCV/gdat/trunk@1867 d63d8f72-b253-0410-a779-e742ad2e26cf --- AUG/sxrbgeometry.m | 70 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 AUG/sxrbgeometry.m diff --git a/AUG/sxrbgeometry.m b/AUG/sxrbgeometry.m new file mode 100644 index 00000000..b8145297 --- /dev/null +++ b/AUG/sxrbgeometry.m @@ -0,0 +1,70 @@ +function [R_B, Z_B, ang_B,varargout]=sxrbgeometry(varargin); +% +% [R_B, Z_B, ang_B]=sxrbgeometry; +% +% returns angles for B SXR camera from AUG +% The R values at a given z=zmag are then given by: +% zmag>Z_B: only ang_B<180 +% R= R_B - (zmag-Z_B)./tan(pi-ang_B.*pi/180); +% zmag<Z_B: only ang_B>180 +% R= R_B - (zmag-Z_B)./tan(pi-ang_B.*pi/180); +% +% varargin{1}: zmag(t) (scalar or array) +% +% output +% R_B, Z_B scalars +% ang_B(nbchannels,1); +% varargout: R(nbchannels,time), with NaN depending on conditions above +% + +R_B=2.351; +Z_B=-0.271; +ang_B= [... + 107.955, ... + 111.645, ... + 115.555, ... + 119.245, ... + 123.155, ... + 126.845, ... + 130.755, ... + 134.445, ... + 138.355, ... + 142.045, ... + 145.955, ... + 149.645, ... + 153.555, ... + 157.245, ... + 161.155, ... + 164.845, ... + 168.755, ... + 172.445, ... + 176.355, ... + 180.045, ... + 183.955, ... + 187.645, ... + 191.555, ... + 195.245, ... + 199.155, ... + 202.845, ... + 206.755, ... + 210.445, ... + 214.355, ... + 218.045]'; + +varargout{1}=[]; +if nargin <1 | isempty(varargin{1}) + return +end + +% compute R +zmag=varargin{1}; +varargout{1}=NaN*ones(length(ang_B),length(zmag)); +for i=1:length(zmag) + if zmag(i)>Z_B + ii=find(ang_B<((pi-atan((zmag(i)-Z_B)/(R_B-0.)))*180/pi)); + varargout{1}(ii,i) = R_B - (zmag(i)-Z_B)./tan(pi-ang_B(ii).*pi/180); + elseif zmag(i)<Z_B + ii=find(ang_B>((pi-atan((zmag(i)-Z_B)/(R_B-0.)))*180/pi)); + varargout{1}(ii,i) = R_B - (zmag(i)-Z_B)./tan(pi-ang_B(ii).*pi/180); + end +end -- GitLab