improve doxygen documentation of PMusrCanvas.*

This commit is contained in:
2025-11-14 09:36:18 +01:00
parent 7762f69c24
commit 368957b46f
2 changed files with 235 additions and 67 deletions

View File

@@ -50,7 +50,10 @@ ClassImp(PMusrCanvasPlotRange)
// Constructor
//--------------------------------------------------------------------------
/**
* <p>Constructor
* \brief Constructor initializing plot range to undefined state.
*
* Sets both X and Y ranges as not present and initializes all range
* values to zero. Ranges must be explicitly set via SetXRange/SetYRange.
*/
PMusrCanvasPlotRange::PMusrCanvasPlotRange()
{
@@ -67,10 +70,13 @@ PMusrCanvasPlotRange::PMusrCanvasPlotRange()
// SetXRange (public)
//--------------------------------------------------------------------------
/**
* <p>Sets the x-range values.
* \brief Sets the X-axis range and marks it as present.
*
* \param xmin minimum range value
* \param xmax maximum range value
* Automatically swaps values if xmin > xmax to ensure proper ordering.
* Outputs a warning to stderr when swapping occurs.
*
* \param xmin Minimum X value
* \param xmax Maximum X value
*/
void PMusrCanvasPlotRange::SetXRange(Double_t xmin, Double_t xmax)
{
@@ -89,10 +95,13 @@ void PMusrCanvasPlotRange::SetXRange(Double_t xmin, Double_t xmax)
// SetYRange (public)
//--------------------------------------------------------------------------
/**
* <p>Sets the y-range values.
* \brief Sets the Y-axis range and marks it as present.
*
* \param ymin minimum range value
* \param ymax maximum range value
* Automatically swaps values if ymin > ymax to ensure proper ordering.
* Outputs a warning to stderr when swapping occurs.
*
* \param ymin Minimum Y value
* \param ymax Maximum Y value
*/
void PMusrCanvasPlotRange::SetYRange(Double_t ymin, Double_t ymax)
{
@@ -114,7 +123,19 @@ ClassImpQ(PMusrCanvas)
// Constructor
//--------------------------------------------------------------------------
/**
* <p>Constructor
* \brief Default constructor initializing canvas to undefined state.
*
* Initializes all member variables to default values:
* - No timeout
* - N0 and background scaling enabled
* - Not valid (requires proper initialization via other constructors)
* - Data view mode
* - All pointers set to nullptr
* - Fourier and average structures initialized
* - No explicit ranges set
*
* This constructor creates an invalid canvas that cannot be used directly.
* Use one of the full constructors to create a functional canvas.
*/
PMusrCanvas::PMusrCanvas()
{
@@ -158,18 +179,30 @@ PMusrCanvas::PMusrCanvas()
// Constructor
//--------------------------------------------------------------------------
/**
* <p>Constructor.
* \brief Basic constructor creating canvas with default Fourier settings.
*
* \param number The plot number of the msr-file PLOT block
* \param title Title to be displayed
* \param wtopx top x coordinate (in pixels) to place the canvas.
* \param wtopy top y coordinate (in pixels) to place the canvas.
* \param ww width (in pixels) of the canvas.
* \param wh height (in pixels) of the canvas.
* \param batch flag: if set true, the canvas will not be displayed. This is used when just dumping of a
* graphical output file is wished.
* \param fourier flag: if set true, the canvas will present the Fourier view.
* \param avg flag: if set true, the canvas will present the averages data/Fourier view.
* 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
*
* \param number Plot number from MSR file PLOT block
* \param title Canvas title to display
* \param wtopx Top-left X coordinate of canvas window (pixels)
* \param wtopy Top-left Y coordinate of canvas window (pixels)
* \param ww Canvas width (pixels)
* \param wh Canvas height (pixels)
* \param batch If true, run in batch mode without GUI display (for file export)
* \param fourier If true, start with Fourier view instead of time domain
* \param avg If true, start with averaged data view
* \param theoAsData If true, calculate theory only at data points (faster)
*/
PMusrCanvas::PMusrCanvas(const Int_t number, const Char_t* title,
Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh,
@@ -205,21 +238,37 @@ PMusrCanvas::PMusrCanvas(const Int_t number, const Char_t* title,
// Constructor
//--------------------------------------------------------------------------
/**
* <p>Constructor.
* \brief Full constructor with custom Fourier settings and plot styling.
*
* \param number The plot number of the msr-file PLOT block
* \param title Title to be displayed
* \param wtopx top x coordinate (in pixels) to place the canvas.
* \param wtopy top y coordinate (in pixels) to place the canvas.
* \param ww width (in pixels) of the canvas.
* \param wh height (in pixels) of the canvas.
* \param fourierDefault structure holding the pre-defined settings for a Fourier transform
* \param markerList pre-defined list of markers
* \param colorList pre-defined list of colors
* \param batch flag: if set true, the canvas will not be displayed. This is used when just dumping of a
* graphical output file is wished.
* \param fourier flag: if set true, the canvas will present the Fourier view.
* \param avg flag: if set true, the canvas will present the averages data/Fourier view.
* 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
*
* \param number Plot number from MSR file PLOT block
* \param title Canvas title to display
* \param wtopx Top-left X coordinate of canvas window (pixels)
* \param wtopy Top-left Y coordinate of canvas window (pixels)
* \param ww Canvas width (pixels)
* \param wh Canvas height (pixels)
* \param fourierDefault Fourier transform parameters (ranges, apodization, etc.)
* \param markerList Vector of ROOT marker style indices (e.g., 20=circle, 21=square)
* \param colorList Vector of ROOT color indices (e.g., 1=black, 2=red, 4=blue)
* \param batch If true, run in batch mode without GUI display
* \param fourier If true, start with Fourier view
* \param avg If true, start with averaged data view
* \param theoAsData If true, calculate theory only at data points
*/
PMusrCanvas::PMusrCanvas(const Int_t number, const Char_t* title,
Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh,