Ideas towards a general scheme for creating different funklet types
At the moment we have two funklets, the polc and the polclog. In fact the polclog is derived from the polc, with as major difference the implementation of an 'axis_function', which transforms the coordinates f,t to log(f/f_0),log(t/t_0). To perform a different function on the grid would mean the implementation of a new derived class. A more general scheme could be accomplished if we allow(require?) the MeqParm to have children which define the grid. (1 for each variable axis). Schematically a PolcLog(for frequency) would then look like:
(I know, this is not a nice graph...still trying to find a better way to draw something in Wiki)
Within TDL, the definitions of common funklets could be specified. TDL should also take care of a default MeqFreq and MeqTime, if none is specified.
-- Parms from Polcs that are constant along one or more axes, should produce vells with corresponding shapes. This is however not a quality of the Forest, since the user (or even the request) can change the shape of the Polc. Does this mean that the Parm should only poll its children if it needs a grid for that axis???
-- How are we gonna store the information in the parmtable?
Functionals
Instead Aips++ Functionals, in particular the CompiledFunction, could be used. In this case the user can define any function for a Funklet via a String. Above function would look like:
"p0 + p1*log(x0/10.) + p2*x1 + p3*log(x0/10.)*x1 + ...."
TDL scripts could be provided for specific funklets.
