Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
CorrFitGUI.h
1/*
2 * CorrFitGUI.h
3 *
4 * Created on: 11 sty 2021
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9#ifndef HALFEMTO_ANALYSIS_FEMTO_CORRFIT_HALCORRFITGUI_H_
10#define HALFEMTO_ANALYSIS_FEMTO_CORRFIT_HALCORRFITGUI_H_
11
12#include "CorrFit.h"
13
14#include <TF1.h>
15#include <TGButton.h>
16#include <TGComboBox.h>
17#include <TGFrame.h>
18#include <TGLabel.h>
19#include <TGNumberEntry.h>
20#include <TGSlider.h>
21#include <TGWindow.h>
22#include <TObject.h>
23#include <TRandom.h>
24#include <TRootEmbeddedCanvas.h>
25
26
27namespace Hal {
28 class CorrFitParButton : public TGHorizontalFrame {
29 TGNumberEntry* fNumberEntry;
30 TGComboBox* fComboBox;
31 std::vector<double> fSteps;
32 Bool_t fDiscrete;
33
34 public:
35 CorrFitParButton(const TGWindow* p = 0,
36 UInt_t w = 1,
37 UInt_t h = 1,
38 UInt_t options = kChildFrame,
39 Pixel_t back = GetDefaultFrameBackground());
40 void Init(CorrFitGUI* gui, TString parName, FitParam par);
41 Double_t GetValue();
42 void SetValue(Double_t val);
43 void SetPrecission(Int_t prec);
44 virtual ~CorrFitParButton() {};
45 ClassDef(CorrFitParButton, 0)
46 };
47
48 class CorrFitChiSelector : public TGHorizontalFrame {
49 TGComboBox* fParName;
50 TGNumberEntry* fMin;
51 TGNumberEntry* fMax;
52 TGNumberEntry* fSteps;
53
54 public:
55 CorrFitChiSelector(const TGWindow* p = 0,
56 UInt_t w = 1,
57 UInt_t h = 1,
58 UInt_t options = kChildFrame,
59 Pixel_t back = GetDefaultFrameBackground());
60 void Init(CorrFitGUI* gui, CorrFit* f);
61 void GetValue(Int_t& par, Int_t& steps, Double_t& min, Double_t& max);
62 virtual ~CorrFitChiSelector() {};
63 ClassDef(CorrFitChiSelector, 0)
64 };
65
66
67 class CorrFitGUI : public TGMainFrame {
68 CorrFit* fFunc;
69 CorrFitParButton** fSliders;
70 CorrFitChiSelector* fPairChi1;
71 CorrFitChiSelector* fPairChi2;
72 TGCheckButton* fAutoNorm;
73 TGCheckButton* fChiMin;
74 TGCheckButton* fChiLogz;
75 TGCheckButton* fChiFit;
76
77 Double_t fInitalNorm;
78 const Int_t fNormIndex;
79 void SetParams();
80
81 public:
82 CorrFitGUI(CorrFit* f, Int_t prec = -1);
83 void ApplyParams();
84 void DrawChi2();
85 void Round(Int_t prec);
86 virtual ~CorrFitGUI();
87 ClassDef(CorrFitGUI, 0)
88 };
89} // namespace Hal
90
91#endif /* HALFEMTO_ANALYSIS_FEMTO_CORRFIT_HALCORRFITGUI_H_ */