function [ids_tf,ids_tf_description] =  tcv_get_ids_tf(shot, ids_tf_empty, gdat_params,varargin)
%
% [ids_tf] =  tcv_get_ids_tf(shot, ids_tf_empty,varargin);
%
% Get the vacuum toroidal field
%
% ids_tf_empty should at least be the empty tf ids structure in input
%
% gdat_params: gdat_data.gdat_params to get all params passed from original call, in particular error_bar options
%

ids_tf = ids_tf_empty;

[ids_tf, params_tf] = tcv_ids_headpart(shot, ids_tf_empty,'tf','homogeneous_time',0,varargin{:});

tmp = gdat_tcv(shot, 'b0');
if ~ischar(tmp.data)
  ids_tf.b_field_tor_vacuum_r.data = tmp.data;
  ids_tf.b_field_tor_vacuum_r.time = tmp.t;
  ids_tf.r0 = tmp.r0;
  ids_tf_description.b_field_tor_vacuum_r.data = ' gdat_tcv(shot, ''b0'')';
  ids_tf_description.r0 = ' b0.r0 from gdat_tcv(shot, ''b0'')';
else
  % leave defaults
  ids_tf_description = struct([]);
end

% make arrays not filled in empty: not the case for magnetics
ids_tf.coil = {};
ids_tf.field_map = {};

% cocos automatic transform
if exist('ids_generic_cocos_nodes_transformation_symbolic') == 2
  cocos_in=17;
  cocos_out=11;
  [ids_tf,cocoscoeff]=ids_generic_cocos_nodes_transformation_symbolic(ids_tf,'tf',cocos_in,cocos_out);
end
