musrfit 1.10.0
PMusrCanvas Class Reference

ROOT-based canvas for interactive visualization of muSR data and fits. More...

#include <PMusrCanvas.h>

Inheritance diagram for PMusrCanvas:
Collaboration diagram for PMusrCanvas:

Public Member Functions

 PMusrCanvas ()
 Default constructor.
 
 PMusrCanvas (const Int_t number, const Char_t *title, Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh, const Bool_t batch, const Bool_t fourier=false, const Bool_t avg=false, const Bool_t theoAsData=false)
 Basic constructor for canvas without custom markers/colors.
 
 PMusrCanvas (const Int_t number, const Char_t *title, Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh, PMsrFourierStructure fourierDefault, const PIntVector markerList, const PIntVector colorList, const Bool_t batch, const Bool_t fourier=false, const Bool_t avg=false, const Bool_t theoAsData=false)
 Full constructor with Fourier defaults and custom markers/colors.
 
virtual ~PMusrCanvas ()
 Destructor - cleans up all histograms, graphs, and ROOT objects.
 
virtual Bool_t IsValid ()
 Returns true if canvas initialized successfully.
 
virtual void SetMsrHandler (PMsrHandler *msrHandler)
 Sets the MSR file handler for accessing fit parameters and configuration.
 
virtual void SetRunListCollection (PRunListCollection *runList)
 Sets the run list collection for accessing fit data and results.
 
virtual void SetTimeout (Int_t ival)
 Sets timeout in seconds after which Done signal is emitted (0=no timeout)
 
virtual void UpdateParamTheoryPad ()
 Updates parameter and theory display pads with current fit results.
 
virtual void UpdateDataTheoryPad ()
 Updates main data/theory plotting pad.
 
virtual void UpdateInfoPad ()
 Updates info/legend pad with run information.
 
virtual void Done (Int_t status=0)
 ROOT signal emitted when canvas is closed or timeout occurs.
 
virtual void HandleCmdKey (Int_t event, Int_t x, Int_t y, TObject *selected)
 ROOT slot handling keyboard commands (e.g., 'f' for Fourier, 'd' for data)
 
virtual void HandleMenuPopup (Int_t id)
 ROOT slot handling menu selections.
 
virtual void LastCanvasClosed ()
 ROOT slot called when this is the last canvas being closed.
 
virtual void WindowClosed ()
 ROOT slot called when canvas window is closed.
 
virtual void SaveGraphicsAndQuit (Char_t *fileName, Char_t *graphicsFormat)
 Saves canvas to graphics file and emits Done signal.
 
virtual void ExportData (const Char_t *fileName)
 Exports displayed data to ASCII file.
 

Private Member Functions

virtual void CreateStyle ()
 
virtual void InitFourier ()
 
virtual void InitAverage ()
 
virtual void InitMusrCanvas (const Char_t *title, Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh)
 
virtual void InitDataSet (PMusrCanvasDataSet &dataSet)
 
virtual void InitDataSet (PMusrCanvasNonMusrDataSet &dataSet)
 
virtual void CleanupDataSet (PMusrCanvasDataSet &dataSet)
 
virtual void CleanupDataSet (PMusrCanvasNonMusrDataSet &dataSet)
 
virtual void HandleDataSet (UInt_t plotNo, UInt_t runNo, PRunData *data)
 
virtual void HandleNonMusrDataSet (UInt_t plotNo, UInt_t runNo, PRunData *data)
 
virtual void HandleDifference ()
 
virtual void HandleFourier ()
 
virtual void HandleDifferenceFourier ()
 
virtual void HandleFourierDifference ()
 
virtual void HandleAverage ()
 
virtual void CleanupDifference ()
 
virtual void CleanupFourier ()
 
virtual void CleanupFourierDifference ()
 
virtual void CleanupAverage ()
 
virtual void CalcPhaseOptReFT ()
 PMusrCanvas::CalcPhaseOptReFT.
 
virtual Double_t CalculateDiff (const Double_t x, const Double_t y, TH1F *theo)
 
virtual Double_t CalculateDiff (const Double_t x, const Double_t y, TGraphErrors *theo)
 
virtual Int_t FindBin (const Double_t x, TGraphErrors *graph)
 
virtual Double_t GetMaximum (TH1F *histo, Double_t xmin=-1.0, Double_t xmax=-1.0)
 
virtual Double_t GetMinimum (TH1F *histo, Double_t xmin=-1.0, Double_t xmax=-1.0)
 
virtual Double_t GetMaximum (TGraphErrors *graph, Double_t xmin=-1.0, Double_t xmax=-1.0)
 
virtual Double_t GetMinimum (TGraphErrors *graph, Double_t xmin=-1.0, Double_t xmax=-1.0)
 
virtual void PlotData (Bool_t unzoom=false)
 
virtual void PlotDifference (Bool_t unzoom=false)
 
virtual void PlotFourier (Bool_t unzoom=false)
 
virtual void PlotFourierDifference (Bool_t unzoom=false)
 
virtual void PlotFourierPhaseValue (Bool_t unzoom=false)
 
virtual void PlotAverage (Bool_t unzoom=false)
 
virtual void IncrementFourierPhase ()
 
virtual void DecrementFourierPhase ()
 
virtual Bool_t IsScaleN0AndBkg ()
 
virtual UInt_t GetNeededAccuracy (PMsrParamStructure param)
 
virtual Double_t GetInterpolatedValue (TH1F *histo, Double_t xVal)
 
virtual void GetExportDataSet (const TH1F *data, const Double_t xmin, const Double_t xmax, PMusrCanvasAsciiDumpVector &dumpData, const Bool_t hasError=true)
 

Private Attributes

Bool_t fTheoAsData
 flag if true, calculate theory points only at the data points
 
Bool_t fStartWithFourier
 flag if true, the Fourier transform will be presented bypassing the time domain representation
 
Bool_t fStartWithAvg
 flag if true, the averaged data/Fourier will be presented
 
Int_t fTimeout
 timeout after which the Done signal should be emited. If timeout <= 0, no timeout is taking place
 
Bool_t fScaleN0AndBkg
 true=N0 and background is scaled to (1/ns), otherwise (1/bin) for the single histogram case
 
Bool_t fBatchMode
 musrview in ROOT batch mode
 
Bool_t fValid
 if true, everything looks OK
 
Bool_t fAveragedView
 tag showing that the averaged view or normal view should be presented.
 
Bool_t fDifferenceView
 tag showing that the shown data, fourier, are the difference between data and theory
 
Bool_t fToggleColor
 tag showing if a single histo theory is color toggled
 
Int_t fCurrentPlotView
 tag showing what the current plot view is: data, fourier, ...
 
Int_t fPreviousPlotView
 tag showing the previous plot view
 
