#if !defined(micelleSphCore_h) #define micelleSphCore_h #include "parameters.hh" /** [PYTHONCLASS] = MicelleSphCoreModel [DISP_PARAMS] = radius_core, radius_gyr [DESCRIPTION] = Model parameters: ndensity : number density of micelles v_core: volume block in core v_corona: volume block in corona rho_solv: sld of solvent rho_core: sld of core rho_corona: sld of corona radius_core: radius of core radius_gyr: radius of gyration of chains in corona d_penetration: close to unity, mimics non-penetration of gaussian chains n_aggreg: aggregation number of the micelle background: incoherent background scale : scale factor [FIXED]= radius_core.width; radius_gyr.width [ORIENTATION_PARAMS]= **/ class MicelleSphCoreModel{ public: // Model parameters /// Scale factor // [DEFAULT]=scale= 1.0 Parameter scale; /// Number density of micelles [1/cm^(3)] // [DEFAULT]=ndensity= 8.94e15 [1/cm^(3)] Parameter ndensity; /// Core volume [A] // [DEFAULT]=v_core= 62624. [A^3] Parameter v_core; /// Corona volume [A^(3)] // [DEFAULT]=v_corona= 61940. [A^(3)] Parameter v_corona; /// solvent scattering length density [1/A^(2)] // [DEFAULT]=rho_solv= 6.4e-6 [1/A^(2)] Parameter rho_solv; /// core scattering length density [1/A^(2)] // [DEFAULT]=rho_core= 3.4e-7 [1/A^(2)] Parameter rho_core; /// corona scattering length density [1/A^(2)] // [DEFAULT]=rho_corona= 8.0e-7 [1/A^(2)] Parameter rho_corona; /// core radius [A] // [DEFAULT]=radius_core= 45.0 [A] Parameter radius_core; /// radius of gyration of chains in corona[A] // [DEFAULT]=radius_gyr= 20.0 [A] Parameter radius_gyr; /// d factor to mimic non-penetration of Gaussian chains, close to unity // [DEFAULT]=d_penetration= 1.0 Parameter d_penetration; /// aggregation number of the micelle // [DEFAULT]=n_aggreg= 6.0 Parameter n_aggreg; /// Incoherent Background [1/cm] // [DEFAULT]=background=0 [1/cm] Parameter background; //Constructor MicelleSphCoreModel(); // Operators to get I(Q) double operator()(double q); double operator()(double qx, double qy); double calculate_ER(); double calculate_VR(); double evaluate_rphi(double q, double phi); }; #endif