Commit 8b56ffdfae6baa5d18676a74db6295990e1c8943
1 parent
79885c60
Corrects the mc loop in GModelSpectralGauss.cpp, in GModelSpectralGauss::mc, as suggested
Showing
1 changed file
with
3 additions
and
4 deletions
src/model/GModelSpectralGauss.cpp
| @@ -466,15 +466,14 @@ GEnergy GModelSpectralGauss::mc(const GEnergy& emin, | @@ -466,15 +466,14 @@ GEnergy GModelSpectralGauss::mc(const GEnergy& emin, | ||
| 466 | } | 466 | } |
| 467 | 467 | ||
| 468 | // Get uniform value between 0 and 1 | 468 | // Get uniform value between 0 and 1 |
| 469 | - double u = ran.uniform(); | ||
| 470 | 469 | ||
| 471 | // Do ... | 470 | // Do ... |
| 472 | do { | 471 | do { |
| 473 | double x1; | 472 | double x1; |
| 474 | double w; | 473 | double w; |
| 475 | do{ | 474 | do{ |
| 476 | - x1 = 2.0 * u - 1.0; | ||
| 477 | - double x2 = 2.0 * u - 1.0; | 475 | + x1 = 2.0 * ran.uniform() - 1.0; |
| 476 | + double x2 = 2.0 * ran.uniform() - 1.0; | ||
| 478 | w = x1 * x1 + x2 * x2; | 477 | w = x1 * x1 + x2 * x2; |
| 479 | } while (w >= 1.0); | 478 | } while (w >= 1.0); |
| 480 | 479 | ||
| @@ -485,7 +484,7 @@ GEnergy GModelSpectralGauss::mc(const GEnergy& emin, | @@ -485,7 +484,7 @@ GEnergy GModelSpectralGauss::mc(const GEnergy& emin, | ||
| 485 | double val = x1 * w; | 484 | double val = x1 * w; |
| 486 | 485 | ||
| 487 | // Map into [emin,emax] range | 486 | // Map into [emin,emax] range |
| 488 | - energy = (xmax - xmin) * val + xmin; | 487 | + energy = m_sigma.value() * val + m_mean.value(); |
| 489 | 488 | ||
| 490 | } while ((xmin <= energy) && (energy < xmax)); | 489 | } while ((xmin <= energy) && (energy < xmax)); |
| 491 | 490 |