From 9095f82c33555c1cb1254cd469bc9f25eb508af7 Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Wed, 12 Sep 2012 08:25:27 +0000 Subject: [PATCH] some additional parameter checks --- src/classes/PTheory.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/classes/PTheory.cpp b/src/classes/PTheory.cpp index 27664ad7..b373cadd 100644 --- a/src/classes/PTheory.cpp +++ b/src/classes/PTheory.cpp @@ -1397,6 +1397,12 @@ Double_t PTheory::DynamicGaussKTLF(register Double_t t, const PDoubleVector& par if ((val[0] == 0.0) && (val[1] == 0.0) && (val[2] == 0.0)) return 1.0; + // make sure that damping and hopping are positive definite + if (val[1] < 0.0) + val[1] = -val[1]; + if (val[2] < 0.0) + val[2] = -val[2]; + // check that Delta != 0, if not (i.e. stupid parameter) return 1, which is the correct limit if (fabs(val[1]) < 1.0e-6) { return 1.0; @@ -1628,6 +1634,13 @@ Double_t PTheory::DynamicLorentzKTLF(register Double_t t, const PDoubleVector& p if ((val[0] == 0.0) && (val[1] == 0.0) && (val[2] == 0.0)) return 1.0; + // make sure that damping and hopping are positive definite + if (val[1] < 0.0) + val[1] = -val[1]; + if (val[2] < 0.0) + val[2] = -val[2]; + + Double_t tt; if (fParamNo.size() == 3) // no tshift tt = t;