Changeset 37805e9 in sasview for sansmodels/src/c_extensions
- Timestamp:
- Jan 5, 2012 11:14:43 AM (13 years ago)
- Branches:
- master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- 6e10cff
- Parents:
- a8eab1c
- Location:
- sansmodels/src/c_extensions
- Files:
-
- 1 deleted
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sansmodels/src/c_extensions/spheresld.h
r67424cd r37805e9 1 1 #if !defined(o_h) 2 2 #define sphere_sld_h 3 #include "parameters.hh" 3 4 4 5 /** … … 30 31 //[ORIENTATION_PARAMS]= <text> </text> 31 32 32 typedef struct { 33 /// number of shells 34 // [DEFAULT]=n_shells=1 35 int n_shells; 33 class SphereSLDModel{ 34 public: 35 // Model parameters 36 /// number of shells 37 // [DEFAULT]=n_shells=1 38 Parameter n_shells; 36 39 /// Scale factor 37 40 // [DEFAULT]=scale= 1.0 38 doublescale;39 /// 41 Parameter scale; 42 /// thick_inter0 [A] 40 43 // [DEFAULT]=thick_inter0=50.0 [A] 41 doublethick_inter0;42 ///func_inter043 44 doublefunc_inter0;45 ///sld_core0 [1/A^(2)]46 47 doublesld_core0;48 ///sld_solv [1/A^(2)]49 50 doublesld_solv;51 52 53 doublebackground;44 Parameter thick_inter0; 45 /// func_inter0 46 // [DEFAULT]=func_inter0= 0 47 Parameter func_inter0; 48 /// sld_core0 [1/A^(2)] 49 // [DEFAULT]=sld_core0= 2.07e-6 [1/A^(2)] 50 Parameter sld_core0; 51 /// sld_solv [1/A^(2)] 52 // [DEFAULT]=sld_solv= 1.0e-6 [1/A^(2)] 53 Parameter sld_solv; 54 /// Background 55 // [DEFAULT]=background=0 56 Parameter background; 54 57 55 58 // [DEFAULT]=sld_flat1=4.0e-06 [1/A^(2)] 56 doublesld_flat1;59 Parameter sld_flat1; 57 60 // [DEFAULT]=sld_flat2=3.5e-06 [1/A^(2)] 58 doublesld_flat2;61 Parameter sld_flat2; 59 62 // [DEFAULT]=sld_flat3=4.0e-06 [1/A^(2)] 60 doublesld_flat3;63 Parameter sld_flat3; 61 64 // [DEFAULT]=sld_flat4=3.5e-06 [1/A^(2)] 62 doublesld_flat4;65 Parameter sld_flat4; 63 66 // [DEFAULT]=sld_flat5=4.0e-06 [1/A^(2)] 64 doublesld_flat5;67 Parameter sld_flat5; 65 68 // [DEFAULT]=sld_flat6=3.5e-06 [1/A^(2)] 66 doublesld_flat6;69 Parameter sld_flat6; 67 70 // [DEFAULT]=sld_flat7=4.0e-06 [1/A^(2)] 68 doublesld_flat7;71 Parameter sld_flat7; 69 72 // [DEFAULT]=sld_flat8=3.5e-06 [1/A^(2)] 70 doublesld_flat8;73 Parameter sld_flat8; 71 74 // [DEFAULT]=sld_flat9=4.0e-06 [1/A^(2)] 72 doublesld_flat9;75 Parameter sld_flat9; 73 76 // [DEFAULT]=sld_flat10=3.5e-06 [1/A^(2)] 74 doublesld_flat10;77 Parameter sld_flat10; 75 78 76 79 // [DEFAULT]=thick_inter1=50.0 [A] 77 doublethick_inter1;80 Parameter thick_inter1; 78 81 // [DEFAULT]=thick_inter2=50.0 [A] 79 doublethick_inter2;82 Parameter thick_inter2; 80 83 // [DEFAULT]=thick_inter3=50.0 [A] 81 doublethick_inter3;84 Parameter thick_inter3; 82 85 // [DEFAULT]=thick_inter4=50.0 [A] 83 doublethick_inter4;86 Parameter thick_inter4; 84 87 // [DEFAULT]=thick_inter5=50.0 [A] 85 doublethick_inter5;88 Parameter thick_inter5; 86 89 // [DEFAULT]=thick_inter6=50.0 [A] 87 doublethick_inter6;90 Parameter thick_inter6; 88 91 // [DEFAULT]=thick_inter7=50.0 [A] 89 doublethick_inter7;92 Parameter thick_inter7; 90 93 // [DEFAULT]=thick_inter8=50.0 [A] 91 doublethick_inter8;94 Parameter thick_inter8; 92 95 // [DEFAULT]=thick_inter9=50.0 [A] 93 doublethick_inter9;96 Parameter thick_inter9; 94 97 // [DEFAULT]=thick_inter10=50.0 [A] 95 doublethick_inter10;98 Parameter thick_inter10; 96 99 97 100 // [DEFAULT]=thick_flat1=100 [A] 98 doublethick_flat1;101 Parameter thick_flat1; 99 102 // [DEFAULT]=thick_flat2=100 [A] 100 doublethick_flat2;103 Parameter thick_flat2; 101 104 // [DEFAULT]=thick_flat3=100 [A] 102 doublethick_flat3;105 Parameter thick_flat3; 103 106 // [DEFAULT]=thick_flat4=100 [A] 104 doublethick_flat4;107 Parameter thick_flat4; 105 108 // [DEFAULT]=thick_flat5=100 [A] 106 doublethick_flat5;109 Parameter thick_flat5; 107 110 // [DEFAULT]=thick_flat6=100 [A] 108 doublethick_flat6;111 Parameter thick_flat6; 109 112 // [DEFAULT]=thick_flat7=100 [A] 110 doublethick_flat7;113 Parameter thick_flat7; 111 114 // [DEFAULT]=thick_flat8=100 [A] 112 doublethick_flat8;115 Parameter thick_flat8; 113 116 // [DEFAULT]=thick_flat9=100 [A] 114 doublethick_flat9;117 Parameter thick_flat9; 115 118 // [DEFAULT]=thick_flat10=100 [A] 116 doublethick_flat10;119 Parameter thick_flat10; 117 120 118 121 // [DEFAULT]=func_inter1=0 119 doublefunc_inter1;122 Parameter func_inter1; 120 123 // [DEFAULT]=func_inter2=0 121 doublefunc_inter2;124 Parameter func_inter2; 122 125 // [DEFAULT]=func_inter3=0 123 doublefunc_inter3;126 Parameter func_inter3; 124 127 // [DEFAULT]=func_inter4=0 125 doublefunc_inter4;128 Parameter func_inter4; 126 129 // [DEFAULT]=func_inter5=0 127 doublefunc_inter5;130 Parameter func_inter5; 128 131 // [DEFAULT]=func_inter6=0 129 doublefunc_inter6;132 Parameter func_inter6; 130 133 // [DEFAULT]=func_inter7=0 131 doublefunc_inter7;134 Parameter func_inter7; 132 135 // [DEFAULT]=func_inter8=0 133 doublefunc_inter8;136 Parameter func_inter8; 134 137 // [DEFAULT]=func_inter9=0 135 doublefunc_inter9;138 Parameter func_inter9; 136 139 // [DEFAULT]=func_inter10=0 137 doublefunc_inter10;140 Parameter func_inter10; 138 141 139 142 // [DEFAULT]=nu_inter1=2.5 140 doublenu_inter1;143 Parameter nu_inter1; 141 144 // [DEFAULT]=nu_inter2=2.5 142 doublenu_inter2;145 Parameter nu_inter2; 143 146 // [DEFAULT]=nu_inter3=2.5 144 doublenu_inter3;147 Parameter nu_inter3; 145 148 // [DEFAULT]=nu_inter4=2.5 146 doublenu_inter4;149 Parameter nu_inter4; 147 150 // [DEFAULT]=nu_inter5=2.5 148 doublenu_inter5;151 Parameter nu_inter5; 149 152 // [DEFAULT]=nu_inter6=2.5 150 doublenu_inter6;153 Parameter nu_inter6; 151 154 // [DEFAULT]=nu_inter7=2.5 152 doublenu_inter7;155 Parameter nu_inter7; 153 156 // [DEFAULT]=nu_inter8=2.5 154 doublenu_inter8;157 Parameter nu_inter8; 155 158 // [DEFAULT]=nu_inter9=2.5 156 doublenu_inter9;159 Parameter nu_inter9; 157 160 // [DEFAULT]=nu_inter10=2.5 158 doublenu_inter10;161 Parameter nu_inter10; 159 162 160 163 // [DEFAULT]=npts_inter=35.0 161 doublenpts_inter;164 Parameter npts_inter; 162 165 // [DEFAULT]=nu_inter0=2.5 163 doublenu_inter0;166 Parameter nu_inter0; 164 167 // [DEFAULT]=rad_core0=50.0 [A] 165 double rad_core0; 166 } SphereSLDParameters; 168 Parameter rad_core0; 167 169 168 double sphere_sld_kernel(double dq[], double q); 170 // Constructor 171 SphereSLDModel(); 169 172 170 /// 1D scattering function 171 double sphere_sld_analytical_1D(SphereSLDParameters *pars, double q); 173 // Operators to get I(Q) 174 double operator()(double q); 175 double operator()(double qx, double qy); 176 double calculate_ER(); 177 double evaluate_rphi(double q, double phi); 178 }; 172 179 173 /// 2D scattering function174 double sphere_sld_analytical_2D(SphereSLDParameters *pars, double q, double phi);175 double sphere_sld_analytical_2DXY(SphereSLDParameters *pars, double qx, double qy);176 180 177 181 #endif
Note: See TracChangeset
for help on using the changeset viewer.