Merged muonspin/musrfit into master
This commit is contained in:
commit
dcc4c88ee2
@ -9,6 +9,8 @@ NEW 2015-02-21 add proper Mac icon to musredit
|
|||||||
FIXED 2015-09-17 in PMsr2Data::PrepareGlobalInputFile() there seem to be 'unmotivated'
|
FIXED 2015-09-17 in PMsr2Data::PrepareGlobalInputFile() there seem to be 'unmotivated'
|
||||||
break; commands in some loops. They prevent a proper map handling.
|
break; commands in some loops. They prevent a proper map handling.
|
||||||
Since this is a real puzzle I contacted BMW for clarification.
|
Since this is a real puzzle I contacted BMW for clarification.
|
||||||
|
2015-09-18: there is only one unmotivated break; cleaned up the code
|
||||||
|
accordingly.
|
||||||
FIXED 2015-09-14 any2many export of MusrRoot crashed when first histo group was != 0.
|
FIXED 2015-09-14 any2many export of MusrRoot crashed when first histo group was != 0.
|
||||||
This happend when exporting to PSI-BIN or WKM. This is fixed now.
|
This happend when exporting to PSI-BIN or WKM. This is fixed now.
|
||||||
FIXED 2015-09-08 fixed error in view_packing for single histo (wrong norm of the theory).
|
FIXED 2015-09-08 fixed error in view_packing for single histo (wrong norm of the theory).
|
||||||
|
@ -813,7 +813,7 @@ bool PMsr2Data::PrepareGlobalInputFile(unsigned int tempRun, const string &msrOu
|
|||||||
tempVec[j].append(boost::lexical_cast<string>(l + 1));
|
tempVec[j].append(boost::lexical_cast<string>(l + 1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//as break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -902,7 +902,7 @@ bool PMsr2Data::PrepareGlobalInputFile(unsigned int tempRun, const string &msrOu
|
|||||||
}
|
}
|
||||||
mapExists = false;
|
mapExists = false;
|
||||||
}
|
}
|
||||||
//as break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1111,7 +1111,6 @@ bool PMsr2Data::PrepareGlobalInputFile(unsigned int tempRun, const string &msrOu
|
|||||||
lineChanged = true;
|
lineChanged = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//as break;
|
|
||||||
}
|
}
|
||||||
catch(boost::bad_lexical_cast &) {
|
catch(boost::bad_lexical_cast &) {
|
||||||
// in case the cast does not work: do nothing - this means the entry is not a simple parameter
|
// in case the cast does not work: do nothing - this means the entry is not a simple parameter
|
||||||
|
@ -4787,18 +4787,22 @@ void PMusrCanvas::PlotData(Bool_t unzoom)
|
|||||||
|
|
||||||
// add all data to fMultiGraphData
|
// add all data to fMultiGraphData
|
||||||
for (UInt_t i=0; i<fNonMusrData.size(); i++) {
|
for (UInt_t i=0; i<fNonMusrData.size(); i++) {
|
||||||
// the next two lines are ugly but needed for the following reasons:
|
// the next three lines are ugly but needed for the following reasons:
|
||||||
// TMultiGraph is taking ownership of the TGraphErrors, hence a deep copy is needed.
|
// TMultiGraph is taking ownership of the TGraphErrors, hence a deep copy is needed.
|
||||||
// This is not resulting in a memory leak, since the TMultiGraph object will do the cleanup
|
// This is not resulting in a memory leak, since the TMultiGraph object will do the cleanup
|
||||||
TGraphErrors *ge = new TGraphErrors(*(fNonMusrData[i].data));
|
TGraphErrors *ge = new TGraphErrors(*(fNonMusrData[i].data));
|
||||||
|
// Data points and model curves should be fixed on the graph and not dragged around using, e.g., the mouse.
|
||||||
|
ge->SetEditable(false);
|
||||||
fMultiGraphData->Add(ge, "p");
|
fMultiGraphData->Add(ge, "p");
|
||||||
}
|
}
|
||||||
// add all the theory to fMultiGraphData
|
// add all the theory to fMultiGraphData
|
||||||
for (UInt_t i=0; i<fNonMusrData.size(); i++) {
|
for (UInt_t i=0; i<fNonMusrData.size(); i++) {
|
||||||
// the next two lines are ugly but needed for the following reasons:
|
// the next three lines are ugly but needed for the following reasons:
|
||||||
// TMultiGraph is taking ownership of the TGraphErrors, hence a deep copy is needed.
|
// TMultiGraph is taking ownership of the TGraphErrors, hence a deep copy is needed.
|
||||||
// This is not resulting in a memory leak, since the TMultiGraph object will do the cleanup
|
// This is not resulting in a memory leak, since the TMultiGraph object will do the cleanup
|
||||||
TGraphErrors *ge = new TGraphErrors(*(fNonMusrData[i].theory));
|
TGraphErrors *ge = new TGraphErrors(*(fNonMusrData[i].theory));
|
||||||
|
// Data points and model curves should be fixed on the graph and not dragged around using, e.g., the mouse.
|
||||||
|
ge->SetEditable(false);
|
||||||
fMultiGraphData->Add(ge, "l");
|
fMultiGraphData->Add(ge, "l");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4843,6 +4847,11 @@ void PMusrCanvas::PlotData(Bool_t unzoom)
|
|||||||
if (fMultiGraphLegend)
|
if (fMultiGraphLegend)
|
||||||
fMultiGraphLegend->Draw();
|
fMultiGraphLegend->Draw();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// report canvas status events in non-musr plots
|
||||||
|
if (!fMainCanvas->GetShowEventStatus()) {
|
||||||
|
fMainCanvas->ToggleEventStatus();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fDataTheoryPad->Update();
|
fDataTheoryPad->Update();
|
||||||
@ -5031,10 +5040,12 @@ void PMusrCanvas::PlotDifference(Bool_t unzoom)
|
|||||||
|
|
||||||
// add all diff data to fMultiGraphDiff
|
// add all diff data to fMultiGraphDiff
|
||||||
for (UInt_t i=0; i<fNonMusrData.size(); i++) {
|
for (UInt_t i=0; i<fNonMusrData.size(); i++) {
|
||||||
// the next two lines are ugly but needed for the following reasons:
|
// the next three lines are ugly but needed for the following reasons:
|
||||||
// TMultiGraph is taking ownership of the TGraphErrors, hence a deep copy is needed.
|
// TMultiGraph is taking ownership of the TGraphErrors, hence a deep copy is needed.
|
||||||
// This is not resulting in a memory leak, since the TMultiGraph object will do the cleaing
|
// This is not resulting in a memory leak, since the TMultiGraph object will do the cleaing
|
||||||
TGraphErrors *ge = new TGraphErrors(*(fNonMusrData[i].diff));
|
TGraphErrors *ge = new TGraphErrors(*(fNonMusrData[i].diff));
|
||||||
|
// Data points and model curves should be fixed on the graph and not dragged around using, e.g., the mouse.
|
||||||
|
ge->SetEditable(false);
|
||||||
fMultiGraphDiff->Add(ge, "p");
|
fMultiGraphDiff->Add(ge, "p");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user