/*
* ExponentModelFunction.java
*
* Created on September 3, 2002, 4:07 AM
*/
package hep.aida.ref.function;
/**
*
* @author serbo
*/
public class ExponentModelFunction extends AbstractDevModelFunction {
public ExponentModelFunction(String str) {
super();
if(!str.toLowerCase().startsWith("e"))
throw new IllegalArgumentException("Exponent Function Qualifier must start with \"e\"");
int dim = Integer.parseInt(str.substring(1));
setDimension(dim);
setNumberOfParameters(dim+1);
setCodeletString("ExponentModelFunction");
setNormalization(true, false);
}
public int dimension() { return dimension; }
public int numberOfParameters() { return p.length; }
public double functionValue(double[] var) {
double val = 1;
for (int i=0; i<dimension; i++) { val = val*Math.exp(p[i]*var[i]); }
return val*p[numberOfParameters()-1];
}
}