Int_t fPlotType
 plot type tag: -1 == undefined, MSR_PLOT_SINGLE_HISTO == single histogram, MSR_PLOT_ASYM == asymmetry, MSR_PLOT_BNMR == beta-NMR asymmetry, MSR_PLOT_MU_MINUS == mu minus (not yet implemented), MSR_PLOT_NON_MUSR == non-muSR
 
Int_t fPlotNumber
 plot number
 
Bool_t fXRangePresent
 
Bool_t fYRangePresent
 flag indicating if x-/y-range is present
 
Double_t fXmin
 
Double_t fXmax
 
Double_t fYmin
 
Double_t fYmax
 data/theory frame range
 
PDoubleVector fCurrentFourierPhase
 holds the current Fourier phase(s)
 
std::unique_ptr< TLatex > fCurrentFourierPhaseText
 used in Re/Im Fourier to show the current phase in the pad
 
std::unique_ptr< TString > fRRFText
 RRF information.
 
std::unique_ptr< TLatex > fRRFLatexText
 used to display RRF info
 
std::unique_ptr< TStyle > fStyle
 A collection of all graphics attributes.
 
std::unique_ptr< TTimer > fTimeoutTimer
 timeout timer in order to terminate if no action is taking place for too long
 
TRootCanvas * fImp
 ROOT native GUI version of main window with menubar and drawing area.
 
TGMenuBar * fBar
 menu bar
 
TGPopupMenu * fPopupMain
 popup menu Musrfit in the main menu bar
 
std::unique_ptr< TGPopupMenu > fPopupFourier
 popup menu of the Musrfit/Fourier sub menu
 
std::unique_ptr< TCanvas > fMainCanvas
 main canvas
 
std::unique_ptr< TPaveText > fTitlePad
 title pad used to display a title
 
std::unique_ptr< TPad > fDataTheoryPad
 data/theory pad used to display the data/theory
 
std::unique_ptr< TPaveText > fParameterPad
 parameter pad used to display the fitting parameters
 
std::unique_ptr< TPaveText > fTheoryPad
 theory pad used to display the theory and functions
 
std::unique_ptr< TLegend > fInfoPad
 info pad used to display a legend of the data plotted
 
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
 
PMsrHandlerfMsrHandler
 msr-file handler
 
PRunListCollectionfRunList
 data handler
 
PMusrCanvasDataSet fDataAvg
 set of all averaged data to be plotted (asymmetry/single histogram)
 
PMusrCanvasDataList fData
 list of all histogram data to be plotted (asymmetry/single histogram)
 
PMusrCanvasNonMusrDataList fNonMusrData
 list of all error graphs to be plotted (non-muSR)
 
TMultiGraph * fMultiGraphData
 fMultiGraphData is a 'global' graph needed in order to plot error graphs (data) with (potentially) different x-frames
 
TMultiGraph * fMultiGraphDiff
 fMultiGraphDiff is a 'global' graph needed in order to plot error graphs (data-theory) with (potentially) different x-frames
 
PMsrFourierStructure fFourier
 structure holding all the information necessary to perform the Fourier transform
 
PIntVector fMarkerList
 list of markers
 
PIntVector fColorList
 list of colors
 

Detailed Description

ROOT-based canvas for interactive visualization of muSR data and fits.

PMusrCanvas provides comprehensive visualization capabilities for muSR data analysis:

Display Modes:

  • Time-domain data with fitted theory curves
  • Difference plots (data - theory)
  • Fourier transforms (real, imaginary, power, phase)
  • Phase-optimized real Fourier spectra
  • Averaged data across multiple runs

Supported Fit Types:

  • Single histogram fits
  • Asymmetry fits (forward-backward, alpha-beta-LR)
  • Beta-NMR asymmetry
  • Non-muSR data (generic X-Y plots with errors)

Interactive Features:

  • Menu-driven view switching (Data/Fourier/Difference/Average)
  • Keyboard shortcuts for quick navigation
  • Phase adjustment for Fourier transforms
  • Data export to ASCII format
  • Graphics export (EPS, PDF, PNG, etc.)
  • Automatic timeout for batch processing

Canvas Layout: The canvas is divided into several pads:

  • Title pad: Displays MSR file title
  • Data/Theory pad: Main plotting area for histograms/graphs
  • Parameter pad: Shows fitted parameter values
  • Theory pad: Lists theory functions used in fit
  • Info/Legend pad: Displays run information and legend

Integration:

  • Reads MSR files via PMsrHandler
  • Accesses fit results via PRunListCollection
  • Uses ROOT's TCanvas and graphics primitives
  • Supports both interactive and batch modes
Note
The preprocessor tag MAKECLING is used to hide complex Boost Spirit headers from rootcling during dictionary generation
See also
PMsrHandler for MSR file management
PRunListCollection for fit results
PMsrFourierStructure for Fourier transform parameters

Definition at line 270 of file PMusrCanvas.h.

Constructor & Destructor Documentation

◆ PMusrCanvas() [1/3]

PMusrCanvas::PMusrCanvas ( )

Default constructor.

◆ PMusrCanvas() [2/3]

PMusrCanvas::PMusrCanvas ( const Int_t number,
const Char_t * title,
Int_t wtopx,
Int_t wtopy,
Int_t ww,
Int_t wh,
const Bool_t batch,
const Bool_t fourier = false,
const Bool_t avg = false,
const Bool_t theoAsData = false )

Basic constructor for canvas without custom markers/colors.

Basic constructor creating canvas with default Fourier settings.

Parameters
numberPlot number from MSR file PLOT block
titleCanvas title
wtopxX-position of canvas window (pixels)
wtopyY-position of canvas window (pixels)
wwCanvas width (pixels)
whCanvas height (pixels)
batchIf true, run in batch mode (no GUI)
fourierIf true, start with Fourier view instead of time domain
avgIf true, start with averaged view
theoAsDataIf true, calculate theory only at data points

Creates a functional PMusrCanvas with standard Fourier transform settings and default markers/colors. This is the simpler constructor for cases where custom Fourier parameters or plot styling are not needed.

Initialization sequence:

  1. Initializes member variables
  2. Sets up default Fourier parameters (via InitFourier)
  3. Initializes average data structures (via InitAverage)
  4. Creates ROOT graphics style (via CreateStyle)
  5. Creates canvas pads and menus (via InitMusrCanvas)
  6. Sets histogram minimum to zero for proper bar chart display
Parameters
numberPlot number from MSR file PLOT block
titleCanvas title to display
wtopxTop-left X coordinate of canvas window (pixels)
wtopyTop-left Y coordinate of canvas window (pixels)
wwCanvas width (pixels)
whCanvas height (pixels)
batchIf true, run in batch mode without GUI display (for file export)
fourierIf true, start with Fourier view instead of time domain
avgIf true, start with averaged data view
theoAsDataIf true, calculate theory only at data points (faster)

Definition at line 205 of file PMusrCanvas.cpp.

