source: sasview/src/sas/models/include/pringles.h @ 10a483f

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 10a483f was 79492222, checked in by krzywon, 10 years ago

Changed the file and folder names to remove all SANS references.

  • Property mode set to 100644
File size: 1.4 KB
Line 
1/**
2 * (c) 2013 / Andrew J Jackson / andrew.jackson@esss.se
3 *
4 * Model for "pringles" particle from K. Edler @ Bath University
5 *
6 */
7
8#if !defined(pringles_h)
9#define pringles_h
10#include "parameters.hh"
11
12//[PYTHONCLASS] = PringlesModel
13//[DISP_PARAMS] = radius,thickness,alpha,beta,
14//[DESCRIPTION] = <text> Pringles model for K Edler. Represents a disc that is bent in two directions. </text>
15//[FIXED]= <text> radius.width; thickness.width; alpha.width; beta.width</text>
16//[ORIENTATION_PARAMS]= <text> </text>
17
18class PringlesModel {
19public:
20        //[DEFAULT]=scale=1.0
21        Parameter scale;
22        //[DEFAULT]=radius=60.0 [A]
23        Parameter radius;
24        //[DEFAULT]=thickness=10.00 [A]
25        Parameter thickness;
26        //[DEFAULT]=alpha=0.001 [rad]
27        Parameter alpha;
28        //[DEFAULT]=beta=0.02 [rad]
29        Parameter beta;
30        //[DEFAULT]=sld_pringle=1.0e-6 [A^(-2)]
31        Parameter sld_pringle;
32        //[DEFAULT]=sld_solvent=6.35e-6 [A^(-2)]
33        Parameter sld_solvent;
34        //[DEFAULT]=background=0.0 [1/cm]
35        Parameter background;
36        //Constructor
37        PringlesModel();
38        // Operators to get I(Q)
39        double operator()(double q);
40        double operator()(double qx, double qy);
41        double calculate_ER();
42        double calculate_VR();
43        double evaluate_rphi(double q, double phi);
44};
45
46static double pringle_form(double dp[], double q);
47static double pringle_kernel(double dp[], double q, double phi);
48static double pringleC(double dp[], double q, double n, double phi);
49static double pringleS(double dp[], double q, double n, double phi);
50#endif
Note: See TracBrowser for help on using the repository browser.