Viewing contents of file '../idllib/sdss/allpro/hist2d.pro'
pro hist2d,x,y,hist,xrange,yrange,nxbins,nybins
;+
; NAME:
;    HIST2D
;
; PURPOSE:
;    like the IDL built in function hist_2d
;    but better since it can accept floats
;    output histogram is a longarray(nxbins,nybins)
;    uses only the relevent data in range
;
;  Dave Johnston
;-
if n_params() eq 0 then begin
	print,'-syntax hist2d,x,y,hist,xrange,yrange,nxbins,nybins'
	return
endif

xrange=float(xrange)
yrange=float(yrange)

xmin=xrange(0)
xmax=xrange(1)
ymin=yrange(0)
ymax=yrange(1)

w=where(x gt xmin and x lt xmax and y gt ymin and y lt ymax,count)
if count eq 0 then begin
	hist=-1
	return
endif

xind=floor((x(w)-xmin)*(nxbins/(xmax-xmin)))
yind=floor((y(w)-ymin)*(nybins/(ymax-ymin)))

ind=xind+nxbins*yind
h=histogram(ind,min=0l,max=long(nxbins*nybins)-1)

hist=lonarr(nxbins,nybins)
hist(*)=h

return
end