      PROGRAM e2pd
*************************************************************************
* Conversion of dielectric functions to psi and delta                   *
* From standard input provide:
* input file name
* angle of incidence in degrees
* the standard input file must have the format x eps1 eps2              *
* The outputfile comes as: x psi delta                                  *
*************************************************************************
      REAL X(100000),e1,e2,psi,rho,del,teta,sn1,sn2,cs1,cs2,pi
      complex eps,epsil(100000),n1,n2,rp,rs,rps
      INTEGER I,mm 
      character*40 flin   
      read(*,'(a40)') flin
      open(23,file=flin)
      mm=100000 
      read(*,*) teta
      pi=4.*atan(1.)
      teta=teta*pi/180
      sn1=sin(teta)
      sn2=sn1**2
      cs2=1.-sn2
      cs1=sqrt(cs2)
      do 10 i=1,mm                                                  
       READ(23,*,END=11) X(i),e1,e2
       epsil(i)=cmplx(e1,e2)
10    continue   
11    mm=i-1
      close(23)
      do 25 i=1,mm
       eps=epsil(i)
       n1=eps*cs1
       n2=csqrt(eps-sn2)
       rp=(n1-n2)/(n1+n2)
       n1=cs1
       rs=(n1-n2)/(n1+n2)
       rps=rp/rs
       rho=real(cabs(rps))
       psi=atan(rho)
       del=aimag(clog(rps))
       write(*,*) x(i),psi,del
25    continue
      END  