References CreateStyle(), fAveragedView, fBatchMode, fHistoFrame, fMultiGraphData, fMultiGraphDiff, fPlotNumber, fStartWithAvg, fStartWithFourier, fTheoAsData, fTimeout, fXmax, fXmin, fXRangePresent, fYmax, fYmin, fYRangePresent, InitAverage(), InitFourier(), and InitMusrCanvas().

◆ PMusrCanvas() [3/3]

PMusrCanvas::PMusrCanvas ( const Int_t number,
const Char_t * title,
Int_t wtopx,
Int_t wtopy,
Int_t ww,
Int_t wh,
PMsrFourierStructure fourierDefault,
const PIntVector markerList,
const PIntVector colorList,
const Bool_t batch,
const Bool_t fourier = false,
const Bool_t avg = false,
const Bool_t theoAsData = false )

Full constructor with Fourier defaults and custom markers/colors.

Full constructor with custom Fourier settings and plot styling.

Parameters
numberPlot number from MSR file PLOT block
titleCanvas title
wtopxX-position of canvas window (pixels)
wtopyY-position of canvas window (pixels)
wwCanvas width (pixels)
whCanvas height (pixels)
fourierDefaultDefault Fourier transform parameters
markerListVector of ROOT marker styles for plots
colorListVector of ROOT color indices for plots
batchIf true, run in batch mode (no GUI)
fourierIf true, start with Fourier view instead of time domain
avgIf true, start with averaged view
theoAsDataIf true, calculate theory only at data points

Creates a PMusrCanvas with user-specified Fourier transform parameters, custom marker styles, and color schemes. This constructor provides maximum control over canvas appearance and behavior.

The marker and color lists allow customization of how multiple datasets appear in plots. Each dataset uses the marker/color at the corresponding index in the provided vectors.

Initialization sequence:

  1. Initializes member variables with custom settings
  2. Copies Fourier parameters, marker list, and color list
  3. Initializes average data structures
  4. Creates ROOT graphics style
  5. Creates canvas pads and menus
  6. Sets histogram minimum to zero for proper bar chart display
Parameters
numberPlot number from MSR file PLOT block
titleCanvas title to display
wtopxTop-left X coordinate of canvas window (pixels)
wtopyTop-left Y coordinate of canvas window (pixels)
wwCanvas width (pixels)
whCanvas height (pixels)
fourierDefaultFourier transform parameters (ranges, apodization, etc.)
markerListVector of ROOT marker style indices (e.g., 20=circle, 21=square)
colorListVector of ROOT color indices (e.g., 1=black, 2=red, 4=blue)
batchIf true, run in batch mode without GUI display
fourierIf true, start with Fourier view
avgIf true, start with averaged data view
theoAsDataIf true, calculate theory only at data points

Definition at line 271 of file PMusrCanvas.cpp.

References CreateStyle(), fBatchMode, fColorList, fFourier, fHistoFrame, fMarkerList, fMultiGraphData, fMultiGraphDiff, fPlotNumber, fStartWithAvg, fStartWithFourier, fTheoAsData, fTimeout, fXmax, fXmin, fXRangePresent, fYmax, fYmin, fYRangePresent, InitAverage(), and InitMusrCanvas().

◆ ~PMusrCanvas()

PMusrCanvas::~PMusrCanvas ( )
virtual

Destructor - cleans up all histograms, graphs, and ROOT objects.

Destructor.

Definition at line 308 of file PMusrCanvas.cpp.

References CleanupDataSet(), fData, fMultiGraphData, fMultiGraphDiff, and fNonMusrData.

Member Function Documentation

◆ CalcPhaseOptReFT()

void PMusrCanvas::CalcPhaseOptReFT ( )
privatevirtual

◆ CalculateDiff() [1/2]

double PMusrCanvas::CalculateDiff ( const Double_t x,
const Double_t y,
TGraphErrors * theo )
privatevirtual

Calculates the difference between data and theory for error graphs.

return:

  • (data - theory) value
Parameters
xx-value of the data
yy-value of the data
theotheory error graphs

Definition at line 4344 of file PMusrCanvas.cpp.

References FindBin().

◆ CalculateDiff() [2/2]

double PMusrCanvas::CalculateDiff ( const Double_t x,
const Double_t y,
TH1F * theo )
privatevirtual

Calculates the difference between data and theory for histograms.

return:

  • (data - theory) value
Parameters
xx-value of the data
yy-value of the data
theotheory histogram

Definition at line 4324 of file PMusrCanvas.cpp.

Referenced by HandleDifference().

◆ CleanupAverage()

void PMusrCanvas::CleanupAverage ( )
privatevirtual

Cleans up (deallocate) averaged data set.

Definition at line 4177 of file PMusrCanvas.cpp.

References fDataAvg.

Referenced by HandleAverage(), HandleCmdKey(), and HandleMenuPopup().

◆ CleanupDataSet() [1/2]

◆ CleanupDataSet() [2/2]

◆ CleanupDifference()

void PMusrCanvas::CleanupDifference ( )
privatevirtual

Cleans up (deallocate) difference data.

Definition at line 4077 of file PMusrCanvas.cpp.

References fData.

Referenced by HandleCmdKey(), and HandleMenuPopup().

◆ CleanupFourier()

void PMusrCanvas::CleanupFourier ( )
privatevirtual

Cleans up (deallocate) Fourier transform data.

Definition at line 4093 of file PMusrCanvas.cpp.

References fData.

Referenced by HandleCmdKey(), and HandleMenuPopup().

◆ CleanupFourierDifference()

void PMusrCanvas::CleanupFourierDifference ( )
privatevirtual

Cleans up (deallocate) Fourier difference spectra.

Definition at line 4145 of file PMusrCanvas.cpp.

References fData.

Referenced by HandleCmdKey(), and HandleMenuPopup().

◆ CreateStyle()

void PMusrCanvas::CreateStyle ( )
privatevirtual

Set styles for the canvas. Perhaps one could transfer them to the startup-file in the future.

Definition at line 2283 of file PMusrCanvas.cpp.

References fPlotNumber, and fStyle.

Referenced by PMusrCanvas(), and PMusrCanvas().

◆ DecrementFourierPhase()

void PMusrCanvas::DecrementFourierPhase ( )
privatevirtual

Decrements the Fourier phase and recalculate the real/imaginary part of the Fourier transform.

Definition at line 6343 of file PMusrCanvas.cpp.

References fCurrentFourierPhase, fCurrentPlotView, fData, fFourier, PlotFourierPhaseValue(), and PV_FOURIER_PWR.

Referenced by HandleCmdKey(), and HandleMenuPopup().

◆ Done()

void PMusrCanvas::Done ( Int_t status = 0)
virtual

ROOT signal emitted when canvas is closed or timeout occurs.

Signal emitted that the user wants to terminate the application.

Parameters
statusStatus info

Definition at line 960 of file PMusrCanvas.cpp.

