package sansmodels; public class PowerLaw extends SANSModel{ private double coeff, power, background; //Default constructor public PowerLaw() { coeff = 1.0e-6; power = 4.0; background = 0.0; setNumberOfParameters(3); String[] parameters = {"Coefficient, A", "(-)Power", "Background (cm-1)"}; setParametersText(parameters); } public PowerLaw(double inCoeff, double inPower, double inBackground) { coeff = inCoeff; power = inPower; background = inBackground; setNumberOfParameters(3); String[] parameters = {"Scale", "Correlation Length (A)", "Background (cm-1)"}; setParametersText(parameters); } public double getFormFactor(double inX) { return coeff*Math.pow(inX,-1.0*power) *getStructureFactor().calculate(inX) + background; } public void setParameters(double[] inParameters) { coeff = inParameters[0]; power = inParameters[1]; background = inParameters[2]; } public double[] getParameters() { double[] outParameters = new double[3]; outParameters[0] = coeff; outParameters[1] = power; outParameters[2] = background; return outParameters; } }