def METHOD_NAME(self, formula):
    """
    Args
    -----
    formula : str
    Returns
    -----
        Tuple[np.ndarray, np.ndarray]
    """
    if self.analysis_version < 2:
        cpyMSpec = cpyMSpec_0_3_5  # pylint: disable=invalid-name
    else:
        # noinspection PyPep8Naming
        cpyMSpec = cpyMSpec_0_4_2  # pylint: disable=invalid-name
    try:
        iso_pattern = cpyMSpec.isotopePattern(str(formula))
        iso_pattern.addCharge(int(self.charge))
        fwhm = self.sigma * SIGMA_TO_FWHM
        if self.analysis_version < 2:
            resolving_power = iso_pattern.masses[0] / fwhm
            instrument_model = cpyMSpec.InstrumentModel('tof', resolving_power)
        else:
            resolving_power = BASE_MZ / fwhm
            instrument_model = cpyMSpec.InstrumentModel(
                self.instrument.lower(), resolving_power, at_mz=BASE_MZ
            )
        centr = iso_pattern.centroids(instrument_model)
        mzs_ = np.array(centr.masses)
        ints_ = 100.0 * np.array(centr.intensities)
        mzs_, ints_ = self._trim(mzs_, ints_, self.n_peaks)
        n = len(mzs_)
        mzs = np.zeros(self.n_peaks)
        mzs[:n] = np.array(mzs_)
        ints = np.zeros(self.n_peaks)
        ints[:n] = ints_
        return mzs, ints
    except Exception as e:
        logger.warning(f'{formula} - {e}')
        return None, None