Changeset c451be9 in sasview for sansmodels/src/sans/models/c_models/triaxialellipsoid.cpp
- Timestamp:
- Jan 7, 2010 5:04:25 PM (15 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:
- dfa8832
- Parents:
- 4cbaf35
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sansmodels/src/sans/models/c_models/triaxialellipsoid.cpp
rf9bf661 rc451be9 81 81 double sum = 0.0; 82 82 double norm = 0.0; 83 double vol = 0.0; 83 84 84 85 // Loop over semi axis A weight points … … 93 94 for(int k=0; k< (int)weights_semi_axisC.size(); k++) { 94 95 dp[3] = weights_semi_axisC[k].value; 95 96 //Un-normalize by volume 96 97 sum += weights_semi_axisA[i].weight 97 * weights_semi_axisB[j].weight * weights_semi_axisC[k].weight* TriaxialEllipsoid(dp, q); 98 * weights_semi_axisB[j].weight * weights_semi_axisC[k].weight* TriaxialEllipsoid(dp, q) 99 * weights_semi_axisA[i].value*weights_semi_axisB[j].value*weights_semi_axisC[k].value; 100 //Find average volume 101 vol += weights_semi_axisA[i].weight 102 * weights_semi_axisB[j].weight * weights_semi_axisC[k].weight 103 * weights_semi_axisA[i].value*weights_semi_axisB[j].value*weights_semi_axisC[k].value; 104 98 105 norm += weights_semi_axisA[i].weight 99 106 * weights_semi_axisB[j].weight * weights_semi_axisC[k].weight; … … 101 108 } 102 109 } 110 if (vol != 0.0 && norm != 0.0) { 111 //Re-normalize by avg volume 112 sum = sum/(vol/norm);} 113 103 114 return sum/norm + background(); 104 115 } … … 150 161 double sum = 0.0; 151 162 double norm = 0.0; 163 double norm_vol = 0.0; 164 double vol = 0.0; 152 165 153 166 // Loop over semi axis A weight points … … 173 186 for(int n=0; n <(int)weights_psi.size(); n++) { 174 187 dp.axis_psi = weights_psi[n].value; 175 188 //Un-normalize by volume 176 189 double _ptvalue = weights_semi_axisA[i].weight 177 190 * weights_semi_axisB[j].weight … … 180 193 * weights_phi[m].weight 181 194 * weights_psi[n].weight 182 * triaxial_ellipsoid_analytical_2DXY(&dp, qx, qy); 195 * triaxial_ellipsoid_analytical_2DXY(&dp, qx, qy) 196 * weights_semi_axisA[i].value*weights_semi_axisB[j].value*weights_semi_axisC[k].value; 183 197 if (weights_theta.size()>1) { 184 198 _ptvalue *= sin(weights_theta[k].value); 185 199 } 186 200 sum += _ptvalue; 201 //Find average volume 202 vol += weights_semi_axisA[i].weight 203 * weights_semi_axisB[j].weight 204 * weights_semi_axisC[k].weight 205 * weights_semi_axisA[i].value*weights_semi_axisB[j].value*weights_semi_axisC[k].value; 206 //Find norm for volume 207 norm_vol += weights_semi_axisA[i].weight 208 * weights_semi_axisB[j].weight 209 * weights_semi_axisC[k].weight; 187 210 188 211 norm += weights_semi_axisA[i].weight … … 203 226 // integration (see documentation). 204 227 if (weights_theta.size()>1) norm = norm / asin(1.0); 228 229 if (vol != 0.0 && norm_vol != 0.0) { 230 //Re-normalize by avg volume 231 sum = sum/(vol/norm_vol);} 232 205 233 return sum/norm + background(); 206 234 }
Note: See TracChangeset
for help on using the changeset viewer.