/*
TODO: Add 2D model
*/
#if !defined(lamellarPS_h)
#define lamellarPS_h
#include "parameters.hh"
/** Structure definition for concentrated lamellar form factor parameters
* [PYTHONCLASS] = LamellarPSModel
* [DISP_PARAMS] = delta, spacing
[DESCRIPTION] = [Concentrated Lamellar Form Factor] Calculates the scattered
intensity from a lyotropic lamellar phase.
The intensity (form factor and structure
factor)calculated is for lamellae of
uniform scattering length density that
are randomly distributed in solution
(a powder average). The lamellae thickness
is polydisperse. The model can also
be applied to large, multi-lamellar vesicles.
No resolution smeared version is included
in the structure factor of this model.
*Parameters: spacing = repeat spacing,
delta = bilayer thickness,
sld_bi = SLD_bilayer
sld_sol = SLD_solvent
n_plate = # of Lamellar plates
caille = Caille parameter (<0.8 or <1)
background = incoherent bgd
scale = scale factor
[FIXED]= delta.width; spacing.width
[ORIENTATION_PARAMS]=
**/
class LamellarPSModel{
public:
// Model parameters
/// Scale factor
// [DEFAULT]=scale=1.0
Parameter scale;
/// repeat spacing of the lamellar [A]
// [DEFAULT]=spacing=400 [A]
Parameter spacing;
/// bilayer thicknes [A]
// [DEFAULT]=delta=30 [A]
Parameter delta;
/// SLD of bilayer [1/A^(2)]
// [DEFAULT]=sld_bi=6.3e-6 [1/A^(2)]
Parameter sld_bi;
/// SLD of solvent [1/A^(2)]
// [DEFAULT]=sld_sol=1.0e-6 [1/A^(2)]
Parameter sld_sol;
/// Number of lamellar plates
// [DEFAULT]=n_plates=20
Parameter n_plates;
/// caille parameters
// [DEFAULT]=caille=0.1
Parameter caille;
/// Incoherent Background [1/cm]
// [DEFAULT]=background=0.0 [1/cm]
Parameter background;
// Constructor
LamellarPSModel();
// 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