8 #ifndef RG_FIT_BASE_1D_HH
9 #define RG_FIT_BASE_1D_HH
21 #include <TPolyLine.h>
26 #include <TGNumberEntry.h>
27 #include <TGComboBox.h>
28 #include <TRootEmbeddedCanvas.h>
29 #include <TGDoubleSlider.h>
30 #include <TGSplitter.h>
33 #include <TGFileDialog.h>
37 namespace RGFitPointType
162 RGFitBase1D (
const TGWindow * parent, TH1 *hptr, TH1 * herr = NULL );
163 RGFitBase1D (
const TGWindow * parent, TH1 *hptr,
const Double_t x1,
const Double_t x2 );
164 RGFitBase1D (
const TGWindow * parent, TH1 *hptr, TH1 * herr,
const Double_t x1,
const Double_t x2 );
175 virtual void Init ( );
183 virtual void Quit ( );
189 virtual void DrawPadHisto (
const Double_t yinf = 0.,
const Double_t ysup = 0.);
194 virtual void SetPlotLimits (
const Double_t x1,
const Double_t x2 );
195 virtual void SetFitLimits (
const Double_t x1,
const Double_t x2 );
208 virtual bool SaveFunctions (
const string &fname =
"" )
const;
214 virtual void AnyEvent (
const Double_t x,
const Double_t y );
225 virtual void MouseButton1Up (
const Double_t x,
const Double_t y );
229 virtual void MouseButton2Up (
const Double_t x,
const Double_t y );
231 virtual void AddPoint (
const Double_t x,
const bool select =
true );
232 virtual void MovePoint (
const Int_t p,
const Double_t x );
virtual void CalcFunctions(const bool bg=false)
Definition: RGFitBase1D.cpp:1302
virtual void GuiUpdateDisplay()
Definition: RGFitBase1D.cpp:1559
virtual void GuiDisplayFct()
Definition: RGFitBase1D.cpp:1759
Int_t select_point
Point at selection distance (-1 if no point)
Definition: RGFitBase1D.hh:104
virtual void PointsToParam()
Definition: RGFitBase1D.cpp:1391
Definition: RGFitDisplayer1D.hh:21
virtual void AutoScale() const
Definition: RGFitBase1D.cpp:912
TGVerticalFrame * w_global_but_frame
Frame for general buttons.
Definition: RGFitBase1D.hh:153
static string file_dir
Output directory name.
Definition: RGFitBase1D.hh:87
virtual void DisplayButton()
Definition: RGFitBase1D.cpp:1975
virtual void Construct()
Definition: RGFitBase1D.cpp:226
TH1 * h_diff
Difference histogram pointer.
Definition: RGFitBase1D.hh:117
virtual void DoneButton()
Definition: RGFitBase1D.cpp:2022
virtual void FitLimitsSet()
Definition: RGFitBase1D.cpp:2091
virtual void ResetButton()
Definition: RGFitBase1D.cpp:1997
static UInt_t canvas_height
Embedded canvas default height.
Definition: RGFitBase1D.hh:83
virtual void PointsToParamLimits()
Definition: RGFitBase1D.cpp:1400
virtual void PointSelected(const Int_t p)
Definition: RGFitBase1D.cpp:1237
virtual void SaveButton()
Definition: RGFitBase1D.cpp:1946
TGLabel * w_fit_inf_label
Lower limit label.
Definition: RGFitBase1D.hh:130
static TAttLine limit_line_att
Fit limits display attributes.
Definition: RGFitBase1D.hh:79
virtual void PresetFitButton()
Definition: RGFitBase1D.cpp:1931
bool * pt_pre
Array of preset points.
Definition: RGFitBase1D.hh:111
virtual void PointUnselected(const Int_t p)
Definition: RGFitBase1D.cpp:1260
TGHorizontalFrame * w_fit_limit
Fit limits line.
Definition: RGFitBase1D.hh:129
bool constructed
Check if interface is constructed.
Definition: RGFitBase1D.hh:94
virtual void GuiDrawFct()
Definition: RGFitBase1D.cpp:1742
virtual void DeletePoint(const Int_t p)
Definition: RGFitBase1D.cpp:1191
TGTextButton * w_display_button
Separated display button.
Definition: RGFitBase1D.hh:152
virtual void GuiTextView()
Definition: RGFitBase1D.cpp:1614
TGGroupFrame * w_funct_but_group
Group for functions buttons.
Definition: RGFitBase1D.hh:148
TGTextButton * w_done_button
Done button (close interface)
Definition: RGFitBase1D.hh:157
virtual void WidgetsToPoint()
Definition: RGFitBase1D.cpp:1467
TGTextButton * w_funct_button
Save functions button.
Definition: RGFitBase1D.hh:150
virtual void WidgetsToParamFitMode()
Definition: RGFitBase1D.cpp:1458
virtual void GuiSaveFitData()
Definition: RGFitBase1D.cpp:1641
static string file_output_file
Output result file.
Definition: RGFitBase1D.hh:90
virtual void ConstructFitData()
Definition: RGFitBase1D.cpp:304
virtual void MouseButton1Down(const Double_t x, const Double_t y)
Definition: RGFitBase1D.cpp:1081
Definition: RGFitBase1D.hh:67
static string file_root_file
Output ROOT file.
Definition: RGFitBase1D.hh:88
TH1 * h_err_pos
Function positive error (square root) histogram.
Definition: RGFitBase1D.hh:118
virtual void CancelButton()
Definition: RGFitBase1D.cpp:2012
virtual void SetFitMode(const Int_t mode)
Definition: RGFitBase1D.cpp:794
virtual void PointMoved(const Int_t p)
Definition: RGFitBase1D.cpp:1204
TGGroupFrame * w_param_but_group
Group for parameters buttons.
Definition: RGFitBase1D.hh:143
virtual void ConstructActions()
Definition: RGFitBase1D.cpp:408
TGTextButton * w_fit_limit_set
Limits validation button.
Definition: RGFitBase1D.hh:134
TGGroupFrame * w_fit_but_group
Group for fit buttons.
Definition: RGFitBase1D.hh:138
Int_t return_value
Interface return value.
Definition: RGFitBase1D.hh:95
virtual void MovePoint(const Int_t p, const Double_t x)
Definition: RGFitBase1D.cpp:1180
static TAttLine select_line_att
Selected line attributes.
Definition: RGFitBase1D.hh:80
virtual void ParamToWidgetLimits()
Definition: RGFitBase1D.cpp:1515
TGTextButton * w_reset_button
Reset interface button.
Definition: RGFitBase1D.hh:154
virtual void AnyEvent(const Double_t x, const Double_t y)
Definition: RGFitBase1D.cpp:1045
virtual void PresetButton()
Definition: RGFitBase1D.cpp:1917
bool exit_flag
End of request check.
Definition: RGFitBase1D.hh:93
TGLabel * w_fit_sup_label
Upper limit label.
Definition: RGFitBase1D.hh:132
Double_t init_x2
Initial display upper limit.
Definition: RGFitBase1D.hh:100
TGTextButton * w_update_button
Interface update button.
Definition: RGFitBase1D.hh:147
virtual void AddPoint(const Double_t x, const bool select=true)
Definition: RGFitBase1D.cpp:1131
TGTextButton * w_param_button
Parameters save button.
Definition: RGFitBase1D.hh:146
virtual void ParamToPointLimits()
Definition: RGFitBase1D.cpp:1541
Int_t np_max
Maximum number of preset points.
Definition: RGFitBase1D.hh:108
virtual void Init()
Definition: RGFitBase1D.cpp:196
virtual void ParamUpdateAll()
Definition: RGFitBase1D.cpp:1371
virtual void FitModeSelected(Int_t m)
Definition: RGFitBase1D.cpp:1910
virtual void GuiFit()
Definition: RGFitBase1D.cpp:1599
TGTextButton * w_save_button
Fit data save button.
Definition: RGFitBase1D.hh:145
virtual void MouseButton1Up(const Double_t x, const Double_t y)
Definition: RGFitBase1D.cpp:1099
TGTextButton * w_fit_limit_disp
Button to set fit limits to display.
Definition: RGFitBase1D.hh:135
virtual void Quit()
Definition: RGFitBase1D.cpp:618
TGTextButton * w_cancel_button
Cancel button (close interface)
Definition: RGFitBase1D.hh:156
virtual void WidgetsToPointLimits()
Definition: RGFitBase1D.cpp:1474
RGFitBase1D(const TGWindow *parent, TH1 *hptr, TH1 *herr=NULL)
Definition: RGFitBase1D.cpp:39
virtual void DrawPadHisto(const Double_t yinf=0., const Double_t ysup=0.)
Definition: RGFitBase1D.cpp:664
virtual void ParamToPoint()
Definition: RGFitBase1D.cpp:1533
virtual void PointsToWidgetLimits()
Definition: RGFitBase1D.cpp:1418
Double_t init_x1
Initial display lower limit.
Definition: RGFitBase1D.hh:99
TGHorizontalFrame * w_buttons_frame
Buttons frame.
Definition: RGFitBase1D.hh:137
TGTextButton * w_preset_button
Full precalculation button.
Definition: RGFitBase1D.hh:140
TList obj_list
List of objects to draw.
Definition: RGFitBase1D.hh:114
virtual ~RGFitBase1D()
Definition: RGFitBase1D.cpp:175
virtual void GuiUpdate()
Definition: RGFitBase1D.cpp:1628
virtual bool SaveFunctions(const string &fname="") const
Definition: RGFitBase1D.cpp:1321
virtual void FitSupLimitTextChanged(const char *str)
Definition: RGFitBase1D.cpp:2070
virtual void GetDisplayMinMax(Double_t &min, Double_t &max) const
Definition: RGFitBase1D.cpp:876
virtual void FitLimitsToDisplay()
Definition: RGFitBase1D.cpp:2109
virtual void ResetFunctions()
Definition: RGFitBase1D.cpp:1286
TGComboBox * w_fit_mode_select
Fit mode selection.
Definition: RGFitBase1D.hh:139
virtual void GuiLoadFitData()
Definition: RGFitBase1D.cpp:1837
const TGWindow * main_window
Parent application main window.
Definition: RGFitBase1D.hh:97
TGTextButton * w_view_button
Result display button.
Definition: RGFitBase1D.hh:144
TGTextButton * w_fit_button
Fit button.
Definition: RGFitBase1D.hh:141
virtual void WidgetsToParamLimits()
Definition: RGFitBase1D.cpp:1449
Definition: RFitData1D.hh:21
TH1 * h_fct
Fit function histogram pointer.
Definition: RGFitBase1D.hh:116
TH1 * h_err_neg
Function negative error (square root) histogram.
Definition: RGFitBase1D.hh:119
TGTextButton * w_set_fit_button
Precalculation and fit button.
Definition: RGFitBase1D.hh:142
bool move_lock
Used to check if point is moving.
Definition: RGFitBase1D.hh:105
TGTextButton * w_clear_button
Clear fit histograms button.
Definition: RGFitBase1D.hh:149
static UInt_t canvas_width
Embedded canvas default width.
Definition: RGFitBase1D.hh:82
virtual RFitData1D * GetFitData()
Definition: RGFitBase1D.cpp:805
virtual Int_t GetReturnValue()
Definition: RGFitBase1D.icc:18
static string file_param_file
Output parameter file.
Definition: RGFitBase1D.hh:89
virtual void MouseButton2Down(const Double_t x, const Double_t y)
Definition: RGFitBase1D.cpp:1110
virtual void DrawButton()
Definition: RGFitBase1D.cpp:1967
virtual void GuiReset()
Definition: RGFitBase1D.cpp:1817
virtual void ViewButton()
Definition: RGFitBase1D.cpp:1939
bool * pt_set
Array of points defined.
Definition: RGFitBase1D.hh:110
virtual void Redraw()
Definition: RGFitBase1D.cpp:637
virtual void FitInfLimitTextChanged(const char *str)
Definition: RGFitBase1D.cpp:2041
double * pt_x
Array of points positions.
Definition: RGFitBase1D.hh:112
virtual Int_t GetPointType(const Int_t p)
Definition: RGFitBase1D.cpp:975
virtual void ParamToWidget()
Definition: RGFitBase1D.cpp:1491
virtual void ClearButton()
Definition: RGFitBase1D.cpp:1989
virtual TH1 * GetHistoPtr() const
Definition: RGFitBase1D.icc:12
virtual void ParamButton()
Definition: RGFitBase1D.cpp:1953
virtual void FitSupLimitChanged(Long_t n)
Definition: RGFitBase1D.cpp:2063
static const int undefPoint
Definition: RGFitBase1D.hh:40
Definition: RFitBase1D.hh:37
bool inhibit_value_slot
Definition: RGFitBase1D.hh:126
virtual void GuiWriteFct()
Definition: RGFitBase1D.cpp:1769
virtual void WidgetsToParam()
Definition: RGFitBase1D.cpp:1440
virtual void ParamToWidgetFitMode()
Definition: RGFitBase1D.cpp:1500
virtual void RedrawPoints()
Definition: RGFitBase1D.cpp:987
virtual void SetFitLimits(const Double_t x1, const Double_t x2)
Definition: RGFitBase1D.cpp:761
virtual void FunctButton()
Definition: RGFitBase1D.cpp:1982
TGGroupFrame * w_fit_limits_frame
Fit zone frame.
Definition: RGFitBase1D.hh:128
virtual void GuiWriteParam()
Definition: RGFitBase1D.cpp:1697
virtual Int_t SelectedPoint(const Double_t x)
Definition: RGFitBase1D.cpp:929
Definition: RGHistoWindow.hh:97
virtual void MouseButton2Up(const Double_t x, const Double_t y)
Definition: RGFitBase1D.cpp:1118
virtual void SetFitData(const RFitData1D *fit_data)
Definition: RGFitBase1D.cpp:833
virtual void ConstructLimits()
Definition: RGFitBase1D.cpp:310
virtual void PointsToWidget()
Definition: RGFitBase1D.cpp:1410
TGTextButton * w_draw_button
Plot fit histograms button.
Definition: RGFitBase1D.hh:151
virtual RFitData1D * CreateFitData()=0
virtual void SetPlotLimits(const Double_t x1, const Double_t x2)
Definition: RGFitBase1D.cpp:738
TGNumberEntry * w_fit_sup_value
Upper limit value.
Definition: RGFitBase1D.hh:133
TGNumberEntry * w_fit_inf_value
Lower limit value.
Definition: RGFitBase1D.hh:131
virtual void FitInfLimitChanged(Long_t n)
Definition: RGFitBase1D.cpp:2034
virtual void GuiPreset()
Definition: RGFitBase1D.cpp:1587
virtual void UpdateButton()
Definition: RGFitBase1D.cpp:1960
Double_t select_distance
Point selection distance (in pixel)
Definition: RGFitBase1D.hh:103
virtual void FitButton()
Definition: RGFitBase1D.cpp:1924
virtual void LoadButton()
Definition: RGFitBase1D.cpp:2004
TGTextButton * w_load_button
Fit data read button.
Definition: RGFitBase1D.hh:155
virtual void GuiUpdateOptions()
Definition: RGFitBase1D.cpp:1574
static const int fitLimits
Definition: RGFitBase1D.hh:43