def METHOD_NAME(self) -> float:
    """
    See AcquisitionController
    :return:
    """
    assert self.buffer is not None
    alazar = self._get_alazar()
    # average all records in a buffer
    records_per_acquisition = (1. * self.buffers_per_acquisition *
                               self.records_per_buffer)
    recordA = np.zeros(self.samples_per_record)
    for i in range(self.records_per_buffer):
        i0 = i * self.samples_per_record
        i1 = i0 + self.samples_per_record
        recordA += self.buffer[i0:i1] / records_per_acquisition
    recordB = np.zeros(self.samples_per_record)
    for i in range(self.records_per_buffer):
        i0 = i * self.samples_per_record + len(self.buffer) // 2
        i1 = i0 + self.samples_per_record
        recordB += self.buffer[i0:i1] / records_per_acquisition
    if self.number_of_channels == 2:
        # fit channel A and channel B
        res1 = self.fit(recordA)
        self.fit(recordB)
        #return [alazar.signal_to_volt(1, res1[0] + 127.5),
        #        alazar.signal_to_volt(2, res2[0] + 127.5),
        #        res1[1], res2[1],
        #        (r es1[1] - res2[1]) % 360]
        return alazar.signal_to_volt(1, res1[0] + 127.5)
    else:
        raise Exception("Could not find CHANNEL_B during data extraction")