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