source: sasview/sansmodels/include/flexible_cylinder.h @ 0cb3d13

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 0cb3d13 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: 1.6 KB
Line 
1/*
2        TODO: Add 2D model
3 */
4#if !defined(flexible_cylinder_h)
5#define flexible_cylinder_h
6#include "parameters.hh"
7
8/** Structure definition for Flexible cylinder parameters
9 * [PYTHONCLASS] = FlexibleCylinderModel
10 * [DISP_PARAMS] = length, kuhn_length, radius
11   [DESCRIPTION] = <text> Note : scale and contrast=sldCyl-sldSolv are both multiplicative factors in the
12                model and are perfectly correlated. One or
13                both of these parameters must be held fixed
14                during model fitting.
15                </text>
16        [FIXED]= <text>length.width; kuhn_length.width; radius.width</text>
17        [ORIENTATION_PARAMS]= <text></text>
18 **/
19
20class FlexibleCylinderModel{
21public:
22  // Model parameters
23  /// Scale factor
24  //  [DEFAULT]=scale=1.0
25  Parameter scale;
26  /// Length of the flexible cylinder [A]
27  //  [DEFAULT]=length=1000 [A]
28  Parameter length;
29  /// Kuhn length of the flexible cylinder [A]
30  //  [DEFAULT]=kuhn_length=100 [A]
31  Parameter kuhn_length;
32  /// Radius of the flexible cylinder [A]
33  //  [DEFAULT]=radius=20.0 [A]
34  Parameter radius;
35  /// SLD of cylinder [1/A^(2)]
36  //  [DEFAULT]=sldCyl=1.0e-6 [1/A^(2)]
37  Parameter sldCyl;
38  /// SLD of solvent [1/A^(2)]
39  //  [DEFAULT]=sldSolv=6.3e-6 [1/A^(2)]
40  Parameter sldSolv;
41  /// Incoherent Background [1/cm]
42  //  [DEFAULT]=background=0.0001 [1/cm]
43  Parameter background;
44
45  // Constructor
46  FlexibleCylinderModel();
47
48  // Operators to get I(Q)
49  double operator()(double q);
50  double operator()(double qx, double qy);
51  double calculate_ER();
52  double calculate_VR();
53  double evaluate_rphi(double q, double phi);
54};
55
56#endif
Note: See TracBrowser for help on using the repository browser.