switched PMusrCanvas where possible to smart pointers.
This commit is contained in:
parent
93754a9fc2
commit
dbfadc4e42
@ -119,7 +119,6 @@ ClassImpQ(PMusrCanvas)
|
|||||||
PMusrCanvas::PMusrCanvas()
|
PMusrCanvas::PMusrCanvas()
|
||||||
{
|
{
|
||||||
fTimeout = 0;
|
fTimeout = 0;
|
||||||
fTimeoutTimer = nullptr;
|
|
||||||
|
|
||||||
fScaleN0AndBkg = true;
|
fScaleN0AndBkg = true;
|
||||||
fValid = false;
|
fValid = false;
|
||||||
@ -134,16 +133,6 @@ PMusrCanvas::PMusrCanvas()
|
|||||||
fImp = nullptr;
|
fImp = nullptr;
|
||||||
fBar = nullptr;
|
fBar = nullptr;
|
||||||
fPopupMain = nullptr;
|
fPopupMain = nullptr;
|
||||||
fPopupFourier = nullptr;
|
|
||||||
|
|
||||||
fStyle = nullptr;
|
|
||||||
fMainCanvas = nullptr;
|
|
||||||
fTitlePad = nullptr;
|
|
||||||
fDataTheoryPad = nullptr;
|
|
||||||
fParameterPad = nullptr;
|
|
||||||
fTheoryPad = nullptr;
|
|
||||||
fInfoPad = nullptr;
|
|
||||||
fMultiGraphLegend = nullptr;
|
|
||||||
|
|
||||||
fHistoFrame = nullptr;
|
fHistoFrame = nullptr;
|
||||||
|
|
||||||
@ -153,11 +142,6 @@ PMusrCanvas::PMusrCanvas()
|
|||||||
InitFourier();
|
InitFourier();
|
||||||
InitAverage();
|
InitAverage();
|
||||||
|
|
||||||
fCurrentFourierPhaseText = nullptr;
|
|
||||||
|
|
||||||
fRRFText = nullptr;
|
|
||||||
fRRFLatexText = nullptr;
|
|
||||||
|
|
||||||
fXRangePresent = false;
|
fXRangePresent = false;
|
||||||
fYRangePresent = false;
|
fYRangePresent = false;
|
||||||
fXmin = 0.0;
|
fXmin = 0.0;
|
||||||
@ -193,7 +177,6 @@ PMusrCanvas::PMusrCanvas(const Int_t number, const Char_t* title,
|
|||||||
fBatchMode(batch), fPlotNumber(number)
|
fBatchMode(batch), fPlotNumber(number)
|
||||||
{
|
{
|
||||||
fTimeout = 0;
|
fTimeout = 0;
|
||||||
fTimeoutTimer = nullptr;
|
|
||||||
fAveragedView = false;
|
fAveragedView = false;
|
||||||
|
|
||||||
fMultiGraphData = nullptr;
|
fMultiGraphData = nullptr;
|
||||||
@ -206,11 +189,6 @@ PMusrCanvas::PMusrCanvas(const Int_t number, const Char_t* title,
|
|||||||
CreateStyle();
|
CreateStyle();
|
||||||
InitMusrCanvas(title, wtopx, wtopy, ww, wh);
|
InitMusrCanvas(title, wtopx, wtopy, ww, wh);
|
||||||
|
|
||||||
fCurrentFourierPhaseText = nullptr;
|
|
||||||
|
|
||||||
fRRFText = nullptr;
|
|
||||||
fRRFLatexText = nullptr;
|
|
||||||
|
|
||||||
fXRangePresent = false;
|
fXRangePresent = false;
|
||||||
fYRangePresent = false;
|
fYRangePresent = false;
|
||||||
fXmin = 0.0;
|
fXmin = 0.0;
|
||||||
@ -252,7 +230,6 @@ PMusrCanvas::PMusrCanvas(const Int_t number, const Char_t* title,
|
|||||||
fMarkerList(markerList), fColorList(colorList)
|
fMarkerList(markerList), fColorList(colorList)
|
||||||
{
|
{
|
||||||
fTimeout = 0;
|
fTimeout = 0;
|
||||||
fTimeoutTimer = nullptr;
|
|
||||||
|
|
||||||
fMultiGraphData = nullptr;
|
fMultiGraphData = nullptr;
|
||||||
fMultiGraphDiff = nullptr;
|
fMultiGraphDiff = nullptr;
|
||||||
@ -263,11 +240,6 @@ PMusrCanvas::PMusrCanvas(const Int_t number, const Char_t* title,
|
|||||||
CreateStyle();
|
CreateStyle();
|
||||||
InitMusrCanvas(title, wtopx, wtopy, ww, wh);
|
InitMusrCanvas(title, wtopx, wtopy, ww, wh);
|
||||||
|
|
||||||
fCurrentFourierPhaseText = nullptr;
|
|
||||||
|
|
||||||
fRRFText = nullptr;
|
|
||||||
fRRFLatexText = nullptr;
|
|
||||||
|
|
||||||
fXRangePresent = false;
|
fXRangePresent = false;
|
||||||
fYRangePresent = false;
|
fYRangePresent = false;
|
||||||
fXmin = 0.0;
|
fXmin = 0.0;
|
||||||
@ -287,31 +259,6 @@ PMusrCanvas::PMusrCanvas(const Int_t number, const Char_t* title,
|
|||||||
PMusrCanvas::~PMusrCanvas()
|
PMusrCanvas::~PMusrCanvas()
|
||||||
{
|
{
|
||||||
// cleanup
|
// cleanup
|
||||||
if (fTimeoutTimer) {
|
|
||||||
delete fTimeoutTimer;
|
|
||||||
fTimeoutTimer = nullptr;
|
|
||||||
}
|
|
||||||
if (fCurrentFourierPhaseText) {
|
|
||||||
delete fCurrentFourierPhaseText;
|
|
||||||
fCurrentFourierPhaseText = nullptr;
|
|
||||||
}
|
|
||||||
if (fRRFLatexText) {
|
|
||||||
delete fRRFLatexText;
|
|
||||||
fRRFLatexText = nullptr;
|
|
||||||
}
|
|
||||||
if (fRRFText) {
|
|
||||||
delete fRRFText;
|
|
||||||
fRRFText = nullptr;
|
|
||||||
}
|
|
||||||
if (fStyle) {
|
|
||||||
delete fStyle;
|
|
||||||
fStyle = nullptr;
|
|
||||||
}
|
|
||||||
if (fTitlePad) {
|
|
||||||
fTitlePad->Clear();
|
|
||||||
delete fTitlePad;
|
|
||||||
fTitlePad = nullptr;
|
|
||||||
}
|
|
||||||
if (fData.size() > 0) {
|
if (fData.size() > 0) {
|
||||||
for (UInt_t i=0; i<fData.size(); i++)
|
for (UInt_t i=0; i<fData.size(); i++)
|
||||||
CleanupDataSet(fData[i]);
|
CleanupDataSet(fData[i]);
|
||||||
@ -322,11 +269,6 @@ PMusrCanvas::~PMusrCanvas()
|
|||||||
CleanupDataSet(fNonMusrData[i]);
|
CleanupDataSet(fNonMusrData[i]);
|
||||||
fNonMusrData.clear();
|
fNonMusrData.clear();
|
||||||
}
|
}
|
||||||
if (fMultiGraphLegend) {
|
|
||||||
fMultiGraphLegend->Clear();
|
|
||||||
delete fMultiGraphLegend;
|
|
||||||
fMultiGraphLegend = nullptr;
|
|
||||||
}
|
|
||||||
if (fMultiGraphData) {
|
if (fMultiGraphData) {
|
||||||
delete fMultiGraphData;
|
delete fMultiGraphData;
|
||||||
fMultiGraphData = nullptr;
|
fMultiGraphData = nullptr;
|
||||||
@ -335,29 +277,6 @@ PMusrCanvas::~PMusrCanvas()
|
|||||||
delete fMultiGraphDiff;
|
delete fMultiGraphDiff;
|
||||||
fMultiGraphDiff = nullptr;
|
fMultiGraphDiff = nullptr;
|
||||||
}
|
}
|
||||||
if (fDataTheoryPad) {
|
|
||||||
delete fDataTheoryPad;
|
|
||||||
fDataTheoryPad = nullptr;
|
|
||||||
}
|
|
||||||
if (fParameterPad) {
|
|
||||||
fParameterPad->Clear();
|
|
||||||
delete fParameterPad;
|
|
||||||
fParameterPad = nullptr;
|
|
||||||
}
|
|
||||||
if (fTheoryPad) {
|
|
||||||
fTheoryPad->Clear();
|
|
||||||
delete fTheoryPad;
|
|
||||||
fTheoryPad = nullptr;
|
|
||||||
}
|
|
||||||
if (fInfoPad) {
|
|
||||||
fInfoPad->Clear();
|
|
||||||
delete fInfoPad;
|
|
||||||
fInfoPad = nullptr;
|
|
||||||
}
|
|
||||||
if (fMainCanvas) {
|
|
||||||
delete fMainCanvas;
|
|
||||||
fMainCanvas = nullptr;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
@ -409,7 +328,7 @@ void PMusrCanvas::SetMsrHandler(PMsrHandler *msrHandler)
|
|||||||
(fMsrHandler->GetMsrPlotList()->at(0).fRRFFreq != 0.0)) ||
|
(fMsrHandler->GetMsrPlotList()->at(0).fRRFFreq != 0.0)) ||
|
||||||
(fMsrHandler->GetMsrGlobal()->GetRRFPacking() > 0 &&
|
(fMsrHandler->GetMsrGlobal()->GetRRFPacking() > 0 &&
|
||||||
fMsrHandler->GetMsrGlobal()->GetRRFUnit().CompareTo("??"))) {
|
fMsrHandler->GetMsrGlobal()->GetRRFUnit().CompareTo("??"))) {
|
||||||
fRRFLatexText = new TLatex();
|
fRRFLatexText = std::make_unique<TLatex>();
|
||||||
fRRFLatexText->SetNDC(kTRUE);
|
fRRFLatexText->SetNDC(kTRUE);
|
||||||
fRRFLatexText->SetTextFont(62);
|
fRRFLatexText->SetTextFont(62);
|
||||||
fRRFLatexText->SetTextSize(0.03);
|
fRRFLatexText->SetTextSize(0.03);
|
||||||
@ -417,7 +336,7 @@ void PMusrCanvas::SetMsrHandler(PMsrHandler *msrHandler)
|
|||||||
Int_t rrfUnitTag = -1;
|
Int_t rrfUnitTag = -1;
|
||||||
Double_t rrfFreq = 0.0;
|
Double_t rrfFreq = 0.0;
|
||||||
if (fMsrHandler->GetMsrPlotList()->at(0).fRRFPacking > 0) { // RRF single histo PLOT
|
if (fMsrHandler->GetMsrPlotList()->at(0).fRRFPacking > 0) { // RRF single histo PLOT
|
||||||
fRRFText = new TString("RRF: ");
|
fRRFText = std::make_unique<TString>("RRF: ");
|
||||||
rrfUnitTag = fMsrHandler->GetMsrPlotList()->at(0).fRRFUnit;
|
rrfUnitTag = fMsrHandler->GetMsrPlotList()->at(0).fRRFUnit;
|
||||||
rrfFreq = fMsrHandler->GetMsrPlotList()->at(0).fRRFFreq;
|
rrfFreq = fMsrHandler->GetMsrPlotList()->at(0).fRRFFreq;
|
||||||
TString rrfFreqStr("");
|
TString rrfFreqStr("");
|
||||||
@ -446,7 +365,7 @@ void PMusrCanvas::SetMsrHandler(PMsrHandler *msrHandler)
|
|||||||
*fRRFText += TString(", RRF packing = ");
|
*fRRFText += TString(", RRF packing = ");
|
||||||
*fRRFText += fMsrHandler->GetMsrPlotList()->at(0).fRRFPacking;
|
*fRRFText += fMsrHandler->GetMsrPlotList()->at(0).fRRFPacking;
|
||||||
} else { // RRF single histo FIT
|
} else { // RRF single histo FIT
|
||||||
fRRFText = new TString("RRF: ");
|
fRRFText = std::make_unique<TString>("RRF: ");
|
||||||
rrfUnitTag = fMsrHandler->GetMsrGlobal()->GetRRFUnitTag();
|
rrfUnitTag = fMsrHandler->GetMsrGlobal()->GetRRFUnitTag();
|
||||||
rrfFreq = fMsrHandler->GetMsrGlobal()->GetRRFFreq(fMsrHandler->GetMsrGlobal()->GetRRFUnit().Data());
|
rrfFreq = fMsrHandler->GetMsrGlobal()->GetRRFFreq(fMsrHandler->GetMsrGlobal()->GetRRFUnit().Data());
|
||||||
TString rrfFreqStr("");
|
TString rrfFreqStr("");
|
||||||
@ -493,11 +412,7 @@ void PMusrCanvas::SetTimeout(Int_t timeout)
|
|||||||
if (fTimeout <= 0)
|
if (fTimeout <= 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (fTimeoutTimer) {
|
fTimeoutTimer.reset(new TTimer());
|
||||||
delete fTimeoutTimer;
|
|
||||||
fTimeoutTimer = nullptr;
|
|
||||||
}
|
|
||||||
fTimeoutTimer = new TTimer();
|
|
||||||
|
|
||||||
fTimeoutTimer->Connect("Timeout()", "PMusrCanvas", this, "Done()");
|
fTimeoutTimer->Connect("Timeout()", "PMusrCanvas", this, "Done()");
|
||||||
|
|
||||||
@ -1542,7 +1457,7 @@ void PMusrCanvas::LastCanvasClosed()
|
|||||||
void PMusrCanvas::WindowClosed()
|
void PMusrCanvas::WindowClosed()
|
||||||
{
|
{
|
||||||
// std::cerr << ">> fMainCanvas->GetName()=" << fMainCanvas->GetName() << std::endl;
|
// std::cerr << ">> fMainCanvas->GetName()=" << fMainCanvas->GetName() << std::endl;
|
||||||
gROOT->GetListOfCanvases()->Remove(fMainCanvas);
|
gROOT->GetListOfCanvases()->Remove(fMainCanvas.get());
|
||||||
LastCanvasClosed();
|
LastCanvasClosed();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2323,7 +2238,7 @@ void PMusrCanvas::CreateStyle()
|
|||||||
{
|
{
|
||||||
TString musrStyle("musrStyle");
|
TString musrStyle("musrStyle");
|
||||||
musrStyle += fPlotNumber;
|
musrStyle += fPlotNumber;
|
||||||
fStyle = new TStyle(musrStyle, musrStyle);
|
fStyle = std::make_unique<TStyle>(musrStyle, musrStyle);
|
||||||
fStyle->SetOptStat(0); // no statistics options
|
fStyle->SetOptStat(0); // no statistics options
|
||||||
fStyle->SetOptTitle(0); // no title
|
fStyle->SetOptTitle(0); // no title
|
||||||
fStyle->cd();
|
fStyle->cd();
|
||||||
@ -2407,25 +2322,11 @@ void PMusrCanvas::InitMusrCanvas(const Char_t* title, Int_t wtopx, Int_t wtopy,
|
|||||||
fImp = nullptr;
|
fImp = nullptr;
|
||||||
fBar = nullptr;
|
fBar = nullptr;
|
||||||
fPopupMain = nullptr;
|
fPopupMain = nullptr;
|
||||||
fPopupFourier = nullptr;
|
|
||||||
|
|
||||||
fMainCanvas = nullptr;
|
|
||||||
fTitlePad = nullptr;
|
|
||||||
fDataTheoryPad = nullptr;
|
|
||||||
fParameterPad = nullptr;
|
|
||||||
fTheoryPad = nullptr;
|
|
||||||
fInfoPad = nullptr;
|
|
||||||
fMultiGraphLegend = nullptr;
|
|
||||||
|
|
||||||
// invoke canvas
|
// invoke canvas
|
||||||
TString canvasName = TString("fMainCanvas");
|
TString canvasName = TString("fMainCanvas");
|
||||||
canvasName += fPlotNumber;
|
canvasName += fPlotNumber;
|
||||||
fMainCanvas = new TCanvas(canvasName.Data(), title, wtopx, wtopy, ww, wh);
|
fMainCanvas = std::make_unique<TCanvas>(canvasName.Data(), title, wtopx, wtopy, ww, wh);
|
||||||
if (fMainCanvas == nullptr) {
|
|
||||||
std::cerr << std::endl << ">> PMusrCanvas::PMusrCanvas(): **PANIC ERROR** Couldn't invoke " << canvasName.Data();
|
|
||||||
std::cerr << std::endl;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
fMainCanvas->Connect("Closed()", "PMusrCanvas", this, "LastCanvasClosed()");
|
fMainCanvas->Connect("Closed()", "PMusrCanvas", this, "LastCanvasClosed()");
|
||||||
|
|
||||||
@ -2436,11 +2337,11 @@ void PMusrCanvas::InitMusrCanvas(const Char_t* title, Int_t wtopx, Int_t wtopy,
|
|||||||
fBar = fImp->GetMenuBar();
|
fBar = fImp->GetMenuBar();
|
||||||
fPopupMain = fBar->AddPopup("&Musrfit");
|
fPopupMain = fBar->AddPopup("&Musrfit");
|
||||||
|
|
||||||
fPopupFourier = new TGPopupMenu();
|
fPopupFourier = std::make_unique<TGPopupMenu>();
|
||||||
fPopupMain->AddEntry("&Data", P_MENU_ID_DATA+P_MENU_PLOT_OFFSET*fPlotNumber);
|
fPopupMain->AddEntry("&Data", P_MENU_ID_DATA+P_MENU_PLOT_OFFSET*fPlotNumber);
|
||||||
fPopupMain->AddSeparator();
|
fPopupMain->AddSeparator();
|
||||||
|
|
||||||
fPopupMain->AddPopup("&Fourier", fPopupFourier);
|
fPopupMain->AddPopup("&Fourier", fPopupFourier.get());
|
||||||
fPopupFourier->AddEntry("Show Real", P_MENU_ID_FOURIER+P_MENU_PLOT_OFFSET*fPlotNumber+P_MENU_ID_FOURIER_REAL);
|
fPopupFourier->AddEntry("Show Real", P_MENU_ID_FOURIER+P_MENU_PLOT_OFFSET*fPlotNumber+P_MENU_ID_FOURIER_REAL);
|
||||||
fPopupFourier->AddEntry("Show Imag", P_MENU_ID_FOURIER+P_MENU_PLOT_OFFSET*fPlotNumber+P_MENU_ID_FOURIER_IMAG);
|
fPopupFourier->AddEntry("Show Imag", P_MENU_ID_FOURIER+P_MENU_PLOT_OFFSET*fPlotNumber+P_MENU_ID_FOURIER_IMAG);
|
||||||
fPopupFourier->AddEntry("Show Real+Imag", P_MENU_ID_FOURIER+P_MENU_PLOT_OFFSET*fPlotNumber+P_MENU_ID_FOURIER_REAL_AND_IMAG);
|
fPopupFourier->AddEntry("Show Real+Imag", P_MENU_ID_FOURIER+P_MENU_PLOT_OFFSET*fPlotNumber+P_MENU_ID_FOURIER_REAL_AND_IMAG);
|
||||||
@ -2470,57 +2371,32 @@ void PMusrCanvas::InitMusrCanvas(const Char_t* title, Int_t wtopx, Int_t wtopy,
|
|||||||
|
|
||||||
// divide the canvas into 4 pads
|
// divide the canvas into 4 pads
|
||||||
// title pad
|
// title pad
|
||||||
fTitlePad = new TPaveText(0.0, YTITLE, 1.0, 1.0, "NDC");
|
fTitlePad = std::make_unique<TPaveText>(0.0, YTITLE, 1.0, 1.0, "NDC");
|
||||||
if (fTitlePad == nullptr) {
|
|
||||||
std::cerr << std::endl << ">> PMusrCanvas::PMusrCanvas(): **PANIC ERROR** Couldn't invoke fTitlePad";
|
|
||||||
std::cerr << std::endl;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
fTitlePad->SetFillColor(TColor::GetColor(255,255,255));
|
fTitlePad->SetFillColor(TColor::GetColor(255,255,255));
|
||||||
fTitlePad->SetTextAlign(12); // middle, left
|
fTitlePad->SetTextAlign(12); // middle, left
|
||||||
fTitlePad->AddText(title);
|
fTitlePad->AddText(title);
|
||||||
fTitlePad->Draw();
|
fTitlePad->Draw();
|
||||||
|
|
||||||
// data/theory pad
|
// data/theory pad
|
||||||
fDataTheoryPad = new TPad("dataTheoryPad", "dataTheoryPad", 0.0, YINFO, XTHEO, YTITLE);
|
fDataTheoryPad = std::make_unique<TPad>("dataTheoryPad", "dataTheoryPad", 0.0, YINFO, XTHEO, YTITLE);
|
||||||
if (fDataTheoryPad == nullptr) {
|
|
||||||
std::cerr << std::endl << ">> PMusrCanvas::PMusrCanvas(): **PANIC ERROR** Couldn't invoke fDataTheoryPad";
|
|
||||||
std::cerr << std::endl;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
fDataTheoryPad->SetFillColor(TColor::GetColor(255,255,255));
|
fDataTheoryPad->SetFillColor(TColor::GetColor(255,255,255));
|
||||||
fDataTheoryPad->Draw();
|
fDataTheoryPad->Draw();
|
||||||
|
|
||||||
// parameter pad
|
// parameter pad
|
||||||
fParameterPad = new TPaveText(XTHEO, 0.5, 1.0, YTITLE, "NDC");
|
fParameterPad = std::make_unique<TPaveText>(XTHEO, 0.5, 1.0, YTITLE, "NDC");
|
||||||
if (fParameterPad == nullptr) {
|
|
||||||
std::cerr << std::endl << ">> PMusrCanvas::PMusrCanvas(): **PANIC ERROR** Couldn't invoke fParameterPad";
|
|
||||||
std::cerr << std::endl;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
fParameterPad->SetFillColor(TColor::GetColor(255,255,255));
|
fParameterPad->SetFillColor(TColor::GetColor(255,255,255));
|
||||||
fParameterPad->SetTextAlign(13); // top, left
|
fParameterPad->SetTextAlign(13); // top, left
|
||||||
fParameterPad->SetTextFont(102); // courier bold, scalable so that greek parameters will be plotted properly
|
fParameterPad->SetTextFont(102); // courier bold, scalable so that greek parameters will be plotted properly
|
||||||
|
|
||||||
// theory pad
|
// theory pad
|
||||||
fTheoryPad = new TPaveText(XTHEO, 0.1, 1.0, 0.5, "NDC");
|
fTheoryPad = std::make_unique<TPaveText>(XTHEO, 0.1, 1.0, 0.5, "NDC");
|
||||||
if (fTheoryPad == nullptr) {
|
|
||||||
std::cerr << std::endl << ">> PMusrCanvas::PMusrCanvas(): **PANIC ERROR** Couldn't invoke fTheoryPad";
|
|
||||||
std::cerr << std::endl;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
fTheoryPad->SetFillColor(TColor::GetColor(255,255,255));
|
fTheoryPad->SetFillColor(TColor::GetColor(255,255,255));
|
||||||
fTheoryPad->SetTextAlign(13); // top, left
|
fTheoryPad->SetTextAlign(13); // top, left
|
||||||
fTheoryPad->SetTextFont(102); // courier bold, scalable so that greek parameters will be plotted properly
|
fTheoryPad->SetTextFont(102); // courier bold, scalable so that greek parameters will be plotted properly
|
||||||
|
|
||||||
|
|
||||||
// info pad
|
// info pad
|
||||||
fInfoPad = new TLegend(0.0, 0.0, 1.0, YINFO, "NDC");
|
fInfoPad = std::make_unique<TLegend>(0.0, 0.0, 1.0, YINFO, "NDC");
|
||||||
if (fInfoPad == nullptr) {
|
|
||||||
std::cerr << std::endl << ">> PMusrCanvas::PMusrCanvas(): **PANIC ERROR** Couldn't invoke fInfoPad";
|
|
||||||
std::cerr << std::endl;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
fInfoPad->SetFillColor(TColor::GetColor(255,255,255));
|
fInfoPad->SetFillColor(TColor::GetColor(255,255,255));
|
||||||
fInfoPad->SetTextAlign(12); // middle, left
|
fInfoPad->SetTextAlign(12); // middle, left
|
||||||
|
|
||||||
@ -4913,11 +4789,7 @@ void PMusrCanvas::PlotData(Bool_t unzoom)
|
|||||||
// set y-axis label
|
// set y-axis label
|
||||||
fMultiGraphData->GetYaxis()->SetTitle(yAxisTitle.Data());
|
fMultiGraphData->GetYaxis()->SetTitle(yAxisTitle.Data());
|
||||||
} else { // more than one data set present, hence add a legend
|
} else { // more than one data set present, hence add a legend
|
||||||
if (fMultiGraphLegend) {
|
fMultiGraphLegend.reset(new TLegend(0.8, 0.8, 1.0, 1.0));
|
||||||
delete fMultiGraphLegend;
|
|
||||||
}
|
|
||||||
fMultiGraphLegend = new TLegend(0.8, 0.8, 1.0, 1.0);
|
|
||||||
assert(fMultiGraphLegend != nullptr);
|
|
||||||
PStringVector legendLabel;
|
PStringVector legendLabel;
|
||||||
for (UInt_t i=0; i<plotInfo.fRuns.size(); i++) {
|
for (UInt_t i=0; i<plotInfo.fRuns.size(); i++) {
|
||||||
runNo = (UInt_t)plotInfo.fRuns[i]-1;
|
runNo = (UInt_t)plotInfo.fRuns[i]-1;
|
||||||
@ -6110,12 +5982,6 @@ void PMusrCanvas::PlotFourierDifference(Bool_t unzoom)
|
|||||||
*/
|
*/
|
||||||
void PMusrCanvas::PlotFourierPhaseValue(Bool_t unzoom)
|
void PMusrCanvas::PlotFourierPhaseValue(Bool_t unzoom)
|
||||||
{
|
{
|
||||||
// check if phase TLatex object is present
|
|
||||||
if (fCurrentFourierPhaseText) {
|
|
||||||
delete fCurrentFourierPhaseText;
|
|
||||||
fCurrentFourierPhaseText = nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
double x, y;
|
double x, y;
|
||||||
TString str;
|
TString str;
|
||||||
|
|
||||||
@ -6127,7 +5993,7 @@ void PMusrCanvas::PlotFourierPhaseValue(Bool_t unzoom)
|
|||||||
}
|
}
|
||||||
x = 0.7;
|
x = 0.7;
|
||||||
y = 0.85;
|
y = 0.85;
|
||||||
fCurrentFourierPhaseText = new TLatex();
|
fCurrentFourierPhaseText.reset(new TLatex());
|
||||||
fCurrentFourierPhaseText->SetNDC(kTRUE);
|
fCurrentFourierPhaseText->SetNDC(kTRUE);
|
||||||
fCurrentFourierPhaseText->SetText(x, y, str.Data());
|
fCurrentFourierPhaseText->SetText(x, y, str.Data());
|
||||||
fCurrentFourierPhaseText->SetTextFont(62);
|
fCurrentFourierPhaseText->SetTextFont(62);
|
||||||
|
@ -255,28 +255,28 @@ class PMusrCanvas : public TObject, public TQObject
|
|||||||
Double_t fXmin, fXmax, fYmin, fYmax; ///< data/theory frame range
|
Double_t fXmin, fXmax, fYmin, fYmax; ///< data/theory frame range
|
||||||
|
|
||||||
PDoubleVector fCurrentFourierPhase; ///< holds the current Fourier phase(s)
|
PDoubleVector fCurrentFourierPhase; ///< holds the current Fourier phase(s)
|
||||||
TLatex *fCurrentFourierPhaseText; ///< used in Re/Im Fourier to show the current phase in the pad
|
std::unique_ptr<TLatex> fCurrentFourierPhaseText; ///< used in Re/Im Fourier to show the current phase in the pad
|
||||||
TString *fRRFText; ///< RRF information
|
std::unique_ptr<TString> fRRFText; ///< RRF information
|
||||||
TLatex *fRRFLatexText; ///< used to display RRF info
|
std::unique_ptr<TLatex> fRRFLatexText; ///< used to display RRF info
|
||||||
|
|
||||||
TStyle *fStyle; ///< A collection of all graphics attributes
|
std::unique_ptr<TStyle> fStyle; ///< A collection of all graphics attributes
|
||||||
|
|
||||||
TTimer *fTimeoutTimer; ///< timeout timer in order to terminate if no action is taking place for too long
|
std::unique_ptr<TTimer> fTimeoutTimer; ///< timeout timer in order to terminate if no action is taking place for too long
|
||||||
|
|
||||||
// canvas menu related variables
|
// canvas menu related variables
|
||||||
TRootCanvas *fImp; ///< ROOT native GUI version of main window with menubar and drawing area
|
TRootCanvas *fImp; ///< ROOT native GUI version of main window with menubar and drawing area
|
||||||
TGMenuBar *fBar; ///< menu bar
|
TGMenuBar *fBar; ///< menu bar
|
||||||
TGPopupMenu *fPopupMain; ///< popup menu Musrfit in the main menu bar
|
TGPopupMenu *fPopupMain; ///< popup menu Musrfit in the main menu bar
|
||||||
TGPopupMenu *fPopupFourier; ///< popup menu of the Musrfit/Fourier sub menu
|
std::unique_ptr<TGPopupMenu> fPopupFourier; ///< popup menu of the Musrfit/Fourier sub menu
|
||||||
|
|
||||||
// canvas related variables
|
// canvas related variables
|
||||||
TCanvas *fMainCanvas; ///< main canvas
|
std::unique_ptr<TCanvas> fMainCanvas; ///< main canvas
|
||||||
TPaveText *fTitlePad; ///< title pad used to display a title
|
std::unique_ptr<TPaveText> fTitlePad; ///< title pad used to display a title
|
||||||
TPad *fDataTheoryPad; ///< data/theory pad used to display the data/theory
|
std::unique_ptr<TPad> fDataTheoryPad; ///< data/theory pad used to display the data/theory
|
||||||
TPaveText *fParameterPad; ///< parameter pad used to display the fitting parameters
|
std::unique_ptr<TPaveText> fParameterPad; ///< parameter pad used to display the fitting parameters
|
||||||
TPaveText *fTheoryPad; ///< theory pad used to display the theory and functions
|
std::unique_ptr<TPaveText> fTheoryPad; ///< theory pad used to display the theory and functions
|
||||||
TLegend *fInfoPad; ///< info pad used to display a legend of the data plotted
|
std::unique_ptr<TLegend> fInfoPad; ///< info pad used to display a legend of the data plotted
|
||||||
TLegend *fMultiGraphLegend; ///< used for non-muSR plots to display a legend
|
std::unique_ptr<TLegend> fMultiGraphLegend; ///< used for non-muSR plots to display a legend
|
||||||
|
|
||||||
TH1F *fHistoFrame; ///< fHistoFrame is a 'global' frame needed in order to plot histograms with (potentially) different x-frames
|
TH1F *fHistoFrame; ///< fHistoFrame is a 'global' frame needed in order to plot histograms with (potentially) different x-frames
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user