pro plot_expint, qlds, interval, yrange=yrange, ut=ut ; ; get the exposure start times ; tc = gt_start(qlds,/exp) ; convert to seconds and get intervals ; t = utc2tai(str2utc(tc)) if n_dimensions(t) gt 1 then begin mint = min(t > 0) t = t - mint st = sort(t) t = t(st) tc = tc(st) tt = t - shift(t,1) tt = tt(1:*) tc = tc(1:*) endif else begin tt = t - shift(t,1) tt = tt(1:*) tc = tc(1:*) if n_dimensions(qlds.detdata) lt 4 then begin tt = reverse(abs(tt)) tc = reverse(tc) endif else begin tt = abs(tt) endelse endelse ; ; exposure number for plotting ; n = n_elements(tt) ex = indgen(n) ; ; set bad intervals to zero ; nbad = where(abs(tt) gt 1000,count) if count gt 0 then tt(nbad) = 0.0 ; ; return variable ; interval = tt ; ; loose bad ones for plotting ; ng = where(abs(tt) gt 0,count) if count gt 0 then begin tt = tt(ng) ex = ex(ng) tc = tc(ng) endif ; ; plot ; circle_sym,/fill if n_elements(yrange) ne 2 then begin yrange = ext_range(tt,50) yst = 0 endif else begin yst = 1 endelse ras = fmt_vect([qlds.header.ras_id,qlds.header.ras_var],del='/') if yrange(1)-yrange(0) lt 5 and yst eq 0 then begin yrange(1) = max(tt) + 3 yrange(0) = min(tt) - 3 endif if keyword_set(ut) then begin tst = utc2tai(str2utc(tc(0))) tend = utc2tai(str2utc(last_item(tc))) range = tend - tst tst = tst - range/10. tend = tend + range/10. tst = tai2utc(tst) tend = tai2utc(tend) utplot,str2utc(tc),tt,timer=[tst,tend],psym=8,yr=yrange,yst=yst,chars=1.5,$ tit='Exposure interval '+qlds.header.filename+' Raster '+ras,$ ytit='Interval (secs)',syms=0.7 endif else begin plot,ex,tt,psym=8,xr=[-5,n*1.2],yr=yrange,yst=yst,chars=1.5,$ tit='Exposure interval '+qlds.header.filename+' Raster '+ras,$ xtit='Exposure number',ytit='Interval (secs)',syms=0.7 endelse print,'Average interval: ',string(average(tt),'(f5.1)'),' secs.' print,'Std dev: ',string(stdev(tt),'(f5.3)') end