@SuppressWarnings("unchecked")
private ConfigurableFunction[] createConfigurableFunctions() {
Vector<ConfigurableFunction> functions = new Vector<ConfigurableFunction>();
functions.add(new FnConstant(myInputDimension, isInputDimensionEditable));
functions.add(new FnCustom(myInputDimension, false));
// These functions can only have a input dimension of 1
if (myInputDimension == 1) {
FnReflective fourierFunction = new FnReflective(FourierFunction.class, "Fourier Function",
new Property[] { new PFloat("Fundamental [Hz]","The smallest frequency represented, in Hertz"),