Changeset c637521 in sasview for sansmodels/src/c_extensions
- Timestamp:
- Jan 5, 2012 10:10:53 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:
- 7ffa8196
- Parents:
- df88829
- Location:
- sansmodels/src/c_extensions
- Files:
-
- 1 deleted
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sansmodels/src/c_extensions/onion.h
r67424cd rc637521 1 1 #if !defined(o_h) 2 2 #define onion_h 3 #include "parameters.hh" 3 4 4 5 /** … … 34 35 //[ORIENTATION_PARAMS]= <text> </text> 35 36 36 typedef struct { 37 /// number of shells 38 // [DEFAULT]=n_shells=1 39 int n_shells; 40 /// Scale factor 41 // [DEFAULT]=scale= 1.0 42 double scale; 43 /// Radius of sphere [A] 44 // [DEFAULT]=rad_core0=200.0 [A] 45 double rad_core0; 46 /// sld_core [1/A^(2)] 47 // [DEFAULT]=sld_core0= 1.0e-6 [1/A^(2)] 48 double sld_core0; 49 /// sld_solv [1/A^(2)] 50 // [DEFAULT]=sld_solv= 6.4e-6 [1/A^(2)] 51 double sld_solv; 52 /// Incoherent Background [1/cm] 53 // [DEFAULT]=background=0 [1/cm] 54 double background; 37 class OnionModel{ 38 public: 39 // Model parameters 40 /// number of shells 41 // [DEFAULT]=n_shells=1 42 Parameter n_shells; 43 /// Scale factor 44 // [DEFAULT]=scale= 1.0 45 Parameter scale; 46 /// Radius of sphere [A] 47 // [DEFAULT]=rad_core0=200.0 [A] 48 Parameter rad_core0; 49 /// sld_core [1/A^(2)] 50 // [DEFAULT]=sld_core0= 1.0e-6 [1/A^(2)] 51 Parameter sld_core0; 52 /// sld_solv [1/A^(2)] 53 // [DEFAULT]=sld_solv= 6.4e-6 [1/A^(2)] 54 Parameter sld_solv; 55 /// Incoherent Background [1/cm] 56 // [DEFAULT]=background=0 [1/cm] 57 Parameter background; 55 58 56 59 // [DEFAULT]=sld_out_shell1=2.0e-06 [1/A^(2)] 57 doublesld_out_shell1;60 Parameter sld_out_shell1; 58 61 // [DEFAULT]=sld_out_shell2=2.5e-06 [1/A^(2)] 59 doublesld_out_shell2;62 Parameter sld_out_shell2; 60 63 // [DEFAULT]=sld_out_shell3=3.0e-06 [1/A^(2)] 61 doublesld_out_shell3;64 Parameter sld_out_shell3; 62 65 // [DEFAULT]=sld_out_shell4=3.5e-06 [1/A^(2)] 63 doublesld_out_shell4;66 Parameter sld_out_shell4; 64 67 // [DEFAULT]=sld_out_shell5=4.0e-06 [1/A^(2)] 65 doublesld_out_shell5;68 Parameter sld_out_shell5; 66 69 // [DEFAULT]=sld_out_shell6=4.5e-06 [1/A^(2)] 67 doublesld_out_shell6;70 Parameter sld_out_shell6; 68 71 // [DEFAULT]=sld_out_shell7=5.0e-06 [1/A^(2)] 69 doublesld_out_shell7;72 Parameter sld_out_shell7; 70 73 // [DEFAULT]=sld_out_shell8=5.5e-06 [1/A^(2)] 71 doublesld_out_shell8;74 Parameter sld_out_shell8; 72 75 // [DEFAULT]=sld_out_shell9=6.0e-06 [1/A^(2)] 73 doublesld_out_shell9;76 Parameter sld_out_shell9; 74 77 // [DEFAULT]=sld_out_shell10=6.2e-06 [1/A^(2)] 75 doublesld_out_shell10;78 Parameter sld_out_shell10; 76 79 77 80 // [DEFAULT]=sld_in_shell1=1.7e-06 [1/A^(2)] 78 doublesld_in_shell1;81 Parameter sld_in_shell1; 79 82 // [DEFAULT]=sld_in_shell2=2.2e-06 [1/A^(2)] 80 doublesld_in_shell2;83 Parameter sld_in_shell2; 81 84 // [DEFAULT]=sld_in_shell3=2.7e-06 [1/A^(2)] 82 doublesld_in_shell3;85 Parameter sld_in_shell3; 83 86 // [DEFAULT]=sld_in_shell4=3.2e-06 [1/A^(2)] 84 doublesld_in_shell4;87 Parameter sld_in_shell4; 85 88 // [DEFAULT]=sld_in_shell5=3.7e-06 [1/A^(2)] 86 doublesld_in_shell5;89 Parameter sld_in_shell5; 87 90 // [DEFAULT]=sld_in_shell6=4.2e-06 [1/A^(2)] 88 doublesld_in_shell6;91 Parameter sld_in_shell6; 89 92 // [DEFAULT]=sld_in_shell7=4.7e-06 [1/A^(2)] 90 doublesld_in_shell7;93 Parameter sld_in_shell7; 91 94 // [DEFAULT]=sld_in_shell8=5.2e-06 [1/A^(2)] 92 doublesld_in_shell8;95 Parameter sld_in_shell8; 93 96 // [DEFAULT]=sld_in_shell9=5.7e-06 [1/A^(2)] 94 doublesld_in_shell9;97 Parameter sld_in_shell9; 95 98 // [DEFAULT]=sld_in_shell10=6.0e-06 [1/A^(2)] 96 doublesld_in_shell10;99 Parameter sld_in_shell10; 97 100 98 101 // [DEFAULT]=A_shell1=1.0 99 doubleA_shell1;102 Parameter A_shell1; 100 103 // [DEFAULT]=A_shell2=1.0 101 doubleA_shell2;104 Parameter A_shell2; 102 105 // [DEFAULT]=A_shell3=1.0 103 doubleA_shell3;106 Parameter A_shell3; 104 107 // [DEFAULT]=A_shell4=1.0 105 doubleA_shell4;108 Parameter A_shell4; 106 109 // [DEFAULT]=A_shell5=1.0 107 doubleA_shell5;110 Parameter A_shell5; 108 111 // [DEFAULT]=A_shell6=1.0 109 doubleA_shell6;112 Parameter A_shell6; 110 113 // [DEFAULT]=A_shell7=1.0 111 doubleA_shell7;114 Parameter A_shell7; 112 115 // [DEFAULT]=A_shell8=1.0 113 doubleA_shell8;116 Parameter A_shell8; 114 117 // [DEFAULT]=A_shell9=1.0 115 doubleA_shell9;118 Parameter A_shell9; 116 119 // [DEFAULT]=A_shell10=1.0 117 doubleA_shell10;120 Parameter A_shell10; 118 121 119 122 // [DEFAULT]=thick_shell1=50.0 [A] 120 doublethick_shell1;123 Parameter thick_shell1; 121 124 // [DEFAULT]=thick_shell2=50.0 [A] 122 doublethick_shell2;125 Parameter thick_shell2; 123 126 // [DEFAULT]=thick_shell3=50.0 [A] 124 doublethick_shell3;127 Parameter thick_shell3; 125 128 // [DEFAULT]=thick_shell4=50.0 [A] 126 doublethick_shell4;129 Parameter thick_shell4; 127 130 // [DEFAULT]=thick_shell5=50.0 [A] 128 doublethick_shell5;131 Parameter thick_shell5; 129 132 // [DEFAULT]=thick_shell6=50.0 [A] 130 doublethick_shell6;133 Parameter thick_shell6; 131 134 // [DEFAULT]=thick_shell7=50.0 [A] 132 doublethick_shell7;135 Parameter thick_shell7; 133 136 // [DEFAULT]=thick_shell8=50.0 [A] 134 doublethick_shell8;137 Parameter thick_shell8; 135 138 // [DEFAULT]=thick_shell9=50.0 [A] 136 doublethick_shell9;139 Parameter thick_shell9; 137 140 // [DEFAULT]=thick_shell10=50.0 [A] 138 doublethick_shell10;141 Parameter thick_shell10; 139 142 140 143 // [DEFAULT]=func_shell1=2 141 intfunc_shell1;144 Parameter func_shell1; 142 145 // [DEFAULT]=func_shell2=2 143 intfunc_shell2;146 Parameter func_shell2; 144 147 // [DEFAULT]=func_shell3=2 145 intfunc_shell3;148 Parameter func_shell3; 146 149 // [DEFAULT]=func_shell4=2 147 intfunc_shell4;150 Parameter func_shell4; 148 151 // [DEFAULT]=func_shell5=2 149 intfunc_shell5;152 Parameter func_shell5; 150 153 // [DEFAULT]=func_shell6=2 151 intfunc_shell6;154 Parameter func_shell6; 152 155 // [DEFAULT]=func_shell7=2 153 intfunc_shell7;156 Parameter func_shell7; 154 157 // [DEFAULT]=func_shell8=2 155 intfunc_shell8;158 Parameter func_shell8; 156 159 // [DEFAULT]=func_shell9=2 157 intfunc_shell9;160 Parameter func_shell9; 158 161 // [DEFAULT]=func_shell10=2 159 int func_shell10; 160 } OnionParameters; 162 Parameter func_shell10; 161 163 162 double so_kernel(double dq[], double q); 164 // Constructor 165 OnionModel(); 163 166 164 /// 1D scattering function 165 double onion_analytical_1D(OnionParameters *pars,double q);166 167 /// 2D scattering function 168 double onion_analytical_2D(OnionParameters *pars,double q, double phi);169 double onion_analytical_2DXY(OnionParameters *pars, double qx, double qy);167 // Operators to get I(Q) 168 double operator()(double q); 169 double operator()(double qx, double qy); 170 double calculate_ER(); 171 double evaluate_rphi(double q, double phi); 172 }; 170 173 171 174 #endif
Note: See TracChangeset
for help on using the changeset viewer.