References status.

Referenced by HandleCmdKey(), LastCanvasClosed(), main(), and SaveGraphicsAndQuit().

◆ ExportData()

void PMusrCanvas::ExportData ( const Char_t * fileName)
virtual

◆ FindBin()

Int_t PMusrCanvas::FindBin ( const Double_t x,
TGraphErrors * graph )
privatevirtual

Analog to FindBin for histograms (TH1F) but here for TGraphErrors.

return:

  • bin closest to a given x value.
Parameters
xx-value of the data
graphTGraphErrors which should be searched

Definition at line 4368 of file PMusrCanvas.cpp.

Referenced by CalculateDiff().

◆ GetExportDataSet()

void PMusrCanvas::GetExportDataSet ( const TH1F * data,
const Double_t xmin,
const Double_t xmax,
PMusrCanvasAsciiDumpVector & dumpData,
const Bool_t hasError = true )
privatevirtual

extract data for export.

Parameters
data
xmin
xmax
dumpData
hasError

Definition at line 2253 of file PMusrCanvas.cpp.

References PMusrCanvasAsciiDump::data, PMusrCanvasAsciiDump::dataErr, and PMusrCanvasAsciiDump::dataX.

Referenced by ExportData().

◆ GetInterpolatedValue()

Double_t PMusrCanvas::GetInterpolatedValue ( TH1F * histo,
Double_t xVal )
privatevirtual

search for xVal in histo. If xVal is not found exactly, interpolate and return the interpolated y-value.

return:

  • interpolated value if xVal is within histo range, 0 otherwise.
Parameters
histopointer of the histogram
xValx-value to be looked for

Definition at line 6528 of file PMusrCanvas.cpp.

Referenced by HandleAverage().

◆ GetMaximum() [1/2]

Double_t PMusrCanvas::GetMaximum ( TGraphErrors * graph,
Double_t xmin = -1.0,
Double_t xmax = -1.0 )
privatevirtual

returns the maximum of a TGraphErrors object in the range [xmin, xmax]. If xmin = xmax = -1.0, the whole histogram range is used.

return:

  • maximum, or 0.0 if the histo pointer is the null pointer.
Parameters
graphpointer of the histogram
xminlower edge for the search interval.
xmaxupper edge for the search interval.

Definition at line 4488 of file PMusrCanvas.cpp.

◆ GetMaximum() [2/2]

Double_t PMusrCanvas::GetMaximum ( TH1F * histo,
Double_t xmin = -1.0,
Double_t xmax = -1.0 )
privatevirtual

returns the maximum of a histogram in the range [xmin, xmax]. If xmin = xmax = -1.0, the whole histogram range is used.

return:

  • maximum, or 0.0 if the histo pointer is the null pointer.
Parameters
histopointer of the histogram
xminlower edge for the search interval.
xmaxupper edge for the search interval.

Definition at line 4402 of file PMusrCanvas.cpp.

Referenced by PlotData(), PlotDifference(), PlotFourier(), and PlotFourierDifference().

◆ GetMinimum() [1/2]

Double_t PMusrCanvas::GetMinimum ( TGraphErrors * graph,
Double_t xmin = -1.0,
Double_t xmax = -1.0 )
privatevirtual

returns the minimum of a TGraphErrors object in the range [xmin, xmax]. If xmin = xmax = -1.0, the whole histogram range is used.

return:

  • minimum, or 0.0 if the histo pointer is the null pointer.
Parameters
graphpointer of the histogram
xminlower edge for the search interval.
xmaxupper edge for the search interval.

Definition at line 4528 of file PMusrCanvas.cpp.

◆ GetMinimum() [2/2]

Double_t PMusrCanvas::GetMinimum ( TH1F * histo,
Double_t xmin = -1.0,
Double_t xmax = -1.0 )
privatevirtual

returns the minimum of a histogram in the range [xmin, xmax]. If xmin = xmax = -1.0, the whole histogram range is used.

return:

  • minimum, or 0.0 if the histo pointer is the null pointer.
Parameters
histopointer of the histogram
xminlower edge for the search interval.
xmaxupper edge for the search interval.

Definition at line 4445 of file PMusrCanvas.cpp.

Referenced by PlotData(), PlotDifference(), PlotFourier(), and PlotFourierDifference().

◆ GetNeededAccuracy()

UInt_t PMusrCanvas::GetNeededAccuracy ( PMsrParamStructure param)
privatevirtual

Calculates the needed accuracy of the parameter value based on the given errors.

return:

  • needed accuracy
Parameters
paramfit parameter with its additional informations, like errors etc.

Definition at line 6445 of file PMusrCanvas.cpp.

References PMsrParamStructure::fPosErrorPresent, PMsrParamStructure::fStep, and PMsrParamStructure::fValue.

Referenced by UpdateParamTheoryPad().

◆ HandleAverage()

void PMusrCanvas::HandleAverage ( )
privatevirtual

Handles the calculation of the average of the ploted data. It allocates the necessary objects if they are not already present. At the end it calls the plotting routine.

Definition at line 3697 of file PMusrCanvas.cpp.

References CleanupAverage(), fData, fDataAvg, fPlotType, GetInterpolatedValue(), and MSR_PLOT_NON_MUSR.

Referenced by HandleCmdKey(), and HandleMenuPopup().

◆ HandleCmdKey()

void PMusrCanvas::HandleCmdKey ( Int_t event,
Int_t x,
Int_t y,
TObject * selected )
virtual

ROOT slot handling keyboard commands (e.g., 'f' for Fourier, 'd' for data)

Filters keyboard events, and if they are a command key (see below) carries out the necessary actions.

Currently implemented command keys:

  • 'q' quit musrview
  • 'd' toggle between difference view and data view
  • 'u' unzoom to the original plot range given in the msr-file.
  • 'f' Fourier transform data. Twice 'f' will switch back to the time domain view.
  • '+' increment the phase (real/imaginary Fourier). The phase step is defined in the musrfit_startup.xml
  • '-' decrement the phase (real/imaginary Fourier). The phase step is defined in the musrfit_startup.xml
Parameters
eventevent type
xcharacter key
ynot used
selectednot used

Definition at line 984 of file PMusrCanvas.cpp.

