from math import * def mosaic(spacing, beam=1.18): # beam and sigma are given in units of lambda/D sigma = beam/2.3548 fractionalFlux = [] fractionalFlux.append(exp(-pow(spacing/sigma,2)*0.5)) fractionalFlux.append(exp(-pow(pow(3,0.5)*spacing/sigma,2)*0.5)) fractionalFlux.append(exp(-pow(2*spacing/sigma,2)*0.5)) fractionalFlux.append(exp(-pow(pow(7,0.5)*spacing/sigma,2)*0.5)) fractionalFlux.append(exp(-pow(3*spacing/sigma,2)*0.5)) timeOnSource = 1 print "Spacing = %.4f lambda/D with FWHM beam = %.4f lambda/D:"%(spacing,beam) print " = %.4f FWHM"%(spacing/beam) # 7-point mosaic timeOnSource += 6*(pow(fractionalFlux[0],2)) sensitivity = pow(timeOnSource,0.5) print "7-pt Sensitivity = %f times better than single pointing"%(sensitivity) # 19-point mosaic timeOnSource += 6*pow(fractionalFlux[1],2); timeOnSource += 6*pow(fractionalFlux[2],2); sensitivity = pow(timeOnSource,0.5) print "19-pt Sensitivity = %f times better than single pointing"%(sensitivity) # 37-point mosaic timeOnSource += 12*pow(fractionalFlux[3],2); timeOnSource += 6*pow(fractionalFlux[4],2); sensitivity = pow(timeOnSource,0.5) print "37-pt Sensitivity = %f times better than single pointing"%(sensitivity)