diff --git a/src/classes/PMusrCanvas.cpp b/src/classes/PMusrCanvas.cpp index 0d7ee761..cffd4f0a 100644 --- a/src/classes/PMusrCanvas.cpp +++ b/src/classes/PMusrCanvas.cpp @@ -95,7 +95,7 @@ PMusrCanvas::PMusrCanvas(const int number, const char* title, */ PMusrCanvas::~PMusrCanvas() { -cout << "~PMusrCanvas() called" << endl; +cout << "~PMusrCanvas() called. fMainCanvas name=" << fMainCanvas->GetName() << endl; // cleanup if (fStyle) { delete fStyle; @@ -332,7 +332,7 @@ void PMusrCanvas::UpdateParamTheoryPad() if (param[i].fPosErrorPresent) { // minos was used // calculate the arithmetic average of the pos. and neg. error double err; - err = param[i].fPosError + param[i].fStep / 2.0; + err = (param[i].fPosError - param[i].fStep) / 2.0; // check if the pos. and neg. error within 10% if ((fabs(fabs(param[i].fStep) - param[i].fPosError) < 0.1*fabs(param[i].fStep)) && (fabs(fabs(param[i].fStep) - param[i].fPosError) < 0.1*param[i].fPosError)) { diff --git a/src/musrview.cpp b/src/musrview.cpp index 8cf90b75..995a1ac4 100644 --- a/src/musrview.cpp +++ b/src/musrview.cpp @@ -38,6 +38,7 @@ using namespace std; #include #include +#include #include "PMusr.h" #include "PStartupHandler.h" @@ -264,9 +265,16 @@ cout << endl; // clean up cout << endl << "clean up canvas vector ..."; + char canvasName[32]; for (unsigned int i=0; i~PMusrCanvas(); + sprintf(canvasName, "fMainCanvas%d", i); +cout << endl << ">> canvasName=" << canvasName; + if (gROOT->GetListOfCanvases()->FindObject(canvasName) != 0) { +cout << endl << ">> canvasName=" << canvasName << ", found ..."; +cout << endl; + canvasVector[i]->~PMusrCanvas(); + } } canvasVector.empty(); }