source: sasview/sansmodels/include/spheroid.h @ d555416

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 d555416 was 6319646, checked in by Jae Cho <jhjcho@…>, 13 years ago

new includes for scale fix for P*S

  • Property mode set to 100644
File size: 2.8 KB
Line 
1#if !defined(spheroid_h)
2#define spheroid_h
3#include "parameters.hh"
4
5/** Structure definition for oblate parameters
6 * [PYTHONCLASS] = CoreShellEllipsoidModel
7 * [DISP_PARAMS] = equat_core, polar_core, equat_shell,polar_shell,axis_phi, axis_theta
8   [DESCRIPTION] = <text>[SpheroidCoreShellModel] Calculates the form factor for an spheroid
9                        ellipsoid particle with a core_shell structure.
10                        The form factor is averaged over all possible
11                        orientations of the ellipsoid such that P(q)
12                        = scale*<f^2>/Vol + bkg, where f is the
13                        single particle scattering amplitude.
14                        [Parameters]:
15                        equat_core = equatorial radius of core,
16                        polar_core = polar radius of core,
17                        equat_shell = equatorial radius of shell,
18                        polar_shell = polar radius (revolution axis) of shell,
19                        sld_core = SLD_core
20                        sld_shell = SLD_shell
21                        sld_solvent = SLD_solvent
22                        background = Incoherent bkg
23                        scale =scale
24                        Note:It is the users' responsibility to ensure
25                        that shell radii are larger than core radii.
26                        oblate: polar radius < equatorial radius
27                        prolate :  polar radius > equatorial radius
28                        </text>
29
30   [FIXED] = <text>equat_core.width;polar_core.width; equat_shell.width; polar_shell.width; axis_phi.width; axis_theta.width</text>
31   [ORIENTATION_PARAMS]= <text>axis_phi; axis_theta; axis_phi.width; axis_theta.width</text>
32
33 **/
34
35class CoreShellEllipsoidModel{
36public:
37  // Model parameters
38  /// Scale factor
39  //  [DEFAULT]=scale=1.0
40  Parameter scale;
41  /// Equatorial radius of core [A]
42  //  [DEFAULT]=equat_core=200.0 [A]
43  Parameter equat_core;
44  /// Polar radius of core [A]
45  //  [DEFAULT]=polar_core=20.0 [A]
46  Parameter polar_core;
47  /// equatorial radius of shell [A]
48  //  [DEFAULT]=equat_shell=250.0 [A]
49  Parameter equat_shell;
50  /// polar radius of shell [A]
51  //  [DEFAULT]=polar_shell=30.0 [A]
52  Parameter polar_shell;
53  ///  Core scattering length density [1/A^(2)]
54  //  [DEFAULT]=sld_core=2.0e-6 [1/A^(2)]
55  Parameter sld_core;
56  ///  Shell scattering length density [1/A^(2)]
57  //  [DEFAULT]=sld_shell=1.0e-6 [1/A^(2)]
58  Parameter sld_shell;
59  /// Solvent scattering length density  [1/A^(2)]
60  //  [DEFAULT]=sld_solvent=6.3e-6 [1/A^(2)]
61  Parameter sld_solvent;
62  /// Incoherent Background [1/cm] 0.001
63  //  [DEFAULT]=background=0.001 [1/cm]
64  Parameter background;
65  //Disable for now
66  /// Orientation of the oblate axis w/respect incoming beam [deg]
67  //  [DEFAULT]=axis_theta=0.0 [deg]
68  Parameter axis_theta;
69  /// Orientation of the oblate in the plane of the detector [deg]
70  //  [DEFAULT]=axis_phi=0.0 [deg]
71  Parameter axis_phi;
72
73  // Constructor
74  CoreShellEllipsoidModel();
75
76  // Operators to get I(Q)
77  double operator()(double q);
78  double operator()(double qx, double qy);
79  double calculate_ER();
80  double calculate_VR();
81  double evaluate_rphi(double q, double phi);
82};
83
84#endif
Note: See TracBrowser for help on using the repository browser.