You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: ft_senstype.m
    path of file: ./repos/malini/Codes/deconvolution - model/spm8/external/fieldtrip/forward
    
    the code of the file until where you have to start completion: function [type] = ft_senstype(input, desired)

% FT_SENSTYPE determines the type of acquisition device by looking at the
% channel names and comparing them with predefined lists.
%
% Use as
%   [type] = ft_senstype(sens)
%   [flag] = ft_senstype(sens, desired)
%
% The output type can be any of the following
%   'ctf64'
%   'ctf151'
%   'ctf151_planar'
%   'ctf275'
%   'ctf275_planar'
%   'bti148'
%   'bti148_planar'
%   'bti248'
%   'bti248_planar'
%   'bti248grad'
%   'bti248grad_planar'
%   'itab28'
%   'itab153'
%   'itab153_planar'
%   'yokogawa9'
%   'yokogawa64'
%   'yokogawa64_planar'
%   'yokogawa160'
%   'yokogawa160_planar'
%   'yokogawa440'
%   'yokogawa440'_planar
%   'neuromag122'
%   'neuromag306'
%   'egi32'
%   'egi64'
%   'egi128'
%   'egi256'
%   'biosemi64'
%   'biosemi128'
%   'bi
    
function
isdata   = isa(input, 'struct')  && isfield(input, 'hdr');
isheader = isa(input, 'struct')  && isfield(input, 'label') && isfield(input, 'Fs');
isgrad   = isa(input, 'struct')  && isfield(input, 'label') && isfield(input, 'pnt')  &&  isfield(input, 'ori'); % old style
isgrad   = (isa(input, 'struct') && isfield(input, 'label') && isfield(input, 'coilpos')) || isgrad; % new style 
iselec   = isa(input, 'struct')  && isfield(input, 'label') && isfield(input, 'pnt')  && ~isfield(input, 'ori'); % old style
iselec   = (isa(input, 'struct') && isfield(input, 'label') && isfield(input, 'elecpos')) || iselec; % new style 
islabel  = isa(input, 'cell')    && ~isempty(input) && isa(input{1}, 'char');
isfreq   = isa(input, 'struct')  && (isfield(input, 'fourierspctrm') || isfield(input, 'powspctrm'));
haslabel = isa(input, 'struct')  && isfield(input, 'label');

if ~isdata && ~isheader
  % timelock or freq structures don't have the header structure
  % the header is also removed from raw data after megrealign
  % the gradiometer definition is lost after megplanar+combineplanar
  isdata = isa(input, 'struct') && (isfield(input, 'grad') || isfield(input, 'elec'));
end