function Io = CT_dcalc(phi, step, Iin, n, alpha, raynum)

% ACHTUNG : raynum-1 muss gerade sein!!!!!!

alpha=[-(raynum-1)/2:(raynum-1)/2]*(pi/180)*(alpha/(raynum-1))+10*eps;
phiS = (pi/180)*phi;

SC = reshape(make_scross(n),2*n,2*n);
SM = reshape(SC',4*n*n,1);

% Quellpunkt in Polorkoordinaten

        r=2*n;
%        Q=r*[cos(phi);sin(phi)];
 
% Berechnen der Schnittpunkte

I = [];
t = 0;

ud = get(gca, 'UserData');
anim_onoff = ud(1);

FIG = gcf;

hndlList=get(FIG,'UserData');
stepsLbl=hndlList(11);
timeLbl=hndlList(12);

hold off;
axis('off');

global L;
global kI;
global SL;

b_break=0;
eq = 0;         

for k=1:step
   phi=k*2*pi/step + phiS;
   s_a=tan(phi+alpha); 
   Q=r*[cos(phi);sin(phi)];
 
% Zeichne Phantom; besteht aus regelmaessigem Gitter
% mit Maschenweite 1 von -n bis +n

   if anim_onoff==1,

   [x,y]=meshgrid([-n:1:n],[-n:1:n]);
 
   % SC = reshape(make_scross(n),2*n,2*n);
   colormap(gray);
   figure(FIG), hold off,
   image(0.5-n,0.5-n,(SC'+0.5)*60); 
   set(gca, 'YDir', 'normal');
   hold on, 

   plot(x,y,'-g'), hold on, plot(y,x,'-g')    

% Zeichne Kreis, auf dem sich die Quelle bewegt, und Quelle

   kreis_x=r*cos(2*pi*[0:200]/200);
   kreis_y=r*sin(2*pi*[0:200]/200);
   plot(kreis_x,kreis_y,'-r')                           
   plot(Q(1),Q(2),'or')  

% Zeichne Zentralstrahl

   plot([Q(1) -Q(1)],[Q(2) -Q(2)],'-y') 
   % s_a=tan(phi+alpha);
   P=Q*ones(1,length(alpha))-[cos(alpha+phi);sin(alpha+phi)] ...
   *diag(cos(alpha))*2*r;
   for j=1:length(alpha),
       plot([Q(1) P(1,j)],[Q(2) P(2,j)],'-c')
   end
   axis([-r r -r r])
   axis('square')
   axis('off')
   
   end
   
   set(stepsLbl, 'String', ['step ' int2str(k)]);

   tic
%===== FUNCTION CALL =====
   spunkt
%===== FUNCTION CALL =====  

% Austrittsintensitaeten

   ST = reshape(SM(B), 4*n+1, raynum);
   Iout = exp(sum(-ST.*len))*Iin;
   SL = [SL ST.*len];
   I = [I; Iout];
   
   kI = [kI; (log(Iout/Iin))'];
   
   [row, col] = find(len);

   for c=1:raynum,
     eq=eq+1;
     va = row(col==c);   
     inx = B(va, c);
     L(eq,inx)=-len(va,c)';
     if norm(len(va,c))==0, b_break=1; break , end
%     if abs(log(Iout(c)/Iin)-L(eq,:)*SM)>10^(-6), b_break=1; break , end
   end
   if b_break==1, break, end   
   
   t = toc+t;   
   set(timeLbl, 'String', ['time ' num2str(t,6)]);   
   
end

Io = I;
