source: sasview/sansmodels/src/c_extensions/corefourshell.h @ 011e0e4

ESS_GUIESS_GUI_DocsESS_GUI_batch_fittingESS_GUI_bumps_abstractionESS_GUI_iss1116ESS_GUI_iss879ESS_GUI_iss959ESS_GUI_openclESS_GUI_orderingESS_GUI_sync_sascalccostrafo411magnetic_scattrelease-4.1.1release-4.1.2release-4.2.2release_4.0.1ticket-1009ticket-1094-headlessticket-1242-2d-resolutionticket-1243ticket-1249ticket885unittest-saveload
Last change on this file since 011e0e4 was 011e0e4, checked in by Mathieu Doucet <doucetm@…>, 12 years ago

core-shell + ellipsoid refactor

  • Property mode set to 100644
File size: 2.4 KB
Line 
1#if !defined(corefourshell_h)
2#define corefourshell_h
3#include "parameters.hh"
4
5/**
6 * Structure definition for sphere parameters
7 */
8//[PYTHONCLASS] = CoreFourShellModel
9//[DISP_PARAMS] = rad_core0, thick_shell1,thick_shell2,thick_shell3,thick_shell4
10//[DESCRIPTION] =<text> Calculates the scattering intensity from a core-4 shell structure.
11//                      scale = scale factor * volume fraction
12//                              rad_core0: the radius of the core
13//                              sld_core0: the SLD of the core
14//                              thick_shelli: the thickness of the i'th shell from the core
15//                              sld_shelli: the SLD of the i'th shell from the core
16//                              sld_solv: the SLD of the solvent
17//                              background: incoherent background
18//              </text>
19//[FIXED]=<text>  thick_shell4.width; thick_shell1.width;thick_shell2.width;thick_shell3.width;rad_core0.width </text>
20//[ORIENTATION_PARAMS]= <text> </text>
21
22class CoreFourShellModel{
23public:
24  // Model parameters
25  /// Scale factor
26  //  [DEFAULT]=scale= 1.0
27  Parameter scale;
28
29  /// Radius of the core0 [A]
30  //  [DEFAULT]=rad_core0=60. [A]
31  Parameter rad_core0;
32
33  /// sld of core0 [1/A^(2)]
34  //  [DEFAULT]=sld_core0= 6.4e-6 [1/A^(2)]
35  Parameter sld_core0;
36
37  /// thickness of the shell1 [A]
38  //  [DEFAULT]=thick_shell1=10.0 [A]
39  Parameter thick_shell1;
40
41  ///  sld of shell1 [1/A^(2)]
42  //  [DEFAULT]=sld_shell1= 1.0e-6 [1/A^(2)]
43  Parameter sld_shell1;
44
45  ///  thickness of the shell2 [A]
46  //  [DEFAULT]=thick_shell2=10.0 [A]
47  Parameter thick_shell2;
48
49  /// sld of shell2 [1/A^(2)]
50  //  [DEFAULT]=sld_shell2= 2.0e-6 [1/A^(2)]
51  Parameter sld_shell2;
52
53  /// thickness of the shell3 [A]
54  //  [DEFAULT]=thick_shell3=10.0 [A]
55  Parameter thick_shell3;
56
57  ///  sld of shell3 [1/A^(2)]
58  //  [DEFAULT]=sld_shell3= 3.0e-6 [1/A^(2)]
59  Parameter sld_shell3;
60
61  ///  thickness of the shell4 [A]
62  //  [DEFAULT]=thick_shell4=10.0 [A]
63  Parameter thick_shell4;
64
65  /// sld of shell4 [1/A^(2)]
66  //  [DEFAULT]=sld_shell4= 4.0e-6 [1/A^(2)]
67  Parameter sld_shell4;
68
69  /// sld_solv[1/A^(2)]
70  //  [DEFAULT]=sld_solv= 6.4e-6 [1/A^(2)]
71  Parameter sld_solv;
72
73  /// Incoherent Background [1/cm]
74  //  [DEFAULT]=background=0.001 [1/cm]
75  Parameter background;
76
77  // Constructor
78  CoreFourShellModel();
79
80  // Operators to get I(Q)
81  double operator()(double q);
82  double operator()(double qx, double qy);
83  double calculate_ER();
84  double evaluate_rphi(double q, double phi);
85};
86
87#endif
Note: See TracBrowser for help on using the repository browser.