@@ -87,8 +87,8 @@ void BivariateNormal::function1D(double *out, const double *xValues, const size_
87
87
out[i] = 0.0 ;
88
88
return ;
89
89
}
90
- double coefNorm, expCoeffx2, expCoeffy2, expCoeffxy , Varxx, Varxy, Varyy;
91
- int NCells ;
90
+ double coefficientNorm, exponentialCoeffx2, exponentialCoeffy2, exponentialCoeffxy , Varxx, Varxy, Varyy;
91
+ int numberOfCells ;
92
92
bool isNaNs;
93
93
94
94
API::MatrixWorkspace_const_sptr ws = getMatrixWorkspace ();
@@ -103,7 +103,8 @@ void BivariateNormal::function1D(double *out, const double *xValues, const size_
103
103
104
104
getConstraint (IBACK)->setPenaltyFactor (K * 3000 );
105
105
106
- double badParams = initCoeff (D, X, Y, coefNorm, expCoeffx2, expCoeffy2, expCoeffxy, NCells, Varxx, Varxy, Varyy);
106
+ double badParams = initCoeff (D, X, Y, coefficientNorm, exponentialCoeffx2, exponentialCoeffy2, exponentialCoeffxy,
107
+ numberOfCells, Varxx, Varxy, Varyy);
107
108
108
109
std::ostringstream inf;
109
110
inf << " F Parameters=" ;
@@ -113,7 +114,7 @@ void BivariateNormal::function1D(double *out, const double *xValues, const size_
113
114
inf << " ," << Varxx << " ," << Varyy << " ," << Varxy;
114
115
inf << ' \n ' ;
115
116
116
- NCells = std::min<int >(static_cast <int >(nData), NCells );
117
+ numberOfCells = std::min<int >(static_cast <int >(nData), numberOfCells );
117
118
118
119
double Background = getParameter (IBACK);
119
120
double Intensity = getParameter (ITINTENS);
@@ -127,7 +128,7 @@ void BivariateNormal::function1D(double *out, const double *xValues, const size_
127
128
128
129
// double penalty =0;
129
130
130
- for (int i = 0 ; i < NCells ; i++) {
131
+ for (int i = 0 ; i < numberOfCells ; i++) {
131
132
// double pen =0;
132
133
if (badParams > 0 )
133
134
out[x] = badParams;
@@ -136,8 +137,9 @@ void BivariateNormal::function1D(double *out, const double *xValues, const size_
136
137
else {
137
138
double dx = X[i] - Xmean;
138
139
double dy = Y[i] - Ymean;
139
- out[x] =
140
- Background + coefNorm * Intensity * exp (expCoeffx2 * dx * dx + expCoeffxy * dx * dy + expCoeffy2 * dy * dy);
140
+ out[x] = Background +
141
+ coefficientNorm * Intensity *
142
+ exp (exponentialCoeffx2 * dx * dx + exponentialCoeffxy * dx * dy + exponentialCoeffy2 * dy * dy);
141
143
out[x] = out[x] + DDD;
142
144
143
145
if (out[x] != out[x]) {
@@ -177,7 +179,7 @@ void BivariateNormal::functionDeriv1D(API::Jacobian *out, const double *xValues,
177
179
std::vector<double > outf (nData, 0.0 );
178
180
function1D (outf.data (), xValues, nData);
179
181
180
- double uu = LastParams[IVXX] * LastParams[IVYY] - LastParams[IVXY] * LastParams[IVXY];
182
+ double paramUU = LastParams[IVXX] * LastParams[IVYY] - LastParams[IVXY] * LastParams[IVXY];
181
183
/* if( uu <=0)
182
184
{
183
185
penDeriv = -2*uu;
@@ -206,8 +208,8 @@ void BivariateNormal::functionDeriv1D(API::Jacobian *out, const double *xValues,
206
208
207
209
double coefExp = coefNorm * LastParams[ITINTENS];
208
210
209
- double coefxy = LastParams[IVXY] / uu ;
210
- double coefx2 = -LastParams[IVYY] / 2 / uu ;
211
+ double coefxy = LastParams[IVXY] / paramUU ;
212
+ double coefx2 = -LastParams[IVYY] / 2 / paramUU ;
211
213
212
214
if (penaltyDeriv <= 0 )
213
215
out->set (x, IXMEAN,
@@ -220,7 +222,7 @@ void BivariateNormal::functionDeriv1D(API::Jacobian *out, const double *xValues,
220
222
221
223
coefExp = coefNorm * LastParams[ITINTENS];
222
224
223
- double coefy2 = -LastParams[IVXX] / 2 / uu ;
225
+ double coefy2 = -LastParams[IVXX] / 2 / paramUU ;
224
226
225
227
if (penaltyDeriv <= 0 )
226
228
out->set (x, IYMEAN,
@@ -236,17 +238,17 @@ void BivariateNormal::functionDeriv1D(API::Jacobian *out, const double *xValues,
236
238
M = 10 ;
237
239
coefExp = coefNorm * LastParams[ITINTENS];
238
240
239
- double C = -LastParams[IVYY] / 2 / uu ;
241
+ double C = -LastParams[IVYY] / 2 / paramUU ;
240
242
241
243
double SIVXX;
242
244
if (penaltyDeriv <= 0 )
243
245
SIVXX = coefExp * expVals[x] *
244
246
(C +
245
- -LastParams[IVYY] / uu *
247
+ -LastParams[IVYY] / paramUU *
246
248
(coefx2 * (c - LastParams[IXMEAN]) * (c - LastParams[IXMEAN]) +
247
249
coefxy * (r - LastParams[IYMEAN]) * (c - LastParams[IXMEAN]) +
248
250
coefy2 * (r - LastParams[IYMEAN]) * (r - LastParams[IYMEAN])) -
249
- (r - LastParams[IYMEAN]) * (r - LastParams[IYMEAN]) / 2 / uu );
251
+ (r - LastParams[IYMEAN]) * (r - LastParams[IYMEAN]) / 2 / paramUU );
250
252
else if (LastParams[IVXX] < .01 )
251
253
SIVXX = -M;
252
254
else
@@ -258,17 +260,17 @@ void BivariateNormal::functionDeriv1D(API::Jacobian *out, const double *xValues,
258
260
SIVXX = 0 ;
259
261
coefExp = coefNorm * LastParams[ITINTENS];
260
262
261
- C = -LastParams[IVXX] / 2 / uu ;
263
+ C = -LastParams[IVXX] / 2 / paramUU ;
262
264
263
265
double SIVYY;
264
266
if (penaltyDeriv <= 0 )
265
267
SIVYY = coefExp * expVals[x] *
266
268
(C +
267
- -LastParams[IVXX] / uu *
269
+ -LastParams[IVXX] / paramUU *
268
270
(coefx2 * (c - LastParams[IXMEAN]) * (c - LastParams[IXMEAN]) +
269
271
coefxy * (r - LastParams[IYMEAN]) * (c - LastParams[IXMEAN]) +
270
272
coefy2 * (r - LastParams[IYMEAN]) * (r - LastParams[IYMEAN])) -
271
- (c - LastParams[IXMEAN]) * (c - LastParams[IXMEAN]) / 2 / uu );
273
+ (c - LastParams[IXMEAN]) * (c - LastParams[IXMEAN]) / 2 / paramUU );
272
274
273
275
else if (LastParams[IVYY] < .01 )
274
276
SIVYY = -M;
@@ -282,19 +284,19 @@ void BivariateNormal::functionDeriv1D(API::Jacobian *out, const double *xValues,
282
284
SIVYY = 0 ;
283
285
coefExp = coefNorm * LastParams[ITINTENS];
284
286
285
- C = LastParams[IVXY] / uu ;
287
+ C = LastParams[IVXY] / paramUU ;
286
288
287
289
double SIVXY;
288
290
if (penaltyDeriv <= 0 )
289
291
SIVXY = coefExp * expVals[x] *
290
292
(C +
291
- 2 * LastParams[IVXY] / uu *
293
+ 2 * LastParams[IVXY] / paramUU *
292
294
(coefx2 * (c - LastParams[IXMEAN]) * (c - LastParams[IXMEAN]) +
293
295
coefxy * (r - LastParams[IYMEAN]) * (c - LastParams[IXMEAN]) +
294
296
coefy2 * (r - LastParams[IYMEAN]) * (r - LastParams[IYMEAN])) +
295
- (r - LastParams[IYMEAN]) * (c - LastParams[IXMEAN]) / uu );
297
+ (r - LastParams[IYMEAN]) * (c - LastParams[IXMEAN]) / paramUU );
296
298
297
- else if (uu < 0 )
299
+ else if (paramUU < 0 )
298
300
SIVXY = 2 * LastParams[IVXY];
299
301
else
300
302
SIVXY = 0 ;
@@ -468,16 +470,15 @@ double BivariateNormal::initCommon() {
468
470
addConstraint (std::make_unique<BoundaryConstraint>(this , " Intensity" , 0 , maxIntensity));
469
471
}
470
472
471
- double minMeany = MinY * .9 + .1 * MaxY;
472
- double maxMeany = MinY * .1 + .9 * MaxY;
473
-
474
473
if (getConstraint (3 ) == nullptr ) {
474
+ double minMeany = MinY * .9 + .1 * MaxY;
475
+ double maxMeany = MinY * .1 + .9 * MaxY;
475
476
addConstraint (std::make_unique<BoundaryConstraint>(this , " Mrow" , minMeany, maxMeany));
476
477
}
477
478
478
- double minMeanx = MinX * .9 + .1 * MaxX;
479
- double maxMeanx = MinX * .1 + .9 * MaxX;
480
479
if (getConstraint (2 ) == nullptr ) {
480
+ double minMeanx = MinX * .9 + .1 * MaxX;
481
+ double maxMeanx = MinX * .1 + .9 * MaxX;
481
482
addConstraint (std::make_unique<BoundaryConstraint>(this , " Mcol" , minMeanx, maxMeanx));
482
483
}
483
484
@@ -609,18 +610,19 @@ double BivariateNormal::initCoeff(const HistogramY &D, const HistogramY &X, cons
609
610
Varxy = getParameter (IVXY);
610
611
}
611
612
612
- double uu = Varxx * Varyy - Varxy * Varxy;
613
+ double paramUU = Varxx * Varyy - Varxy * Varxy;
613
614
double penalty;
614
615
if (zeroDenom)
615
616
penalty = 200 ;
616
617
else
617
- penalty = std::max<double >(0 , -Varxx + .01 ) + std::max<double >(0 , -Varyy + .01 ) + std::max<double >(0 , -uu + .01 );
618
+ penalty =
619
+ std::max<double >(0 , -Varxx + .01 ) + std::max<double >(0 , -Varyy + .01 ) + std::max<double >(0 , -paramUU + .01 );
618
620
619
- if (fabs (uu ) < .01 ) {
620
- if (uu < 0 )
621
- uu = -.01 ;
621
+ if (fabs (paramUU ) < .01 ) {
622
+ if (paramUU < 0 )
623
+ paramUU = -.01 ;
622
624
else
623
- uu = .01 ;
625
+ paramUU = .01 ;
624
626
}
625
627
626
628
NCells = static_cast <int >(std::min<size_t >(D.size (), std::min<size_t >(X.size (), Y.size ())));
@@ -631,11 +633,11 @@ double BivariateNormal::initCoeff(const HistogramY &D, const HistogramY &X, cons
631
633
Varxy = 0 ;
632
634
return penalty;
633
635
}
634
- coefNorm = .5 / M_PI / sqrt (fabs (uu ));
636
+ coefNorm = .5 / M_PI / sqrt (fabs (paramUU ));
635
637
636
- expCoeffx2 = -fabs (Varyy) / 2 / fabs (uu );
637
- expCoeffxy = Varxy / uu ;
638
- expCoeffy2 = -fabs (Varxx) / 2 / fabs (uu );
638
+ expCoeffx2 = -fabs (Varyy) / 2 / fabs (paramUU );
639
+ expCoeffxy = Varxy / paramUU ;
640
+ expCoeffy2 = -fabs (Varxx) / 2 / fabs (paramUU );
639
641
640
642
if (nParams () < 5 )
641
643
penalty *= 10 ;
0 commit comments