'Initialize the header Column objects from the table ``lines``.
Based on the previously set Header attributes find or create the column names.
Sets ``self.cols`` with the list of Columns.
Parameters
lines : list
List of table lines'

def get_cols(self, lines):

    start_line = core._get_line_index(self.start_line, self.process_lines(lines))
    position_line = core._get_line_index(self.position_line, self.process_lines(lines))
    if (start_line is None):
        if (position_line is not None):
            raise ValueError('Cannot    set    position_line    without    also    setting    header_start')
        data_lines = self.data.process_lines(lines)
        if (not data_lines):
            raise InconsistentTableError('No    data    lines    found    so    cannot    autogenerate    column    names')
        (vals, starts, ends) = self.get_fixedwidth_params(data_lines[0])
        self.names = [self.auto_format.format(i) for i in range(1, (len(vals) + 1))]
    else:
        if (position_line is not None):
            line = self.get_line(lines, position_line)
            if (len((set(line) - set([self.splitter.delimiter, '    ']))) != 1):
                raise InconsistentTableError('Position    line    should    only    contain    delimiters    and    one    other    character,    e.g.    "---    -------    ---".')
            charset = self.set_of_position_line_characters.union(set([self.splitter.delimiter, '    ']))
            if (not set(line).issubset(charset)):
                raise InconsistentTableError('Characters    in    position    line    must    be    part    of    {0}'.format(charset))
            (vals, self.col_starts, col_ends) = self.get_fixedwidth_params(line)
            self.col_ends = [((x - 1) if (x is not None) else None) for x in col_ends]
        line = self.get_line(lines, start_line)
        (vals, starts, ends) = self.get_fixedwidth_params(line)
        self.names = vals
    self._set_cols_from_names()
    for (i, col) in enumerate(self.cols):
        col.start = starts[i]
        col.end = ends[i]
