PRO Sumdetread,unit,header,QLDS,selection,status=status
  
  
  On_Error,2
  IF !DEBUG ne 0 THEN On_Error,0
  
  CurrentIx = 0
  
  Det_ColNo = selection.Det_ColNo
  selected = selection.selected
  hdr_only = (selected eq 0)
  Ncols = N_elements(QLDS.DetDesc)
  Ddims = N_elements(QLDS.DetDesc(0).ixstart)
  F_rows = selection.F_rows
  N_rows = selection.N_rows
;
; Store all detectore windows.
;
  FOR WindowNo=0,Ncols-1 DO BEGIN
      readsumcol,unit,Window,Det_ColNo(WindowNo),header=hdr_only(WindowNo) ;, $
                          ; status=status
      IF N_elements(status) gt 0 THEN IF status ne '' THEN return
      QLDS.DetDesc(WindowNo) = MkSumWdesc(Window,Ddims)
      IF selected(WindowNo) THEN StoreSumWnd,WindowNo,CurrentIx,QLDS,Window $
      ELSE BEGIN
      tdim = fix(fxbDimen(Unit,Det_ColNo(WindowNo)))  ; Mark ghost indexes
      IF F_rows THEN tdim = [tdim,N_rows]
      QLDS.DetDesc(WindowNo).ixstart(*)=0
      QLDS.DetDesc(WindowNo).ixstop = tdim - 1
      QLDS.DetDesc(WindowNo).ixstop(0) = -tdim(0)+1
      END
  END
  
END