Changeset 2d1b700 in sasview for sansmodels/src/c_extensions
- Timestamp:
- Jan 5, 2012 10:52:13 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:
- dd60b45
- Parents:
- 7ffa8196
- Location:
- sansmodels/src/c_extensions
- Files:
-
- 1 deleted
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sansmodels/src/c_extensions/refl.h
r67424cd r2d1b700 3 3 #if !defined(o_h) 4 4 #define refl_h 5 #include "parameters.hh" 5 6 6 7 /** … … 31 32 //[ORIENTATION_PARAMS]= <text> </text> 32 33 33 typedef struct { 34 /// number of layers 35 // [DEFAULT]=n_layers=1 36 int n_layers; 34 class ReflModel{ 35 public: 36 // Model parameters 37 /// number of layers 38 // [DEFAULT]=n_layers=1 39 Parameter n_layers; 37 40 /// Scale factor 38 41 // [DEFAULT]=scale= 1.0 39 doublescale;40 /// 42 Parameter scale; 43 /// thick_inter0 [A] 41 44 // [DEFAULT]=thick_inter0=1.0 [A] 42 doublethick_inter0;43 ///func_inter044 45 doublefunc_inter0;46 ///sld_bottom0 [1/A^(2)]47 48 doublesld_bottom0;49 ///sld_medium [1/A^(2)]50 51 doublesld_medium;52 53 54 doublebackground;45 Parameter thick_inter0; 46 /// func_inter0 47 // [DEFAULT]=func_inter0= 0 48 Parameter func_inter0; 49 /// sld_bottom0 [1/A^(2)] 50 // [DEFAULT]=sld_bottom0= 2.07e-6 [1/A^(2)] 51 Parameter sld_bottom0; 52 /// sld_medium [1/A^(2)] 53 // [DEFAULT]=sld_medium= 1.0e-6 [1/A^(2)] 54 Parameter sld_medium; 55 /// Background 56 // [DEFAULT]=background=0 57 Parameter background; 55 58 56 59 // [DEFAULT]=sld_flat1=4.0e-06 [1/A^(2)] 57 doublesld_flat1;60 Parameter sld_flat1; 58 61 // [DEFAULT]=sld_flat2=3.5e-06 [1/A^(2)] 59 doublesld_flat2;62 Parameter sld_flat2; 60 63 // [DEFAULT]=sld_flat3=4.0e-06 [1/A^(2)] 61 doublesld_flat3;64 Parameter sld_flat3; 62 65 // [DEFAULT]=sld_flat4=3.5e-06 [1/A^(2)] 63 doublesld_flat4;66 Parameter sld_flat4; 64 67 // [DEFAULT]=sld_flat5=4.0e-06 [1/A^(2)] 65 doublesld_flat5;68 Parameter sld_flat5; 66 69 // [DEFAULT]=sld_flat6=3.5e-06 [1/A^(2)] 67 doublesld_flat6;70 Parameter sld_flat6; 68 71 // [DEFAULT]=sld_flat7=4.0e-06 [1/A^(2)] 69 doublesld_flat7;72 Parameter sld_flat7; 70 73 // [DEFAULT]=sld_flat8=3.5e-06 [1/A^(2)] 71 doublesld_flat8;74 Parameter sld_flat8; 72 75 // [DEFAULT]=sld_flat9=4.0e-06 [1/A^(2)] 73 doublesld_flat9;76 Parameter sld_flat9; 74 77 // [DEFAULT]=sld_flat10=3.5e-06 [1/A^(2)] 75 doublesld_flat10;78 Parameter sld_flat10; 76 79 77 80 // [DEFAULT]=thick_inter1=1 [A] 78 doublethick_inter1;81 Parameter thick_inter1; 79 82 // [DEFAULT]=thick_inter2=1 [A] 80 doublethick_inter2;83 Parameter thick_inter2; 81 84 // [DEFAULT]=thick_inter3=1 [A] 82 doublethick_inter3;85 Parameter thick_inter3; 83 86 // [DEFAULT]=thick_inter4=1 [A] 84 doublethick_inter4;87 Parameter thick_inter4; 85 88 // [DEFAULT]=thick_inter5=1 [A] 86 doublethick_inter5;89 Parameter thick_inter5; 87 90 // [DEFAULT]=thick_inter6=1 [A] 88 doublethick_inter6;91 Parameter thick_inter6; 89 92 // [DEFAULT]=thick_inter7=1 [A] 90 doublethick_inter7;93 Parameter thick_inter7; 91 94 // [DEFAULT]=thick_inter8=1 [A] 92 doublethick_inter8;95 Parameter thick_inter8; 93 96 // [DEFAULT]=thick_inter9=1 [A] 94 doublethick_inter9;97 Parameter thick_inter9; 95 98 // [DEFAULT]=thick_inter10=1 [A] 96 doublethick_inter10;99 Parameter thick_inter10; 97 100 98 101 // [DEFAULT]=thick_flat1=10 [A] 99 doublethick_flat1;102 Parameter thick_flat1; 100 103 // [DEFAULT]=thick_flat2=100 [A] 101 doublethick_flat2;104 Parameter thick_flat2; 102 105 // [DEFAULT]=thick_flat3=100 [A] 103 doublethick_flat3;106 Parameter thick_flat3; 104 107 // [DEFAULT]=thick_flat4=100 [A] 105 doublethick_flat4;108 Parameter thick_flat4; 106 109 // [DEFAULT]=thick_flat5=100 [A] 107 doublethick_flat5;110 Parameter thick_flat5; 108 111 // [DEFAULT]=thick_flat6=100 [A] 109 doublethick_flat6;112 Parameter thick_flat6; 110 113 // [DEFAULT]=thick_flat7=100 [A] 111 doublethick_flat7;114 Parameter thick_flat7; 112 115 // [DEFAULT]=thick_flat8=100 [A] 113 doublethick_flat8;116 Parameter thick_flat8; 114 117 // [DEFAULT]=thick_flat9=100 [A] 115 doublethick_flat9;118 Parameter thick_flat9; 116 119 // [DEFAULT]=thick_flat10=100 [A] 117 doublethick_flat10;120 Parameter thick_flat10; 118 121 119 122 // [DEFAULT]=func_inter1=0 120 doublefunc_inter1;123 Parameter func_inter1; 121 124 // [DEFAULT]=func_inter2=0 122 doublefunc_inter2;125 Parameter func_inter2; 123 126 // [DEFAULT]=func_inter3=0 124 doublefunc_inter3;127 Parameter func_inter3; 125 128 // [DEFAULT]=func_inter4=0 126 doublefunc_inter4;129 Parameter func_inter4; 127 130 // [DEFAULT]=func_inter5=0 128 doublefunc_inter5;131 Parameter func_inter5; 129 132 // [DEFAULT]=func_inter6=0 130 doublefunc_inter6;133 Parameter func_inter6; 131 134 // [DEFAULT]=func_inter7=0 132 doublefunc_inter7;135 Parameter func_inter7; 133 136 // [DEFAULT]=func_inter8=0 134 doublefunc_inter8;137 Parameter func_inter8; 135 138 // [DEFAULT]=func_inter9=0 136 doublefunc_inter9;139 Parameter func_inter9; 137 140 // [DEFAULT]=func_inter10=0 138 doublefunc_inter10;141 Parameter func_inter10; 139 142 140 143 141 } ReflParameters; 144 // Constructor 145 ReflModel(); 142 146 143 double re_kernel(double dq[], double q); 144 145 /// 1D scattering function 146 double refl_analytical_1D(ReflParameters *pars, double q); 147 148 /// 2D scattering function 149 double refl_analytical_2D(ReflParameters *pars, double q, double phi); 150 double refl_analytical_2DXY(ReflParameters *pars, double qx, double qy); 147 // Operators to get I(Q) 148 double operator()(double q); 149 double operator()(double qx, double qy); 150 double calculate_ER(); 151 double evaluate_rphi(double q, double phi); 152 }; 151 153 152 154 #endif
Note: See TracChangeset
for help on using the changeset viewer.