diff --git a/doc/examples/data/deltat_tdc_dolly_1020.bin b/doc/examples/data/deltat_tdc_dolly_1020.bin new file mode 100644 index 00000000..d8d20925 Binary files /dev/null and b/doc/examples/data/deltat_tdc_dolly_1020.bin differ diff --git a/doc/examples/test-asy-LF-BaB6.msr b/doc/examples/test-asy-LF-BaB6.msr new file mode 100644 index 00000000..a65ea437 --- /dev/null +++ b/doc/examples/test-asy-LF-BaB6.msr @@ -0,0 +1,60 @@ +BaB6 T20K LF5G +############################################################### +FITPARAMETER +# Nr. Name Value Step Pos_Error Boundaries + 1 alpha 0.7 0 none 0 none + 2 asy 0.2091 -0.0013 0.0013 0 0.33 + 3 field 2.127 0 none 0 none + 4 width 0.5387 -0.0054 0.0055 0 100 + 5 hopp 0.119 -0.013 0.014 0 100 + 6 asyConst 0 0 none + +############################################################### +THEORY +asymmetry 2 +dynGssKTLF fun1 4 5 (frequency damping hopping-rate) ++ +asymmetry 6 + +############################################################### +FUNCTIONS +fun1 = par3 * gamma_mu + +############################################################### +RUN data/deltat_tdc_dolly_1020 PIE1 PSI PSI-BIN (name beamline institute data-file-format) +fittype 2 (asymmetry fit) +alpha 1 +map 0 0 0 0 0 0 0 0 0 0 +forward 2 +backward 1 +background 15 146 13 148 # estimated bkg: 20.4846 / 4.8731 +data 170 9956 168 9110 +t0 160.0 161.0 +fit 0.25 10 +packing 5 + +############################################################### +COMMANDS +MINIMIZE +MINOS +SAVE + +############################################################### +FOURIER +units Gauss # units either 'Gauss', 'MHz', or 'Mc/s' +fourier_power 12 +apodization STRONG # NONE, WEAK, MEDIUM, STRONG +plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE +phase 8 +#range_for_phase_correction 50.0 70.0 +range 0 800 + +############################################################### +PLOT 2 (asymmetry plot) +runs 1 +range 0 9.5 -0.15 0.3 +view_packing 150 + +############################################################### +STATISTIC --- 2013-07-01 20:40:44 + chisq = 1911.7, NDF = 1905, chisq/NDF = 1.003494 diff --git a/src/classes/PTheory.cpp b/src/classes/PTheory.cpp index 30174ce8..cfa21852 100644 --- a/src/classes/PTheory.cpp +++ b/src/classes/PTheory.cpp @@ -2687,14 +2687,14 @@ void PTheory::CalculateGaussLFIntegral(const Double_t *val) const fLFIntegral.push_back(0.0); // start value of the integral ft = 0.0; - Double_t step = 0.0, lastStep = 1.0, diff = 0.0; + Double_t step = 0.0, lastft = 1.0, diff = 0.0; do { t += dt; step = 0.5*dt*preFactor*(exp(-0.5*pow(Delta * (t-dt), 2.0))*sin(w0*(t-dt))+ exp(-0.5*pow(Delta * t, 2.0))*sin(w0*t)); - diff = fabs(fabs(step)-fabs(lastStep)); - lastStep = step; ft += step; + diff = fabs(fabs(lastft)-fabs(ft)); + lastft = ft; fLFIntegral.push_back(ft); } while ((t <= 20.0) && (diff > 1.0e-10)); } @@ -2762,13 +2762,13 @@ void PTheory::CalculateLorentzLFIntegral(const Double_t *val) const ft += 0.5*dt*preFactor*(1.0+sin(w0*t)/(w0*t)*exp(-a*t)); fLFIntegral.push_back(ft); // calculate all the other integral bin values - Double_t step = 0.0, lastStep = 1.0, diff = 0.0; + Double_t step = 0.0, lastft = 1.0, diff = 0.0; do { t += dt; step = 0.5*dt*preFactor*(sin(w0*(t-dt))/(w0*(t-dt))*exp(-a*(t-dt))+sin(w0*t)/(w0*t)*exp(-a*t)); - diff = fabs(fabs(step)-fabs(lastStep)); - lastStep = step; ft += step; + diff = fabs(fabs(lastft)-fabs(ft)); + lastft = ft; fLFIntegral.push_back(ft); } while ((t <= 20.0) && (diff > 1.0e-10)); } @@ -2792,7 +2792,7 @@ Double_t PTheory::GetLFIntegralValue(const Double_t t) const if (idx + 2 > fLFIntegral.size()) return fLFIntegral.back(); - // linearly interpolate between the two relvant function bins + // linearly interpolate between the two relevant function bins Double_t df = (fLFIntegral[idx+1]-fLFIntegral[idx])*(t/fSamplingTime-static_cast(idx)); return fLFIntegral[idx]+df; diff --git a/src/musredit_qt5/musredit/PTextEdit.cpp b/src/musredit_qt5/musredit/PTextEdit.cpp index 45f52b9d..16734ec8 100644 --- a/src/musredit_qt5/musredit/PTextEdit.cpp +++ b/src/musredit_qt5/musredit/PTextEdit.cpp @@ -2589,7 +2589,8 @@ void PTextEdit::musrSwapMsrMlog() // get current file name QString currentFileName = *fFilenames.find( currentEditor() ); QString swapFileName; - QString tempFileName = QString("__swap__.msr"); + QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); + QString tempFileName = QString("%1/.musrfit/__swap__.msr").arg(env.value("HOME")); // check if it is a msr-, mlog-, or another file int idx;