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;