1 | /* |
---|
2 | TODO: Add 2D model |
---|
3 | */ |
---|
4 | |
---|
5 | #if !defined(lamellarPS_HG_h) |
---|
6 | #define lamellarPS_HG_h |
---|
7 | #include "parameters.hh" |
---|
8 | |
---|
9 | /** Structure definition for concentrated lamellar form factor parameters |
---|
10 | * [PYTHONCLASS] = LamellarPSHGModel |
---|
11 | * [DISP_PARAMS] = deltaT,deltaH,spacing |
---|
12 | [DESCRIPTION] = <text>[Concentrated Lamellar (head+tail) Form Factor]: Calculates the |
---|
13 | intensity from a lyotropic lamellar phase. |
---|
14 | The intensity (form factor and structure factor) |
---|
15 | calculated is for lamellae of two-layer scattering |
---|
16 | length density that are randomly distributed in |
---|
17 | solution (a powder average). The scattering |
---|
18 | length density of the tail region, headgroup |
---|
19 | region, and solvent are taken to be different. |
---|
20 | The model can also be applied to large, |
---|
21 | multi-lamellar vesicles. |
---|
22 | No resolution smeared version is included |
---|
23 | in the structure factor of this model. |
---|
24 | *Parameters: spacing = repeat spacing, |
---|
25 | deltaT = tail length, |
---|
26 | deltaH = headgroup thickness, |
---|
27 | n_plates = # of Lamellar plates |
---|
28 | caille = Caille parameter (<0.8 or <1) |
---|
29 | background = incoherent bgd |
---|
30 | scale = scale factor ... |
---|
31 | </text> |
---|
32 | [FIXED]= deltaT.width;deltaH.width;spacing.width |
---|
33 | [ORIENTATION_PARAMS]= |
---|
34 | **/ |
---|
35 | |
---|
36 | class LamellarPSHGModel{ |
---|
37 | public: |
---|
38 | // Model parameters |
---|
39 | /// Scale factor |
---|
40 | // [DEFAULT]=scale=1.0 |
---|
41 | Parameter scale; |
---|
42 | /// repeat spacing of the lamellar [A] |
---|
43 | // [DEFAULT]=spacing=40 [A] |
---|
44 | Parameter spacing; |
---|
45 | /// tail thickness [A] |
---|
46 | // [DEFAULT]=deltaT=10 [A] |
---|
47 | Parameter deltaT; |
---|
48 | /// head thickness [A] |
---|
49 | // [DEFAULT]=deltaH=2.0 [A] |
---|
50 | Parameter deltaH; |
---|
51 | /// scattering density length of tails [1/A^(2)] |
---|
52 | // [DEFAULT]=sld_tail=0.4e-6 [1/A^(2)] |
---|
53 | Parameter sld_tail; |
---|
54 | /// scattering density length of head [1/A^(2)] |
---|
55 | // [DEFAULT]=sld_head=2e-6 [1/A^(2)] |
---|
56 | Parameter sld_head; |
---|
57 | /// scattering density length of solvent [1/A^(2)] |
---|
58 | // [DEFAULT]=sld_solvent=6e-6 [1/A^(2)] |
---|
59 | Parameter sld_solvent; |
---|
60 | /// Number of lamellar plates |
---|
61 | // [DEFAULT]=n_plates=30 |
---|
62 | Parameter n_plates; |
---|
63 | /// caille parameters |
---|
64 | // [DEFAULT]=caille=0.001 |
---|
65 | Parameter caille; |
---|
66 | /// Incoherent Background [1/cm] |
---|
67 | // [DEFAULT]=background=0.001 [1/cm] |
---|
68 | Parameter background; |
---|
69 | |
---|
70 | // Constructor |
---|
71 | LamellarPSHGModel(); |
---|
72 | |
---|
73 | // Operators to get I(Q) |
---|
74 | double operator()(double q); |
---|
75 | double operator()(double qx, double qy); |
---|
76 | double calculate_ER(); |
---|
77 | double calculate_VR(); |
---|
78 | double evaluate_rphi(double q, double phi); |
---|
79 | }; |
---|
80 | |
---|
81 | #endif |
---|