function get_scan_ser, code, dev_out, unc_out, sok, dok, uok, $
	qforce_rd=qforce_rd, m1=m1, m2=m2, dev_ok=dev_ok, unc_ok=unc_ok, $
	avg=avg, ver=ver, tit=tit
;
;
if (n_elements(dev_ok) eq 0) then dev_ok = 0.5
if (n_elements(unc_ok) eq 0) then unc_ok = 0.00099999
;
case code of
    0: begin & st_ser = 575 & en_ser = 586 & end
    1: begin & st_ser = 592 & en_ser = 612 & end	;changed 611 to 612 2-Sep-94
    2: begin & st_ser = 623 & en_ser = 643 & end
    3: begin & st_ser = 656 & en_ser = 676 & end
    4: begin & st_ser = 688 & en_ser = 706 & end
    else: begin & st_ser = 0 & en_ser = 0  & end
endcase
;
infil = string(st_ser, en_ser, format="('$MDI_CAL_TXT/seq', i3.3, '-seq', i3.3)")
if (not file_exist(infil+'.*')) then begin
    print, 'GET_SCAN_SER: Input file: ' + infil + ' does not exist'
    return, -1
end
;
item = rd_mmap_sum(infil, head=head)
;
ver = head(0) + '!c' + head(1)
tit = 'Series ' + strtrim(st_ser,2) + ' - ' + strtrim(en_ser,2)
;
ser = item.ser
dev = item.trans.dev / item.trans.avg
unc = abs(item.uncert)
;
n = n_elements(ser)
sok = bytarr(n) & ss = where((ser ge st_ser) and (ser le en_ser)) 	& if (ss(0) ne -1) then sok(ss) = 1
dok = bytarr(n) & ss = where(dev le dev_ok)				& if (ss(0) ne -1) then dok(ss) = 1
uok = bytarr(n) & ss = where(unc le unc_ok)				& if (ss(0) ne -1) then uok(ss) = 1
;
ss = where(sok and dok and uok)
if (ss(0) eq -1) then begin
    out = -1
end else begin
    out = ser(ss)
    if (keyword_set(avg)) then begin
	out = item(ss).trans.avg
	if (keyword_set(m1)) then out = item(ss).m1.avg
	if (keyword_set(m2)) then out = item(ss).m1.avg
    end
    ;
    laser_info, ser(ss), wave
    ss2 = sort(wave)
    out = out(ss2)
end
;
ss = where(sok)
if (ss(0) ne -1) then begin
    laser_info, ser(ss), wave
    ss2 = sort(wave)
    ;
    dev_out = dev(ss(ss2))
    unc_out = unc(ss(ss2))
end
;
return, fix(out)
end
