#if !defined(polygausscoil_h)
#define polygausscoil_h
#include "parameters.hh"
/**
* Structure definition for sphere parameters
*/
//[PYTHONCLASS] = Poly_GaussCoil
//[DISP_PARAMS] = rg
//[DESCRIPTION] =I(q)=(scale)*2*[(1+U*x)^(-1/U)+x-1]/[(1+U)*x^2] + background
// where x = [rg^2*q^2]
// and the polydispersity is
// U = [M_w/M_n]-1.
// scale = scale factor * volume fraction
// rg = radius of gyration
// poly_m = polydispersity of molecular weight
// background = incoherent background
//
//[FIXED]=
//[ORIENTATION_PARAMS]=
class Poly_GaussCoil{
public:
// Model parameters
/// Radius of gyration [A]
// [DEFAULT]=rg=60.0 [A]
Parameter rg;
/// Scale factor
// [DEFAULT]=scale= 1.0
Parameter scale;
/// polydispersity of molecular weight
// [DEFAULT]=poly_m= 2.0 [Mw/Mn]
Parameter poly_m;
/// Incoherent Background [1/cm]
// [DEFAULT]=background=0.001 [1/cm]
Parameter background;
// Constructor
Poly_GaussCoil();
// 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