Analysis-Utilities 26.9.9
C++/ROOT utilities for nuclear measurement data analysis
Loading...
Searching...
No Matches
InteractiveFitEditor Class Reference

Interactive editor for a TF1 fit from FittingUtils. More...

#include <InteractiveFitEditor.hpp>

Inheritance diagram for InteractiveFitEditor:
Collaboration diagram for InteractiveFitEditor:

Public Member Functions

 InteractiveFitEditor (const TGWindow *parent, TH1 *hist, TF1 *fit_func, Double_t range_low, Double_t range_high, Int_t num_peaks, const TString &info_label="")
 Build the editor around an existing histogram and fit function.
virtual ~InteractiveFitEditor ()
 Destroys the widgets and drawing objects the editor created.
virtual Bool_t ProcessMessage (Long_t msg, Long_t parm1, Long_t parm2)
 ROOT GUI message dispatch for every widget in the editor.
virtual Bool_t HandleTimer (TTimer *timer)
 Redraw tick.
virtual void CloseWindow ()
 Window-manager close. Treated as a cancel, not an accept.
Bool_t WasAccepted () const
 Whether the user accepted rather than cancelled.
Bool_t IsDone () const
 Whether the editor has finished and the loop may exit.
TTimer * GetRedrawTimer ()
 The coalescing redraw timer, for the driving event loop.
TRootEmbeddedCanvas * GetEmbeddedCanvas ()
 The canvas holding the fit and residual pads.

Detailed Description

Interactive editor for a TF1 fit from FittingUtils.

The fit and residual pads update live as parameters move. Parameters can be fixed or freed individually, bounds edited, and Refit re-runs the minimiser from the current values as starting points. The residual panel is marked with dashed guide lines at plus and minus three sigma.

Note
Normally reached through the Launch function below rather than constructed directly; the launcher owns the event loop, the batch-mode toggle and the X error-handler guard.
Warning
None of the objects passed in are owned by the editor, and all of them must outlive it. Accepting writes the edited values back into them in place.

Definition at line 39 of file InteractiveFitEditor.hpp.

Constructor & Destructor Documentation

◆ InteractiveFitEditor()

InteractiveFitEditor::InteractiveFitEditor ( const TGWindow * parent,
TH1 * hist,
TF1 * fit_func,
Double_t range_low,
Double_t range_high,
Int_t num_peaks,
const TString & info_label = "" )

Build the editor around an existing histogram and fit function.

Parameters
parentParent window, normally gClient->GetRoot().
histHistogram being fitted. Borrowed.
fit_funcFit function, edited in place. Borrowed.
range_lowInitial lower fit bound.
range_highInitial upper fit bound.
num_peaksPeaks in the model, 1 to 3; decides the tab layout.
info_labelOptional annotation shown in the editor.

Definition at line 5 of file InteractiveFitEditor.cpp.

◆ ~InteractiveFitEditor()

InteractiveFitEditor::~InteractiveFitEditor ( )
virtual

Destroys the widgets and drawing objects the editor created.

Definition at line 97 of file InteractiveFitEditor.cpp.

Member Function Documentation

◆ CloseWindow()

void InteractiveFitEditor::CloseWindow ( )
virtual

Window-manager close. Treated as a cancel, not an accept.

Definition at line 934 of file InteractiveFitEditor.cpp.

◆ GetEmbeddedCanvas()

TRootEmbeddedCanvas * InteractiveFitEditor::GetEmbeddedCanvas ( )
inline

The canvas holding the fit and residual pads.

Returns
Borrowed pointer; the editor owns it.

Definition at line 188 of file InteractiveFitEditor.hpp.

Referenced by LaunchInteractiveFitEditor().

◆ GetRedrawTimer()

TTimer * InteractiveFitEditor::GetRedrawTimer ( )
inline

The coalescing redraw timer, for the driving event loop.

Returns
Borrowed pointer; the editor owns it.

Definition at line 185 of file InteractiveFitEditor.hpp.

Referenced by LaunchInteractiveFitEditor().

◆ HandleTimer()

Bool_t InteractiveFitEditor::HandleTimer ( TTimer * timer)
virtual

Redraw tick.

Parameter edits set a dirty flag rather than redrawing inline; this coalesces them so dragging a slider does not queue one full redraw per pixel of travel.

Parameters
timerTimer that fired.
Returns
kTRUE once handled.

Definition at line 927 of file InteractiveFitEditor.cpp.

◆ IsDone()

Bool_t InteractiveFitEditor::IsDone ( ) const
inline

Whether the editor has finished and the loop may exit.

Definition at line 182 of file InteractiveFitEditor.hpp.

Referenced by LaunchInteractiveFitEditor().

◆ ProcessMessage()

Bool_t InteractiveFitEditor::ProcessMessage ( Long_t msg,
Long_t parm1,
Long_t parm2 )
virtual

ROOT GUI message dispatch for every widget in the editor.

Parameters
msgEncoded message type and subtype.
parm1Widget id that raised it.
parm2Message-specific payload.
Returns
kTRUE once handled.

Definition at line 864 of file InteractiveFitEditor.cpp.

◆ WasAccepted()

Bool_t InteractiveFitEditor::WasAccepted ( ) const
inline

Whether the user accepted rather than cancelled.

Returns
kTRUE if Accept was pressed. Only meaningful once IsDone().

Definition at line 180 of file InteractiveFitEditor.hpp.

Referenced by LaunchInteractiveFitEditor().


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