c      Magnitude limite en CCD

	double precision pixel,fd,foc
	double precision fwhm, dd, alpha, tpos, st2, chi
	integer npos
	double precision xx, magn
	double precision dpi
	character cfin
	
	dpi = 3.1415926535897932384626d0
	
10	continue

	print * , 'FWHM en secondes d''arc (ex. 4) : '
	read * , fwhm
	print * , 'Diametre de l''instrument (cm)  : '
	read * , dd
	print * , 'Rapport F/D                    : '
	read * , fd
	foc = dd * fd
	print * , 'Taille du pixel en microns     : '
	read * , pixel
	pixel = pixel/10000    ! taille en cm
	alpha = 2*datan( pixel/(2*foc) )   ! en radians
	alpha = alpha * 180d0 / dpi        ! en degrés
	alpha = 3600d0 * alpha             ! en arsecs
	print * , '==> 1 pixel = ', alpha, ' "'
	print * , 'Temps de pose total en sec.    : '
	read * , tpos
	print * , 'Nombre de poses elementaires   : '
	read * , npos

c	Bruit de l'image

	st2 = ( 0.00666d0*dd*dd*alpha*alpha+0.1d0 )*tpos + 225.0d0*npos
	
c	Fraction d'étoile dans le pixel

	if ( alpha .ge. fwhm ) then
		chi = 1.0d0
	else
		chi = 4d0*alpha*alpha/(dpi*fwhm*fwhm)
	endif

c	Magnitude limite (Remarque : 25d0 = (S/B)^2 = 5^2 )

	xx = 1d0 + dsqrt( 1d0 + 4d0*st2/25d0 )
	magn = -2.5d0*dlog10( xx * 25d0 / (636000d0*chi*dd*dd*tpos) )
	
	print * , ' '
	print * , 'Magnitude limite = ', magn
	print * , ' '
	
	print * , '-------------------'
	print * , ' '

	print * , 'Voulez-vous continuer ? (o/n)'
	read * , cfin
	
	if ( cfin .ne. 'n' ) goto 10
	
	return
	end
