% SETFS Set the property 'fs'.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% DESCRIPTION: Set the property 'fs'.
%
% CALL:              obj.setFs(12);
%              obj = obj.setFs(12); create copy of the object
%
% INPUTS:      obj - must be a single data2D object.
%
% VERSION:     $Id: setFs.m,v 1.5 2011/09/29 12:09:24 ingo Exp $
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function varargout = setFs(varargin)
  
  obj = varargin{1};
  val = varargin{2};
  
  % decide whether we modify the pz-object, or create a new one.
  obj = copy(obj, nargout);
  
  % set 'fs'
  obj.fs = val;
  
  % Now we can set nsecs
  if ~isempty(obj.x)
    % Then we have unevenly sampled data and the data duration
    % is taken as x(end) - x(1);
    obj.setNsecs(obj.x(end)-obj.x(1) + 1/obj.fs);
  else
    if ~isempty(obj.y)
      % Then the data is evenly sampled and the
      % duration of the data is easily computed.
      Ndata = length(obj.y);
      obj.setNsecs(Ndata / obj.fs);
    end
  end
  
  varargout{1} = obj;
end


