package sansmodels; public class TeubnerStrey extends SANSModel{ private double scale, coeff1, coeff2, background; //Default constructor public TeubnerStrey() { scale = 0.1; coeff1 = -30.; coeff2 = 5000.; background = 0.0; setNumberOfParameters(4); String[] parameters = {"Scale", "Coeff 1", "Coeff 2", "Background (cm-1)"}; setParametersText(parameters); } public TeubnerStrey(double inScale, double inCoeff1, double inCoeff2, double inBackground) { scale = inScale; coeff1 = inCoeff1; coeff2 = inCoeff2; background = inBackground; setNumberOfParameters(4); String[] parameters = {"Scale", "Coeff 1", "Coeff 2", "Background (cm-1)"}; setParametersText(parameters); } public double getFormFactor(double inX) { double q2,q4; q2 = inX*inX; q4 = q2*q2; return 1.0/(scale + coeff1*q2 + coeff2*q4) *getStructureFactor().calculate(inX) + background; } public void setParameters(double[] inParameters) { scale = inParameters[0]; coeff1 = inParameters[1]; coeff2 = inParameters[2]; background = inParameters[3]; } public double[] getParameters() { double[] outParameters = new double[4]; outParameters[0] = scale; outParameters[1] = coeff1; outParameters[2] = coeff2; outParameters[3] = background; return outParameters; } }