def getAllPars(self, sddsfile=None):
        """ get all available parameter names from sddsfile

        :param sddsfile: sdds file name, if not given, rollback to the one that from ``__init__()``
        :return: all sdds data parameter names
        :rtype: list

        .. warning:: `sdds` needs to be installed as an extra dependency.

        :Example:

        >>> dh = DataExtracter('test.w1')
        >>> print(dh.getAllPars())
        ['Step', 'pCentral', 'Charge', 'Particles', 'IDSlotsPerBunch', 'SVNVersion', 'Pass', 'PassLength',
         'PassCentralTime', 'ElapsedCoreTime', 'MemoryUsage', 's', 'Description', 'PreviousElementName']

        :seealso: :func:`getAllCols`
        """
        if SDDS_:
            if sddsfile is not None:
                sddsobj = sdds.SDDS(2)
                sddsobj.load(sddsfile)
            else:
                sddsobj = self.sddsobj
            return sddsobj.parameterName
        else:
            if sddsfile is None:
                sddsfile = self.sddsfile
            return subprocess.check_output(['sddsquery', '-par', sddsfile]).split()
get all available parameter names from sddsfile

        :param sddsfile: sdds file name, if not given, rollback to the one that from ``__init__()``
        :return: all sdds data parameter names
        :rtype: list

        .. warning:: `sdds` needs to be installed as an extra dependency.

        :Example:

        >>> dh = DataExtracter('test.w1')
        >>> print(dh.getAllPars())
        ['Step', 'pCentral', 'Charge', 'Particles', 'IDSlotsPerBunch', 'SVNVersion', 'Pass', 'PassLength',
         'PassCentralTime', 'ElapsedCoreTime', 'MemoryUsage', 's', 'Description', 'PreviousElementName']

        :seealso: :func:`getAllCols`