References CleanupAverage(), CleanupDifference(), CleanupFourier(), CleanupFourierDifference(), DecrementFourierPhase(), Done(), fAveragedView, fBatchMode, fColorList, fCurrentPlotView, fData, fDataTheoryPad, fDifferenceView, fFourier, fMainCanvas, FOURIER_PLOT_IMAG, FOURIER_PLOT_PHASE, FOURIER_PLOT_PHASE_OPT_REAL, FOURIER_PLOT_POWER, FOURIER_PLOT_REAL, FOURIER_PLOT_REAL_AND_IMAG, fPlotNumber, fPopupFourier, fPopupMain, fPreviousPlotView, fStartWithAvg, fToggleColor, HandleAverage(), HandleDifference(), HandleDifferenceFourier(), HandleFourier(), HandleFourierDifference(), IncrementFourierPhase(), P_MENU_ID_AVERAGE, P_MENU_ID_DATA, P_MENU_ID_DIFFERENCE, P_MENU_ID_FOURIER, P_MENU_ID_FOURIER_IMAG, P_MENU_ID_FOURIER_PHASE, P_MENU_ID_FOURIER_PHASE_MINUS, P_MENU_ID_FOURIER_PHASE_OPT_REAL, P_MENU_ID_FOURIER_PHASE_PLUS, P_MENU_ID_FOURIER_PWR, P_MENU_ID_FOURIER_REAL, P_MENU_ID_FOURIER_REAL_AND_IMAG, P_MENU_PLOT_OFFSET, PlotAverage(), PlotData(), PlotDifference(), PlotFourier(), PlotFourierDifference(), PV_DATA, PV_FOURIER_IMAG, PV_FOURIER_PHASE, PV_FOURIER_PHASE_OPT_REAL, PV_FOURIER_PWR, PV_FOURIER_REAL, and PV_FOURIER_REAL_AND_IMAG.

Referenced by UpdateDataTheoryPad().

◆ HandleDataSet()

void PMusrCanvas::HandleDataSet ( UInt_t plotNo,
UInt_t runNo,
PRunData * data )
privatevirtual

◆ HandleDifference()

void PMusrCanvas::HandleDifference ( )
privatevirtual

Handles the calculation of the difference spectra (i.e. data-theory). It allocates the necessary objects if they are not already present. At the end it calls the plotting routine.

Definition at line 3246 of file PMusrCanvas.cpp.

References CalculateDiff(), fData, fNonMusrData, fPlotType, and MSR_PLOT_NON_MUSR.

Referenced by HandleCmdKey(), HandleDifferenceFourier(), and HandleMenuPopup().

◆ HandleDifferenceFourier()

void PMusrCanvas::HandleDifferenceFourier ( )
privatevirtual

Handles the calculation of the Fourier transform of the difference spectra (i.e. data-theory). It allocates the necessary objects if they are not already present. At the end it calls the plotting routine.

Definition at line 3478 of file PMusrCanvas.cpp.

References fCurrentFourierPhase, fData, fFourier, fHistoFrame, fPlotType, PFourier::GetImaginaryFourier(), PFourier::GetPhaseFourier(), PFourier::GetPowerFourier(), PFourier::GetRealFourier(), HandleDifference(), PFourier::IsValid(), MSR_PLOT_NON_MUSR, and PFourier::Transform().

Referenced by HandleCmdKey(), and HandleMenuPopup().

◆ HandleFourier()

void PMusrCanvas::HandleFourier ( )
privatevirtual

Handles the calculation of the Fourier transform. It allocates the necessary objects if they are not already present. At the end it calls the plotting routine.

Definition at line 3332 of file PMusrCanvas.cpp.

References CalcPhaseOptReFT(), fCurrentFourierPhase, fCurrentPlotView, fData, fFourier, fHistoFrame, fPlotType, fStartWithFourier, fTheoAsData, fXmax, fXmin, PFourier::GetImaginaryFourier(), PFourier::GetPhaseFourier(), PFourier::GetPowerFourier(), PFourier::GetRealFourier(), PFourier::IsValid(), MSR_PLOT_NON_MUSR, PV_FOURIER_PHASE_OPT_REAL, and PFourier::Transform().

Referenced by HandleCmdKey(), HandleMenuPopup(), and UpdateDataTheoryPad().

◆ HandleFourierDifference()

void PMusrCanvas::HandleFourierDifference ( )
privatevirtual

Handles the calculation of the difference of the Fourier spectra. It allocates the necessary objects if they are not already present. At the end it calls the plotting routine.

Definition at line 3580 of file PMusrCanvas.cpp.

References fData, fPlotType, and MSR_PLOT_NON_MUSR.

Referenced by HandleCmdKey(), and HandleMenuPopup().

◆ HandleMenuPopup()

◆ HandleNonMusrDataSet()

void PMusrCanvas::HandleNonMusrDataSet ( UInt_t plotNo,
UInt_t runNo,
PRunData * data )
privatevirtual

◆ IncrementFourierPhase()

void PMusrCanvas::IncrementFourierPhase ( )
privatevirtual

Increments the Fourier phase and recalculate the real/imaginary part of the Fourier transform.

Definition at line 6290 of file PMusrCanvas.cpp.

References fCurrentFourierPhase, fCurrentPlotView, fData, fFourier, PlotFourierPhaseValue(), and PV_FOURIER_PWR.

Referenced by HandleCmdKey(), and HandleMenuPopup().

◆ InitAverage()

void PMusrCanvas::InitAverage ( )
privatevirtual

Initializes the Average structure.

Definition at line 2321 of file PMusrCanvas.cpp.

References fDataAvg.

Referenced by ClassImpQ(), PMusrCanvas(), and PMusrCanvas().

◆ InitDataSet() [1/2]

◆ InitDataSet() [2/2]

◆ InitFourier()

void PMusrCanvas::InitFourier ( )
privatevirtual

Initializes the Fourier structure.

Definition at line 2299 of file PMusrCanvas.cpp.

References fFourier, FOURIER_APOD_NONE, FOURIER_PLOT_REAL_AND_IMAG, and FOURIER_UNIT_GAUSS.

Referenced by ClassImpQ(), and PMusrCanvas().

◆ InitMusrCanvas()

void PMusrCanvas::InitMusrCanvas ( const Char_t * title,
Int_t wtopx,
Int_t wtopy,
Int_t ww,
Int_t wh )
privatevirtual

Initialize the class, and sets up the necessary objects.

Parameters
titleTitle to be displayed
wtopxtop x coordinate (in pixels) to place the canvas.
wtopytop y coordinate (in pixels) to place the canvas.
wwwidth (in pixels) of the canvas.
whheight (in pixels) of the canvas.

Definition at line 2357 of file PMusrCanvas.cpp.

References fAveragedView, fBar, fBatchMode, fCurrentPlotView, fDataTheoryPad, fDifferenceView, fImp, fInfoPad, fMainCanvas, fParameterPad, fPlotNumber, fPlotType, fPopupFourier, fPopupMain, fPreviousPlotView, fScaleN0AndBkg, fTheoryPad, fTitlePad, fToggleColor, fValid, P_MENU_ID_AVERAGE, P_MENU_ID_DATA, P_MENU_ID_DIFFERENCE, P_MENU_ID_EXPORT_DATA, P_MENU_ID_FOURIER, P_MENU_ID_FOURIER_IMAG, P_MENU_ID_FOURIER_PHASE, P_MENU_ID_FOURIER_PHASE_MINUS, P_MENU_ID_FOURIER_PHASE_OPT_REAL, P_MENU_ID_FOURIER_PHASE_PLUS, P_MENU_ID_FOURIER_PWR, P_MENU_ID_FOURIER_REAL, P_MENU_ID_FOURIER_REAL_AND_IMAG, P_MENU_PLOT_OFFSET, PV_DATA, XTHEO, YINFO, and YTITLE.

