double form_volume(double equat_core, double polar_core, double equat_shell, double polar_shell); double Iq(double q, double equat_core, double polar_core, double equat_shell, double polar_shell, double core_sld, double shell_sld, double solvent_sld); double Iqxy(double qx, double qy, double equat_core, double polar_core, double equat_shell, double polar_shell, double core_sld, double shell_sld, double solvent_sld, double theta, double phi); double form_volume(double equat_core, double polar_core, double equat_shell, double polar_shell) { double vol = 4.0*M_PI/3.0*equat_shell*equat_shell*polar_shell; return vol; } static double core_shell_ellipsoid_kernel(double q, double equat_core, double polar_core, double equat_shell, double polar_shell, double core_sld, double shell_sld, double solvent_sld) { //upper and lower integration limits const double lolim = 0.0; const double uplim = 1.0; double summ = 0.0; //initialize intergral const double delpc = core_sld - shell_sld; //core - shell const double delps = shell_sld - solvent_sld; //shell - solvent for(int i=0;i