; $Id: xefn.pro,v 1.2 2002/01/14 20:59:27 amunter Exp $
pro xefn,a,fnstr,xax,yax
;+
; NAME:         xefn
; PURPOSE:
;               transform a TASCOM data structure
; CATEGORY:
; CALLING SEQUENCE:
;               subfn,a,'string defining transformation'
; INPUTS:
;               a - TASCOM data structure to be modified
;               'transformation' - the function to transform by
; OPTIONAL INPUT PARAMETERS:
; KEYWORD PARAMETERS:
; OUPUTS:
;               a data structure consisting of:
;                 a.points - integer - # of points in scan
;                 a.heads - integer - # of header parameters
;                 a.pars - integer - # of scan parameters
;                 a.text - string array - 2 lines of descriptive text
;                 a.hdef - string array - definition of header parameters
;                 a.hnum - float array - header parameters
;                 a.prp - string array - defintion of scan parameters
;                 a.data - 2D float array - scan data (parameter,point#)
; OPTIONAL OUTPUT PARAMETERS:   
; COMMON BLOCKS:
; SIDE EFFECTS:
;               the uncertainties are not modified, this may mean the
;               errors are underestimated if there is an uncertainty if f(x)
; RESTRICTIONS:
; PROCEDURE:                  
; MODIFICATION HISTORY:
;               Thom Mason, Riso National Laboratory, 1993
;-
a.text(0)=strcompress('('+a.text(0)+')T',/remove_all)
fnstr='a.data(tasid(yax,a),*)='+fnstr(0)
x=a.data(tasid(xax,a),*)
y=a.data(tasid(yax,a),*)
run=execute(fnstr)
end
