package sansmodels; public class Ellipsoid extends SANSModel{ private double scale, axisA, axisB, deltaRho, background; //Default constructor public Ellipsoid() { scale = 1.0; axisA = 20.0; axisB = 400.0; deltaRho = 3.e-6; background = 0.0; setNumberOfParameters(5); String[] parameters = {"Scale", "Axis A (A)", "Axis B (A)", "Contrast (A-2)", "Background (cm-1)"}; setParametersText(parameters); } public Ellipsoid(double inScale, double inAxisA, double inAxisB, double inContrast, double inBackground) { scale = inScale; axisA = inAxisA; axisB = inAxisB; deltaRho = inContrast; background = inBackground; setNumberOfParameters(5); String[] parameters = {"Scale", "Axis A (A)", "Axis B (A)", "Contrast (A-2)", "Background (cm-1)"}; setParametersText(parameters); } private double ellipsoidFunc(double inQ, double inX) { double arg, t1, nu; nu = axisA/axisB; arg = inQ*axisA*Math.sqrt(1.0+inX*inX*(nu*nu - 1.0)); return 9.0*Math.pow((Math.sin(arg) - arg*Math.cos(arg))/arg/arg/arg,2.0); } public double getFormFactor(double inX) { int nord = 76; double va, vb, summ, zi, answer, yyy; double vol; va = 0.0; vb = 1.0; summ = 0.0; for(int i=0;i