double form_volume(double equat_core, double polar_core, double equat_shell, double polar_shell); double Iq(double q, double equat_core, double x_core, double t_shell, double x_polar_shell, double core_sld, double shell_sld, double solvent_sld); double Iqxy(double qx, double qy, double equat_core, double x_core, double t_shell, double x_polar_shell, double core_sld, double shell_sld, double solvent_sld, double theta, double phi); double form_volume(double equat_core, double x_core, double t_shell, double x_polar_shell) { const double equat_shell = equat_core + t_shell; const double polar_shell = equat_core*x_core + t_shell*x_polar_shell; double vol = 4.0*M_PI/3.0*equat_shell*equat_shell*polar_shell; return vol; } static double core_shell_ellipsoid_xt_kernel(double q, double equat_core, double x_core, double t_shell, double x_polar_shell, double core_sld, double shell_sld, double solvent_sld) { 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 const double polar_core = equat_core*x_core; const double equat_shell = equat_core + t_shell; const double polar_shell = equat_core*x_core + t_shell*x_polar_shell; for(int i=0;i