From 0b80ab814a7d2c1d4cd91ff829e102ae1f6ce884 Mon Sep 17 00:00:00 2001 From: nemu Date: Tue, 25 Mar 2008 07:36:23 +0000 Subject: [PATCH] minor change --- src/classes/PTheory.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/classes/PTheory.cpp b/src/classes/PTheory.cpp index 347dc972..41cc9997 100644 --- a/src/classes/PTheory.cpp +++ b/src/classes/PTheory.cpp @@ -1046,7 +1046,7 @@ double PTheory::InternalBessel(register double t, const vector& paramVal */ double PTheory::SkewedGauss(register double t, const vector& paramValues, const vector& funcValues) const { - double val[4]; + double val[4]; // phase, freq, sigma-, sigma+ double skg; // check if FUNCTIONS are used @@ -1065,15 +1065,16 @@ double PTheory::SkewedGauss(register double t, const vector& paramValues double gp = TMath::Exp(-0.5*TMath::Power(t*val[3], 2.0)); // gauss sigma+ double gm = TMath::Exp(-0.5*TMath::Power(t*val[2], 2.0)); // gauss sigma- double wp = val[3]/(val[2]+val[3]); // sigma+ / (sigma+ + sigma-) + double wm = 1.0-wp; + double phase = DEG_TO_RAD*val[0]; + double freq = TWO_PI*val[1]; if ((zp >= 25.0) || (zm >= 25.0)) // needed to prevent crash of 1F1 skg = 2.0e300; else - skg = (1.0-wp) * (gm * (TMath::Cos(DEG_TO_RAD*val[0]+TWO_PI*val[1]*t) + - TMath::Sin(DEG_TO_RAD*val[0]+TWO_PI*val[1]*t) * 2.0*zm/SQRT_PI*gsl_sf_hyperg_1F1(0.5,1.5,zm*zm))) - + - wp * (gp * (TMath::Cos(DEG_TO_RAD*val[0]+TWO_PI*val[1]*t) - - TMath::Sin(DEG_TO_RAD*val[0]+TWO_PI*val[1]*t) * 2.0*zp/SQRT_PI*gsl_sf_hyperg_1F1(0.5,1.5,zp*zp))); + skg = TMath::Cos(phase+freq*t) * (wm*gm + wp*gp) + + TMath::Sin(phase+freq*t) * (wm*gm*2.0*zm/SQRT_PI*gsl_sf_hyperg_1F1(0.5,1.5,zm*zm) - + wp*gp*2.0*zp/SQRT_PI*gsl_sf_hyperg_1F1(0.5,1.5,zp*zp)); return skg; }