Referenced by PMusrCanvas(), and PMusrCanvas().

◆ IsScaleN0AndBkg()

Bool_t PMusrCanvas::IsScaleN0AndBkg ( )
privatevirtual

Checks if N0/Bkg normalization to 1/ns is whished. The default is yes, since most of the users want to have it that way. To overwrite this, one should add the line 'SCALE_N0_BKG FALSE' to the command block of the msr-file.

return:

  • true, if scaling of N0 and Bkg to 1/ns is whished
  • false, otherwise
Parameters
histoNoforward histogram number of the run

Definition at line 6404 of file PMusrCanvas.cpp.

References fMsrHandler.

Referenced by SetMsrHandler().

◆ IsValid()

virtual Bool_t PMusrCanvas::IsValid ( )
inlinevirtual

Returns true if canvas initialized successfully.

Definition at line 323 of file PMusrCanvas.h.

References fValid.

Referenced by main().

◆ LastCanvasClosed()

void PMusrCanvas::LastCanvasClosed ( )
virtual

ROOT slot called when this is the last canvas being closed.

Slot called when the last canvas has been closed. Will emit Done(0) which will terminate the application.

Definition at line 1500 of file PMusrCanvas.cpp.

References Done().

Referenced by WindowClosed().

◆ PlotAverage()

void PMusrCanvas::PlotAverage ( Bool_t unzoom = false)
privatevirtual

◆ PlotData()

◆ PlotDifference()

void PMusrCanvas::PlotDifference ( Bool_t unzoom = false)
privatevirtual

Plots the difference data, i.e. data-theory

Parameters
unzoomif true, rescale to the original msr-file ranges

Definition at line 4878 of file PMusrCanvas.cpp.

References fData, fDataTheoryPad, fHistoFrame, fMainCanvas, fMsrHandler, fMultiGraphData, fMultiGraphDiff, fMultiGraphLegend, fNonMusrData, fPlotNumber, fPlotType, fPreviousPlotView, fRRFLatexText, fRRFText, fRunList, PMsrPlotStructure::fRuns, fXmax, fXmin, GetMaximum(), GetMinimum(), MSR_PLOT_BNMR, MSR_PLOT_NON_MUSR, and PV_DATA.

Referenced by HandleCmdKey(), and HandleMenuPopup().

◆ PlotFourier()

void PMusrCanvas::PlotFourier ( Bool_t unzoom = false)
privatevirtual

◆ PlotFourierDifference()

void PMusrCanvas::PlotFourierDifference ( Bool_t unzoom = false)
privatevirtual

◆ PlotFourierPhaseValue()

void PMusrCanvas::PlotFourierPhaseValue ( Bool_t unzoom = false)
privatevirtual

Writes the Fourier phase value into the data window.

Parameters
unzoomif true, rescale to the original Fourier range

Definition at line 6029 of file PMusrCanvas.cpp.

References fCurrentFourierPhase, fCurrentFourierPhaseText, fDataTheoryPad, and fFourier.

Referenced by DecrementFourierPhase(), IncrementFourierPhase(), PlotFourier(), and PlotFourierDifference().

◆ SaveGraphicsAndQuit()

void PMusrCanvas::SaveGraphicsAndQuit ( Char_t * fileName,
Char_t * graphicsFormat )
virtual

Saves canvas to graphics file and emits Done signal.

Will save the canvas as graphics output. Needed in the batch mode of musrview.

Parameters
fileNamefile name under which the canvas shall be saved.
graphicsFormatOne of the supported graphics formats.

Definition at line 1530 of file PMusrCanvas.cpp.

References Done(), fMainCanvas, fMsrHandler, fPlotNumber, and fStartWithFourier.

Referenced by main().

◆ SetMsrHandler()

void PMusrCanvas::SetMsrHandler ( PMsrHandler * msrHandler)
virtual

Sets the MSR file handler for accessing fit parameters and configuration.

Keep the msr-handler object pointer and fill the Fourier structure if present.

Parameters
msrHandlerpointer of the msr-file handler.

Definition at line 339 of file PMusrCanvas.cpp.

References fFourier, fMsrHandler, FOURIER_APOD_NOT_GIVEN, FOURIER_PLOT_NOT_GIVEN, FOURIER_UNIT_NOT_GIVEN, fRRFLatexText, fRRFText, fScaleN0AndBkg, IsScaleN0AndBkg(), RRF_UNIT_G, RRF_UNIT_kHz, RRF_UNIT_Mcs, RRF_UNIT_MHz, and RRF_UNIT_T.

Referenced by main().

◆ SetRunListCollection()

virtual void PMusrCanvas::SetRunListCollection ( PRunListCollection * runList)
inlinevirtual

Sets the run list collection for accessing fit data and results.

Definition at line 329 of file PMusrCanvas.h.

References fRunList.

Referenced by main().

◆ SetTimeout()

void PMusrCanvas::SetTimeout ( Int_t timeout)
virtual

Sets timeout in seconds after which Done signal is emitted (0=no timeout)

Parameters
timeoutafter which the done signal shall be emitted. Given in seconds

Definition at line 457 of file PMusrCanvas.cpp.

References fTimeout, fTimeoutTimer, and timeout.

Referenced by main().

◆ UpdateDataTheoryPad()

◆ UpdateInfoPad()

void PMusrCanvas::UpdateInfoPad ( )
virtual

Updates info/legend pad with run information.

Feeds the pad with the statistics block information and the legend and refreshes it.

Definition at line 825 of file PMusrCanvas.cpp.

References PMsrStatisticStructure::fChisq, fData, PMsrStatisticStructure::fDate, fInfoPad, fMainCanvas, PMsrStatisticStructure::fMin, fMsrHandler, PMsrStatisticStructure::fNdf, fPlotNumber, fRunList, PMsrPlotStructure::fRuns, fValid, MSR_FITTYPE_ASYM, MSR_FITTYPE_ASYM_RRF, MSR_FITTYPE_BNMR, MSR_FITTYPE_SINGLE_HISTO, MSR_FITTYPE_SINGLE_HISTO_RRF, and PMUSR_UNDEFINED.

Referenced by main().

◆ UpdateParamTheoryPad()

void PMusrCanvas::UpdateParamTheoryPad ( )
virtual

Updates parameter and theory display pads with current fit results.

Feeds the pad with the fit parameter informations, and refreshes the pad.

Definition at line 477 of file PMusrCanvas.cpp.

