def _getOutputElegant(self, **kws):
        """ get results from elegant output according to the given keywords,
            input parameter format: key = sdds field name tuple, e.g.:
            available keywords are:
             - 'file': sdds fielname, file = test.sig
             - 'data': data array,    data = ('s','Sx')
             - 'dump': h5file name, if defined, dump data to hdf5 format
        """
        datascript = "sddsprintdata.sh"
        datapath = self.sim_path
        trajparam_list = kws['data']
        sddsfile = os.path.expanduser(os.path.join(self.sim_path, kws['file']))
        dh = datautils.DataExtracter(sddsfile, *trajparam_list)
        dh.setDataScript(datascript)
        dh.setDataPath(datapath)
        if 'dump' in kws:
            dh.setH5file(kws['dump'])
            dh.extractData().dump()
        data = dh.extractData().getH5Data()
        return data