45 lines
		
	
	
		
			912 B
		
	
	
	
		
			Fortran
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			912 B
		
	
	
	
		
			Fortran
		
	
	
	
	
	
| real function fchisq(c3,npts,fsample,a)
 | |
| 
 | |
|   parameter (NMAX=85*16)
 | |
|   complex c3(npts)
 | |
|   complex c4(NMAX)
 | |
|   real a(3)
 | |
|   complex z
 | |
|   data a1,a2,a3/99.,99.,99./
 | |
|   include 'jt9sync.f90'
 | |
|   save
 | |
| 
 | |
|   if(a(1).ne.a1 .or. a(2).ne.a2 .or. a(3).ne.a3) then
 | |
|      a1=a(1)
 | |
|      a2=a(2)
 | |
|      a3=a(3)
 | |
|      call twkfreq(c3,c4,npts,fsample,a)
 | |
|   endif
 | |
| 
 | |
| ! Get sync power.
 | |
|   nspsd=16
 | |
|   sum1=0.
 | |
|   sum0=0.
 | |
|   k=-1
 | |
|   do i=1,85
 | |
|      z=0.
 | |
|      do j=1,nspsd
 | |
|         k=k+1
 | |
|         z=z+c4(k+1)
 | |
|      enddo
 | |
|      pp=real(z)**2 + aimag(z)**2     
 | |
|      if(isync(i).eq.1) then
 | |
|         sum1=sum1+pp
 | |
|      else
 | |
|         sum0=sum0+pp
 | |
|      endif
 | |
|   enddo
 | |
|   sync_4992=(sum1/16.0)/(sum0/69.0) - 1.0             !r4992
 | |
|   sync_4993=sum1/10000.0                              !r4993+
 | |
| !  write(80,3001) 1.e-5*sum1,1.e-5*sum0,sync_4992,sync_4993,sync
 | |
| !3001 format(5f11.4)
 | |
|   fchisq=-sync_4993
 | |
| 
 | |
|   return
 | |
| end function fchisq
 |