References fMainCanvas, fMsrHandler, fParameterPad, fTheoryPad, fValid, and GetNeededAccuracy().

Referenced by main().

◆ WindowClosed()

void PMusrCanvas::WindowClosed ( )
virtual

ROOT slot called when canvas window is closed.

Slot called when the canvas is closed. Seems to be necessary on some systems.

Definition at line 1514 of file PMusrCanvas.cpp.

References fMainCanvas, and LastCanvasClosed().

Member Data Documentation

◆ fAveragedView

Bool_t PMusrCanvas::fAveragedView
private

tag showing that the averaged view or normal view should be presented.

Definition at line 365 of file PMusrCanvas.h.

Referenced by ClassImpQ(), ExportData(), HandleCmdKey(), HandleMenuPopup(), InitMusrCanvas(), and PMusrCanvas().

◆ fBar

TGMenuBar* PMusrCanvas::fBar
private

menu bar

Definition at line 387 of file PMusrCanvas.h.

Referenced by ClassImpQ(), and InitMusrCanvas().

◆ fBatchMode

Bool_t PMusrCanvas::fBatchMode
private

musrview in ROOT batch mode

Definition at line 363 of file PMusrCanvas.h.

Referenced by HandleCmdKey(), HandleMenuPopup(), InitMusrCanvas(), PlotData(), PMusrCanvas(), PMusrCanvas(), and UpdateDataTheoryPad().

◆ fColorList

PIntVector PMusrCanvas::fColorList
private

list of colors

Definition at line 416 of file PMusrCanvas.h.

Referenced by HandleCmdKey(), HandleDataSet(), HandleNonMusrDataSet(), and PMusrCanvas().

◆ fCurrentFourierPhase

PDoubleVector PMusrCanvas::fCurrentFourierPhase
private

holds the current Fourier phase(s)

Definition at line 376 of file PMusrCanvas.h.

Referenced by DecrementFourierPhase(), HandleDifferenceFourier(), HandleFourier(), IncrementFourierPhase(), and PlotFourierPhaseValue().

◆ fCurrentFourierPhaseText

std::unique_ptr<TLatex> PMusrCanvas::fCurrentFourierPhaseText
private

used in Re/Im Fourier to show the current phase in the pad

Definition at line 377 of file PMusrCanvas.h.

Referenced by PlotFourierPhaseValue().

◆ fCurrentPlotView

Int_t PMusrCanvas::fCurrentPlotView
private

◆ fData

◆ fDataAvg

PMusrCanvasDataSet PMusrCanvas::fDataAvg
private

set of all averaged data to be plotted (asymmetry/single histogram)

Definition at line 407 of file PMusrCanvas.h.

Referenced by CleanupAverage(), ExportData(), HandleAverage(), InitAverage(), and PlotAverage().

◆ fDataTheoryPad

std::unique_ptr<TPad> PMusrCanvas::fDataTheoryPad
private

data/theory pad used to display the data/theory

Definition at line 394 of file PMusrCanvas.h.

Referenced by HandleCmdKey(), InitMusrCanvas(), PlotAverage(), PlotData(), PlotDifference(), PlotFourier(), PlotFourierDifference(), and PlotFourierPhaseValue().

◆ fDifferenceView

Bool_t PMusrCanvas::fDifferenceView
private

tag showing that the shown data, fourier, are the difference between data and theory

Definition at line 366 of file PMusrCanvas.h.

Referenced by ClassImpQ(), ExportData(), HandleCmdKey(), HandleMenuPopup(), InitMusrCanvas(), and PlotAverage().

◆ fFourier

◆ fHistoFrame

TH1F* PMusrCanvas::fHistoFrame
private

fHistoFrame is a 'global' frame needed in order to plot histograms with (potentially) different x-frames

Definition at line 400 of file PMusrCanvas.h.

Referenced by ClassImpQ(), ExportData(), HandleDifferenceFourier(), HandleFourier(), PlotAverage(), PlotData(), PlotDifference(), PlotFourier(), PlotFourierDifference(), PMusrCanvas(), and PMusrCanvas().

◆ fImp

TRootCanvas* PMusrCanvas::fImp
private

ROOT native GUI version of main window with menubar and drawing area.

Definition at line 386 of file PMusrCanvas.h.

Referenced by ClassImpQ(), HandleMenuPopup(), and InitMusrCanvas().

◆ fInfoPad

std::unique_ptr<TLegend> PMusrCanvas::fInfoPad
private

info pad used to display a legend of the data plotted

Definition at line 397 of file PMusrCanvas.h.

Referenced by InitMusrCanvas(), and UpdateInfoPad().

◆ fMainCanvas

std::unique_ptr<TCanvas> PMusrCanvas::fMainCanvas
private

◆ fMarkerList

PIntVector PMusrCanvas::fMarkerList
private

list of markers

Definition at line 415 of file PMusrCanvas.h.

Referenced by HandleDataSet(), HandleNonMusrDataSet(), and PMusrCanvas().

◆ fMsrHandler

◆ fMultiGraphData

TMultiGraph* PMusrCanvas::fMultiGraphData
private

fMultiGraphData is a 'global' graph needed in order to plot error graphs (data) with (potentially) different x-frames

Definition at line 411 of file PMusrCanvas.h.

Referenced by ClassImpQ(), ExportData(), PlotData(), PlotDifference(), PMusrCanvas(), PMusrCanvas(), and ~PMusrCanvas().

◆ fMultiGraphDiff

TMultiGraph* PMusrCanvas::fMultiGraphDiff
private

fMultiGraphDiff is a 'global' graph needed in order to plot error graphs (data-theory) with (potentially) different x-frames

Definition at line 412 of file PMusrCanvas.h.

Referenced by ClassImpQ(), PlotData(), PlotDifference(), PMusrCanvas(), PMusrCanvas(), and ~PMusrCanvas().

◆ fMultiGraphLegend

std::unique_ptr<TLegend> PMusrCanvas::fMultiGraphLegend
private

used for non-muSR plots to display a legend

Definition at line 398 of file PMusrCanvas.h.

Referenced by PlotData(), and PlotDifference().

◆ fNonMusrData

PMusrCanvasNonMusrDataList PMusrCanvas::fNonMusrData
private

list of all error graphs to be plotted (non-muSR)

Definition at line 410 of file PMusrCanvas.h.

Referenced by ExportData(), HandleDifference(), HandleNonMusrDataSet(), PlotData(), PlotDifference(), and ~PMusrCanvas().

◆ fParameterPad

std::unique_ptr<TPaveText> PMusrCanvas::fParameterPad
private

parameter pad used to display the fitting parameters

Definition at line 395 of file PMusrCanvas.h.

Referenced by InitMusrCanvas(), and UpdateParamTheoryPad().

◆ fPlotNumber

◆ fPlotType

Int_t PMusrCanvas::fPlotType
private

