      PROGRAM etoll
*************************************************************************
* Conversion of dielectric functions to pseud0-loss function.           *
* the standard input file must have the format 
* x epsx1 epsx2 epsy1 epsy2 epsz1 epsz3
* from standard input it reads 
* filename of file containing dielectric tensor cmponents along x, y, z
* angle of incidence
* The outputfile comes as x, pseudoloss, loss.                          *
*************************************************************************
      REAL X(100000),e1,e2,pi,angle,phase,sn2,a1,a2,b1,b2,n1,n2,cst
      complex epsil(100000),los,f,nab(100000)
      INTEGER I,mm   
      character*40 flin
      read(*,'(a40)') flin 
      read(*,*) angle
      open(17,file=flin)
      pi=4.*atan(1.)
      sn2=sin(angle*pi/180)
      sn2=sn2**2
      cst=cos(angle*pi/180)
      mm=100000 
      do 10 i=1,mm                                                  
       READ(17,*,END=11) X(i),a1,a2,b1,b2,e1,e2
       epsil(i)=cmplx(e1,e2)
       nab(i)=csqrt(cmplx(a1,a2))
10    continue   
11    mm=i-1
      close(17)
      do 25 i=1,mm
       n1=real(nab(i))
       n2=aimag(nab(i))
       f=cexp(cmplx(0,pi/2-atan(n2/n1)))
       los=f*csqrt(1.-sn2/epsil(i))/(1+cabs(los/(nab(i)*cst))**2)
       write(*,*) x(i),aimag(los),-aimag(1/epsil(i))
25    continue
      END  

