% collins2.m   Collins Chart with possible solutions for
%              various questions about Gaussian beams
%             by Chuck DiMarzio
%                Northeastern University
%                November 2008
zlim=1.5;blim=2;  % Set the plot limits for collinsb.m

% plot a circle for b'=2;
bprimex=2;
a=(0:360)*pi/180;
q1=(1i+exp(1i*a))*bprimex/2;
% plot the maximum length line across the circle
q2=[-1,1]*bprimex/2+1i*bprimex/2;

fig19=figure;
       plot(real(q1),imag(q1),'k-',...
            real(q2),imag(q2),'k-o','LineWidth',4);
xlabel('z, Axial Distance');ylabel('b, Confocal Parameter');
axis([-zlim,zlim,0,blim]);
%print('-deps',[epspath,'-deps 9-19-collins.eps']);

fig19c=figure;
collinsb;plot(real(q1),imag(q1),'g-',...
            real(q2),imag(q2),'g-o','LineWidth',4);
xlabel('z, Axial Distance');ylabel('b, Confocal Parameter');
axis([-zlim,zlim,0,blim]);


% Put a waist at a given distance with a fixed size beam
%
% plot a circle for b'=2;
bprimex=2;z=-1;
a=[0:360]*pi/180;
q1=(i+exp(1i*a))*bprimex/2;
% plot the line to the waist - one solution
q2=[-1,0]*bprimex/2+1i*bprimex/2;
q3=z+[0,1i*blim]

fig20=figure;
         plot(real(q1),imag(q1),'k-',...
             real(q3),imag(q3),'k-',...
            real(q2),imag(q2),'k-o','LineWidth',4);
xlabel('z, Axial Distance');ylabel('b, Confocal Parameter');
axis([-zlim,zlim,0,blim]);
%print('-deps',[epspath,'9-20-collins.eps']);

fig20c=figure;
collinsb;plot(real(q1),imag(q1),'g-',...
             real(q3),imag(q3),'g-',...
            real(q2),imag(q2),'g-o','LineWidth',4);
xlabel('z, Axial Distance');ylabel('b, Confocal Parameter');
axis([-zlim,zlim,0,blim]);

% plot the line to the waist - no solution
z=-1.2;
q3=z+[0,1i*blim]

fig21=figure;
         plot(real(q1),imag(q1),'k-',...
            real(q3),imag(q3),'k-o','LineWidth',4);
xlabel('z, Axial Distance');ylabel('b, Confocal Parameter');
axis([-zlim,zlim,0,blim]);
%print('-deps',[epspath,'9-21-collins.eps']);

fig21c=figure;
collinsb;plot(real(q1),imag(q1),'g-',...
            real(q3),imag(q3),'g-o','LineWidth',4);
xlabel('z, Axial Distance');ylabel('b, Confocal Parameter');
axis([-zlim,zlim,0,blim]);

% plot the line to the waist - two solutions
z=-cosd(30);
q3=z+[0,1i*blim];
q2=[z,0]*bprimex/2+1i*(1+sind(30))*bprimex/2;
q4=[z,0]*bprimex/2+1i*(1-sind(30))*bprimex/2;

fig22=figure;
          plot(real(q1),imag(q1),'k-',...
             real(q3),imag(q3),'k-',...
             real(q4),imag(q4),'k-o',...
            real(q2),imag(q2),'k-o','LineWidth',4);
xlabel('z, Axial Distance');ylabel('b, Confocal Parameter');
axis([-zlim,zlim,0,blim]);
%print('-deps',[epspath,'9-22-collins.eps']);

fig22c=figure;
collinsb;plot(real(q1),imag(q1),'g-',...
             real(q3),imag(q3),'g-',...
             real(q4),imag(q4),'g-o',...
            real(q2),imag(q2),'g-o','LineWidth',4);
xlabel('z, Axial Distance');ylabel('b, Confocal Parameter');
axis([-zlim,zlim,0,blim]);

% co2 laser cavity
zlim=2;blim=3;
d0=5e-3;
lambda=10.59e-6;
b=pi*d0^2/4/lambda;
z=-1;
rho=z+b^2/z;
d=d0*sqrt(1+(z/b)^2);
bprimex=pi*d^2/4/lambda;
a=(0:360)*pi/180;
q1=(1i+exp(1i*a))*bprimex/2;
q2=[z,0]+1i*b;
q3=z+[0,1i*blim];
q4=0+1i*[0,blim];
a=(0:180)*pi/180;
q5=(1+exp(-1i*a))*rho/2;

fig23=figure;
%collinsb; % Have to leave off the grid on this one in order to see the
%lines
plot(real(q1),imag(q1),'k--',...
             real(q3),imag(q3),'k--',...
             real(q4),imag(q4),'k-',...
             real(q5),imag(q5),'k-',...
            real(q2),imag(q2),'k-o','LineWidth',6);
xlabel('z, Axial Distance');ylabel('b, Confocal Parameter');
axis([-zlim,zlim,0,blim]);
%print('-deps',[epspath,'9-23-collins.eps']);

fig23c=figure;
collinsb;plot(real(q1),imag(q1),'g--',...
             real(q3),imag(q3),'g--',...
             real(q4),imag(q4),'g-',...
             real(q5),imag(q5),'g-',...
            real(q2),imag(q2),'g-o','LineWidth',8);
xlabel('z, Axial Distance');ylabel('b, Confocal Parameter');
axis([-zlim,zlim,0,blim]);
q3 =
  -1.0000            -1.0000 + 2.0000i
q3 =
  -1.2000            -1.2000 + 2.0000i