plot type tag: -1 == undefined, MSR_PLOT_SINGLE_HISTO == single histogram, MSR_PLOT_ASYM == asymmetry, MSR_PLOT_BNMR == beta-NMR asymmetry, MSR_PLOT_MU_MINUS == mu minus (not yet implemented), MSR_PLOT_NON_MUSR == non-muSR

Definition at line 370 of file PMusrCanvas.h.

Referenced by ClassImpQ(), ExportData(), HandleAverage(), HandleDifference(), HandleDifferenceFourier(), HandleFourier(), HandleFourierDifference(), InitMusrCanvas(), PlotAverage(), PlotData(), PlotDifference(), PlotFourier(), PlotFourierDifference(), and UpdateDataTheoryPad().

◆ fPopupFourier

std::unique_ptr<TGPopupMenu> PMusrCanvas::fPopupFourier
private

popup menu of the Musrfit/Fourier sub menu

Definition at line 389 of file PMusrCanvas.h.

Referenced by HandleCmdKey(), HandleMenuPopup(), InitMusrCanvas(), PlotData(), and UpdateDataTheoryPad().

◆ fPopupMain

TGPopupMenu* PMusrCanvas::fPopupMain
private

popup menu Musrfit in the main menu bar

Definition at line 388 of file PMusrCanvas.h.

Referenced by ClassImpQ(), HandleCmdKey(), HandleMenuPopup(), InitMusrCanvas(), and UpdateDataTheoryPad().

◆ fPreviousPlotView

Int_t PMusrCanvas::fPreviousPlotView
private

tag showing the previous plot view

Definition at line 369 of file PMusrCanvas.h.

Referenced by ClassImpQ(), HandleCmdKey(), HandleMenuPopup(), InitMusrCanvas(), PlotData(), and PlotDifference().

◆ fRRFLatexText

std::unique_ptr<TLatex> PMusrCanvas::fRRFLatexText
private

used to display RRF info

Definition at line 379 of file PMusrCanvas.h.

Referenced by PlotAverage(), PlotData(), PlotDifference(), PlotFourier(), PlotFourierDifference(), and SetMsrHandler().

◆ fRRFText

std::unique_ptr<TString> PMusrCanvas::fRRFText
private

RRF information.

Definition at line 378 of file PMusrCanvas.h.

Referenced by PlotAverage(), PlotData(), PlotDifference(), PlotFourier(), PlotFourierDifference(), and SetMsrHandler().

◆ fRunList

PRunListCollection* PMusrCanvas::fRunList
private

data handler

Definition at line 404 of file PMusrCanvas.h.

Referenced by PlotData(), PlotDifference(), SetRunListCollection(), UpdateDataTheoryPad(), and UpdateInfoPad().

◆ fScaleN0AndBkg

Bool_t PMusrCanvas::fScaleN0AndBkg
private

true=N0 and background is scaled to (1/ns), otherwise (1/bin) for the single histogram case

Definition at line 362 of file PMusrCanvas.h.

Referenced by ClassImpQ(), InitMusrCanvas(), PlotAverage(), PlotData(), and SetMsrHandler().

◆ fStartWithAvg

Bool_t PMusrCanvas::fStartWithAvg
private

flag if true, the averaged data/Fourier will be presented

Definition at line 360 of file PMusrCanvas.h.

Referenced by HandleCmdKey(), PMusrCanvas(), PMusrCanvas(), and UpdateDataTheoryPad().

◆ fStartWithFourier

Bool_t PMusrCanvas::fStartWithFourier
private

flag if true, the Fourier transform will be presented bypassing the time domain representation

Definition at line 359 of file PMusrCanvas.h.

Referenced by HandleFourier(), PMusrCanvas(), PMusrCanvas(), SaveGraphicsAndQuit(), and UpdateDataTheoryPad().

◆ fStyle

std::unique_ptr<TStyle> PMusrCanvas::fStyle
private

A collection of all graphics attributes.

Definition at line 381 of file PMusrCanvas.h.

Referenced by CreateStyle().

◆ fTheoAsData

Bool_t PMusrCanvas::fTheoAsData
private

flag if true, calculate theory points only at the data points

Definition at line 358 of file PMusrCanvas.h.

Referenced by HandleFourier(), PMusrCanvas(), and PMusrCanvas().

◆ fTheoryPad

std::unique_ptr<TPaveText> PMusrCanvas::fTheoryPad
private

theory pad used to display the theory and functions

Definition at line 396 of file PMusrCanvas.h.

Referenced by InitMusrCanvas(), and UpdateParamTheoryPad().

◆ fTimeout

Int_t PMusrCanvas::fTimeout
private

timeout after which the Done signal should be emited. If timeout <= 0, no timeout is taking place

Definition at line 361 of file PMusrCanvas.h.

Referenced by ClassImpQ(), PMusrCanvas(), PMusrCanvas(), and SetTimeout().

◆ fTimeoutTimer

std::unique_ptr<TTimer> PMusrCanvas::fTimeoutTimer
private

timeout timer in order to terminate if no action is taking place for too long

Definition at line 383 of file PMusrCanvas.h.

Referenced by SetTimeout().

◆ fTitlePad

std::unique_ptr<TPaveText> PMusrCanvas::fTitlePad
private

title pad used to display a title

Definition at line 393 of file PMusrCanvas.h.

Referenced by InitMusrCanvas().

◆ fToggleColor

Bool_t PMusrCanvas::fToggleColor
private

tag showing if a single histo theory is color toggled

Definition at line 367 of file PMusrCanvas.h.

Referenced by ClassImpQ(), HandleCmdKey(), and InitMusrCanvas().

◆ fValid

Bool_t PMusrCanvas::fValid
private

if true, everything looks OK

Definition at line 364 of file PMusrCanvas.h.

Referenced by ClassImpQ(), InitMusrCanvas(), IsValid(), UpdateDataTheoryPad(), UpdateInfoPad(), and UpdateParamTheoryPad().

◆ fXmax

Double_t PMusrCanvas::fXmax
private

◆ fXmin

Double_t PMusrCanvas::fXmin
private

◆ fXRangePresent

Bool_t PMusrCanvas::fXRangePresent
private

◆ fYmax

Double_t PMusrCanvas::fYmax
private

data/theory frame range

Definition at line 374 of file PMusrCanvas.h.

Referenced by ClassImpQ(), HandleDataSet(), HandleNonMusrDataSet(), PlotData(), PMusrCanvas(), and PMusrCanvas().

◆ fYmin

Double_t PMusrCanvas::fYmin
private

◆ fYRangePresent

Bool_t PMusrCanvas::fYRangePresent
private

flag indicating if x-/y-range is present

Definition at line 373 of file PMusrCanvas.h.

Referenced by ClassImpQ(), HandleDataSet(), HandleNonMusrDataSet(), PlotData(), PMusrCanvas(), and PMusrCanvas().


The documentation for this class was generated from the following files: