import com.imsl.math.*; import sansmodels.Gaussian; public class Refl5a extends ReflectivityModel { public Refl5a() { } public Complex getReflectivity( double inQ ) { Complex gj, paj, rij, arg, alpj, betj, gamj; Complex delj, alp, bet, gam, del, palp, pbet; Complex pgam, pdel, s1, s2, s3, s4, srr; double are, bre, cre, dre, aim, bim, cim, dim; double tj; double[] deltaZ = getDeltaZ(); Complex[] rho = getRho(); Complex fronting = getFronting(); Complex backing = getBacking(); int numlayers = getNumLayers(); Complex ci = new Complex(0.0,1.0); Complex cr = new Complex(1.0,0.0); Complex kz = Complex.sqrt(Complex.plus(inQ*inQ/4.0, Complex.times(4.0*Math.PI,fronting))); Complex ribf = Complex.sqrt(Complex.minus(1.0, Complex.times(4.0*Math.PI,Complex.over(fronting, Complex.times(kz, kz))))); Complex riaf = Complex.sqrt(Complex.minus(1.0, Complex.times(4.0*Math.PI,Complex.over(backing, Complex.times(kz, kz))))); palp = new Complex(1.0); pbet = new Complex(0.0); pgam = new Complex(0.0); pdel = new Complex(1.0); alp = new Complex(0.0); bet = new Complex(0.0); gam = new Complex(0.0); del = new Complex(0.0); for (int j=0;j