#if !defined(o_h) #define pearl_necklace_h /** * Structure definition for sphere parameters */ //[PYTHONCLASS] = PearlNecklaceModel //[DISP_PARAMS] = radius, edge_separation //[DESCRIPTION] =Calculate form factor for Pearl Necklace Model // [Macromol. Symp. 2004, 211, 25-42] // Parameters: // background:background // scale: scale factor // sld_pearl: the SLD of the pearl spheres // sld_string: the SLD of the strings // sld_solv: the SLD of the solvent // num_pearls: number of the pearls // radius: the radius of a pearl // edge_separation: the length of string segment; surface to surface // thick_string: thickness (ie, diameter) of the string // //[FIXED]= radius.width; edge_separation.width //[NON_FITTABLE_PARAMS]= //[ORIENTATION_PARAMS]= typedef struct { /// Scale factor // [DEFAULT]=scale= 1.0 double scale; /// radius [A] // [DEFAULT]=radius=80.0 [A] double radius; /// edge_separation // [DEFAULT]=edge_separation= 350 [A] double edge_separation; /// thick_string [A] // [DEFAULT]=thick_string= 2.5 [A] double thick_string; /// num_pearls // [DEFAULT]=num_pearls= 3 double num_pearls; /// sld_pearl // [DEFAULT]=sld_pearl= 1.0e-06 [1/A^(2)] double sld_pearl; /// sld_string // [DEFAULT]=sld_string= 1.0e-06 [1/A^(2)] double sld_string; /// sld_solv // [DEFAULT]=sld_solv= 6.3e-06 [1/A^(2)] double sld_solv; /// Background // [DEFAULT]=background=0 double background; }PeralNecklaceParameters; double pearl_necklace_kernel(double dq[], double q); /// 1D scattering function double pearl_necklace_analytical_1D(PeralNecklaceParameters *pars, double q); /// 2D scattering function double pearl_necklace_analytical_2D(PeralNecklaceParameters *pars, double q, double phi); double pearl_necklace_analytical_2DXY(PeralNecklaceParameters *pars, double qx, double qy); #endif