code: def lal(self):
          
  
          lal_data = None
          if self._epoch is None:
              ep = _lal.LIGOTimeGPS(0,0)
          else:
              ep = self._epoch
  
          if self._data.dtype == _numpy.float32:
              lal_data = _lal.CreateREAL4FrequencySeries("",ep,0,self.delta_f,_lal.SecondUnit,len(self))
          elif self._data.dtype == _numpy.float64:
              lal_data = _lal.CreateREAL8FrequencySeries("",ep,0,self.delta_f,_lal.SecondUnit,len(self))
          elif self._data.dtype == _numpy.complex64:
              lal_data = _lal.CreateCOMPLEX8FrequencySeries("",ep,0,self.delta_f,_lal.SecondUnit,len(self))
          elif self._data.dtype == _numpy.complex128:
              lal_data = _lal.CreateCOMPLEX16FrequencySeries("",ep,0,self.delta_f,_lal.SecondUnit,len(self))
  
          lal_data.data.data[:] = self.numpy()
  
          return lal_data
docs: Produces a LAL frequency series object equivalent to self.
  
          Returns
          -------
          lal_data : {lal.*FrequencySeries}
              LAL frequency series object containing the same data as self.
              The actual type depends on the sample's dtype. If the epoch of
              self was 'None', the epoch of the returned LAL object will be
              LIGOTimeGPS(0,0); otherwise, the same as that of self.
  
          Raises
          ------
          TypeError
              If frequency series is stored in GPU memory.