358 gROOT->GetListOfCleanups()->Add(
this);
541 gROOT->GetListOfCleanups()->Remove(
this);
559 fAddB->
Connect(
"Toggled(Bool_t)",
"TH1Editor",
this,
"DoAddB(Bool_t)");
560 fAddBar->
Connect(
"Toggled(Bool_t)",
"TH1Editor",
this,
"DoAddBar(Bool_t)");
561 fTitle->
Connect(
"TextChanged(const char *)",
"TH1Editor",
this,
"DoTitle(const char *)");
565 fAddCombo->
Connect(
"Selected(Int_t)",
"TH1Editor",
this,
"DoHistChanges()");
566 fAddMarker->
Connect(
"Toggled(Bool_t)",
"TH1Editor",
this,
"DoAddMarker(Bool_t)");
567 fAddSimple->
Connect(
"Toggled(Bool_t)",
"TH1Editor",
this,
"DoAddSimple(Bool_t)");
583 fBinSlider->
Connect(
"PositionChanged(Int_t)",
"TH1Editor",
this,
"DoBinMoved(Int_t)");
589 fApply->
Connect(
"Clicked()",
"TH1Editor",
this,
"DoApply()");
601 fSlider->
Connect(
"PositionChanged()",
"TH1Editor",
this,
"DoSliderMoved()");
602 fSlider->
Connect(
"Pressed()",
"TH1Editor",
this,
"DoSliderPressed()");
603 fSlider->
Connect(
"Released()",
"TH1Editor",
this,
"DoSliderReleased()");
604 fSldMin->
Connect(
"ReturnPressed()",
"TH1Editor",
this,
"DoAxisRange()");
605 fSldMax->
Connect(
"ReturnPressed()",
"TH1Editor",
this,
"DoAxisRange()");
615 ((
TH1*)obj)->GetDimension()!=1 ||
616 ((
TH1*)obj)->GetEntries() == 0
658 if (str.
IsNull() || str==
"" ) {
842 Int_t nxbinmin =
fHist -> GetXaxis() -> GetFirst();
843 Int_t nxbinmax =
fHist -> GetXaxis() -> GetLast();
873 if (div[0]-1 <= 1) up = 2;
880 while ( div[i] != nx) i ++;
949 if (str.
Contains(
"POL")) str = dum +
"POL";
950 if (str.
Contains(
"SPH")) str = dum +
"SPH";
951 if (str.
Contains(
"PSR")) str = dum +
"PSR";
953 if ((str==
"HIST") || (str==
"") ||
1000 !(str==
"" || str==
"HIST" ||
1108 fAddMarker->
Connect(
"Toggled(Bool_t)",
"TH1Editor",
this,
"DoAddMarker(Bool_t)");
1143 fAddMarker->
Connect(
"Toggled(Bool_t)",
"TH1Editor",
this,
"DoAddMarker(Bool_t)");
1233 fAddCombo->
Connect(
"Selected(Int_t)",
"TH1Editor",
this,
"DoHistChanges()");
1345 fAddCombo->
Connect(
"Selected(Int_t)",
"TH1Editor",
this,
"DoHistChanges()");
1465 case (
kPER_0) :{ str +=
"BAR";
break;}
1466 case (
kPER_10):{ str +=
"BAR1";
break;}
1467 case (
kPER_20):{ str +=
"BAR2";
break;}
1468 case (
kPER_30):{ str +=
"BAR3";
break;}
1469 case (
kPER_40):{ str +=
"BAR4";
break;}
1512 static Int_t px1,py1,px2,py2;
1541 static Float_t p1[3],
p2[3],
p3[3], p4[3], p5[3], p6[3], p7[3], p8[3];
1548 p1[0] = p4[0] = p5[0] = p8[0] =
1550 p2[0] =
p3[0] = p6[0] = p7[0] =
1552 p1[1] =
p2[1] =
p3[1] = p4[1] = rmin[1];
1553 p5[1] = p6[1] = p7[1] = p8[1] = rmax[1];
1554 p1[2] =
p2[2] = p5[2] = p6[2] = rmin[2];
1555 p3[2] = p4[2] = p7[2] = p8[2] = rmax[2];
1562 for (
Int_t i = 0; i<3; i++){
1787 if (maxx==1) maxx=2;
1828 "TH1 Editor",
"It is not possible to rebin the histogram",
1845 if (number==5)
return;
1847 Int_t binNumber = 0;
1850 if (number > 5) fact = number - 4;
1851 else fact = number - 6;
1853 if (!player)
return;
1866 if (fact > 0) binNumber = fact*nx;
1867 if (fact < 0) binNumber = (
Int_t) ((-1)*nx/fact+0.5);
1868 if (binNumber < 1) binNumber = 1;
1869 if (binNumber > 10000) binNumber= 10000;
1873 min-oldOffset+newOffset,
1874 max-oldOffset+newOffset);
1886 xaxis->
FindBin(rmax-binWidth/2));
1911 Int_t binNumber = 0;
1912 if (number >= 5) fact = number - 4;
1913 else fact = number - 6;
1914 if (fact > 0) binNumber = fact*
n;
1915 if (fact < 0) binNumber = (
Int_t) ((-1)*
n/fact+0.5);
1916 if (binNumber < 1) binNumber = 1;
1917 if (binNumber > 10000) binNumber= 10000;
1936 for (
Int_t i = 2; i <= div[0]; i++) {
1962 if (!player)
return;
1975 Int_t binNumber = (
Int_t) ((max-min)/(rmax - rmin)*num + 0.5);
1976 if (binNumber < 1) binNumber = 1;
1977 if (binNumber > 10000) binNumber = 10000;
1981 min-oldOffset+offset,
1982 max-oldOffset+offset);
1994 xaxis->
FindBin(rmax-binWidth/2));
2027 Double_t offset = 1.*num/100*binWidth;
2031 if (!player)
return;
2043 min+offset-oldOffset,
2044 max+offset-oldOffset);
2052 xaxis->
FindBin(rmax+offset-oldOffset-binWidth/2));
2073 Double_t offset = 1.*num/100*binWidth;
2078 if (!player)
return;
2090 min+offset-oldOffset,
2091 max+offset-oldOffset);
2099 xaxis->
FindBin(rmax+offset-oldOffset-binWidth/2));
2122 if (!player)
return;
2134 min+offset-oldOffset,
2135 max+offset-oldOffset);
2143 xaxis->
FindBin(rmax+offset-oldOffset-binWidth/2));
2157 "TH1 Editor",
"Replace origin histogram with rebinned one?",
2167 if (div[0]-1 <= 1) up = 2;
2217 case (-1) : {
s =
"LEGO";
break;}
2241 case (-1) : {
s =
"POL";
break;}
2261 case (-1) : {
s =
"";
break;}
2281 case (-1) : {
s =
"" ;
break;}
2293 case (
kPER_0) : {
s +=
"BAR" ;
break;}
2294 case (
kPER_10): {
s +=
"BAR1";
break;}
2295 case (
kPER_20): {
s +=
"BAR2";
break;}
2296 case (
kPER_30): {
s +=
"BAR3";
break;}
2297 case (
kPER_40): {
s +=
"BAR4";
break;}
2448 }
else if (
n == 1) {
2457 for (
Int_t i=2; i <=
n/2; i++) {
static double p3(double t, double a, double b, double c, double d)
static double p1(double t, double a, double b)
static double p2(double t, double a, double b, double c)
include TDocParser_001 C image html pict1_TDocParser_001 png width
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
virtual void SetLineColor(Color_t lcolor)
Set the line color.
Class to manage histogram axis.
virtual Int_t FindBin(Double_t x)
Find bin number corresponding to abscissa x.
virtual Double_t GetBinLowEdge(Int_t bin) const
Return low edge of bin.
Int_t GetLast() const
Return last bin on the axis i.e.
virtual void SetRangeUser(Double_t ufirst, Double_t ulast)
Set the viewing range for the axis from ufirst to ulast (in user coordinates).
virtual void SetRange(Int_t first=0, Int_t last=0)
Set the viewing range for the axis from bin first to last.
virtual Double_t GetBinWidth(Int_t bin) const
Return bin width.
virtual Double_t GetBinUpEdge(Int_t bin) const
Return up edge of bin.
Int_t GetFirst() const
Return first bin on the axis i.e.
void FeedbackMode(Bool_t set)
Turn rubberband feedback mode on or off.
const TGWindow * GetDefaultRoot() const
Returns the root (i.e.
void NeedRedraw(TGWindow *w, Bool_t force=kFALSE)
Set redraw flags.
virtual Int_t GetSelected() const
virtual void AddEntry(TGString *s, Int_t id)
virtual void RemoveEntries(Int_t from_ID, Int_t to_ID)
virtual void RemoveEntry(Int_t id=-1)
Remove entry. If id == -1, the currently selected entry is removed.
virtual TGListBox * GetListBox() const
virtual void Select(Int_t id, Bool_t emit=kTRUE)
Make the selected item visible in the combo box window and emit signals according to the second param...
TGCompositeFrame(const TGCompositeFrame &)
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=0)
Add frame to the composite frame using the specified layout hints.
virtual void Layout()
Layout the elements of the composite frame.
virtual void ChangeOptions(UInt_t options)
Change composite frame options. Options is an OR of the EFrameTypes.
virtual void ShowFrame(TGFrame *f)
Show sub frame.
virtual void HideFrame(TGFrame *f)
Hide sub frame.
virtual Float_t GetMaxPosition() const
virtual Float_t GetMinPosition() const
virtual void SetRange(Float_t min, Float_t max)
virtual void SetPosition(Float_t min, Float_t max)
virtual UInt_t GetDefaultHeight() const
virtual void Resize(UInt_t w=0, UInt_t h=0)
Resize the frame.
Bool_t Contains(Int_t x, Int_t y) const
virtual void Resize(UInt_t w, UInt_t h)
Resize the frame.
virtual void Resize(UInt_t w, UInt_t h)
Resize the listbox widget.
virtual Double_t GetNumber() const
Get the numeric value (floating point representation).
virtual void SetLimits(ELimit limits=kNELNoLimits, Double_t min=0, Double_t max=1)
Set the numerical limits.
virtual void SetIntNumber(Long_t val)
Set the numeric value (integer representation).
virtual void SetNumber(Double_t val)
Set the numeric value (floating point representation).
virtual void SetNumber(Double_t val)
TGNumberEntryField * GetNumberEntry() const
virtual Double_t GetNumber() const
virtual Int_t GetMaxPosition() const
virtual Int_t GetPosition() const
virtual void SetPosition(Int_t pos)
virtual void SetRange(Int_t min, Int_t max)
virtual void SetScale(Int_t scale)
virtual void SetEnabled(Int_t tabIndex, Bool_t on=kTRUE)
Enable or disable tab.
virtual void SetToolTipText(const char *text, Long_t delayms=500)
Set tool tip text associated with this text entry.
virtual void SetText(const char *text, Bool_t emit=kTRUE)
Sets text entry to text, clears the selection and moves the cursor to the end of the line.
virtual const TGWindow * GetMainFrame() const
Returns top level main frame.
virtual TVirtualPad * GetPad() const
virtual Option_t * GetDrawOption() const
Get draw options of the selected object.
virtual TGVerticalFrame * CreateEditorTabSubFrame(const char *name)
Create a vertical frame to be used by 'owner' in extra tab 'name'.
virtual void SetDrawOption(Option_t *option="")
Set drawing option for object.
virtual void MakeTitle(const char *title)
Create attribute frame title.
virtual void Refresh(TObject *model)
Refresh the GUI info about the object attributes.
virtual void Update()
Update the current pad when an attribute is changed via GUI.
static TGComboBox * BuildHistAddComboBox(TGFrame *parent, Int_t id)
Create Line/Bar combo box.
TGNumberEntryField * fSldMin
virtual void DoHistChanges()
Slot connected to the histogram type, the coordinate type, the error type and the Add combo box.
virtual void DoBinReleased1()
Slot connected to the BinNumber Slider in case of a ntuple histogram (does the Rebinning of the histo...
TGHSlider * fBinOffsetSld
TGNumberEntryField * fBinNumberEntry
TGCompositeFrame * fBinCont
TGCheckButton * fAddSimple
TGCheckButton * fAddMarker
TString GetHistTypeLabel()
Returns the selected histogram type (HIST, LEGO1-2, SURF1-5).
virtual void DoOffsetMoved(Int_t num)
Slot connected to the OffSetSlider.
void ChangeErrorCombo(Int_t i)
Change the error combo box entry.
TGNumberEntry * fBarWidth
TGNumberEntryField * fSldMax
TGDoubleHSlider * fSlider
virtual void DoHBar(Bool_t on)
Slot connected to the Horizontal Bar check button.
virtual void DoBinMoved(Int_t number)
Slot connected to the rebin slider in case of a not ntuple histogram (does the Rebinning of the histo...
static TGComboBox * BuildPercentComboBox(TGFrame *parent, Int_t id)
Create Percentage combo box for bar option.
TGHButtonGroup * fDimGroup
virtual void DoAddMarker(Bool_t on)
Slot connected to the show markers check box.
static TGComboBox * BuildHistErrorComboBox(TGFrame *parent, Int_t id)
Create error type combo box.
TGCheckButton * fDelaydraw
virtual void DoAxisRange()
Slot connected to the number entry fields containing the Max/Min value of the x-axis.
virtual void DoHistView()
Slot connected to the 'Plot' button group.
TGCheckButton * fMakeHBar
virtual void ConnectSignals2Slots()
Connect signals to slots.
TGNumberEntryField * fOffsetNumberEntry
TGCompositeFrame * fBinCont1
virtual void SetModel(TObject *obj)
Pick up current values of histogram attributes.
virtual void DoApply()
Slot connected to the Apply button of the Binning tab.
Int_t * Dividers(Int_t n)
Return an array of dividers of n (without the trivial divider n).
virtual ~TH1Editor()
Destructor of TH1 editor.
TGComboBox * fPercentCombo
virtual void DoCancel()
Slot connected to the Cancel button of the Binning tab.
virtual void DoHistComplex()
Slot connected to the 3D radio button.
virtual void DoSliderReleased()
Slot connected to the x-axis Range slider for finalizing the values of the slider movement.
virtual void DoAddB(Bool_t)
Slot connected to the bar Add check box.
virtual void DoHistSimple()
Slot connected to the 2D radio button.
virtual void DoBinReleased()
Slot connected to the rebin slider in case of a not ntuple histogram Updates some other widgets which...
TH1Editor(const TGWindow *p=0, Int_t width=140, Int_t height=30, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground())
Constructor of histogram attribute GUI.
TGComboBox * fCoordsCombo
TString GetHistAddLabel()
Return the selected shape of the histogram (C, L, LF2).
virtual void DoBinPressed()
Slot connected to the rebin slider in case of a not ntuple histogram.
virtual void DoAddSimple(Bool_t on)
Slot connected to fAddSimple check box for drawing a simple histogram without errors (== HIST draw op...
virtual void DoPercent()
Slot connected to the bar percentage settings.
virtual void DoBarOffset()
Slot connected to the Bar Offset of the Bar Charts.
void CreateBinTab()
Create binning tab.
virtual void DoBarWidth()
Slot connected to the Bar Width of the Bar Charts.
virtual void DoAddBar(Bool_t)
Slot connected to the bar Add check box.
TGNumberEntryField * fBinNumberEntry1
virtual void PaintBox3D(Float_t *p1, Float_t *p2, Float_t *p3, Float_t *p4)
Paint a 3D box.
TString GetHistErrorLabel()
Return the selected error type (E,E1-5).
virtual void DoBinLabel()
Slot connected to the Bin number entry of the Rebinning tab.
static TGComboBox * BuildHistCoordsComboBox(TGFrame *parent, Int_t id)
Create coordinate system type combo box.
TGNumberEntry * fBarOffset
virtual void RecursiveRemove(TObject *obj)
If the contained histogram obj is deleted we must set its pointer to zero.
virtual void DoOffsetReleased()
Slot connected to the OffSetSlider.
static TGComboBox * BuildHistTypeComboBox(TGFrame *parent, Int_t id)
Create histogram type combo box.
virtual Bool_t AcceptModel(TObject *model)
Check if object is able to configure with this editor.
virtual void DoBinLabel1()
Slot connected to the Bin number entry of the Rebinning tab.
virtual void DoSliderMoved()
Slot connected to the x-Slider for redrawing of the histogram according to the new Slider range.
virtual void DoBinOffset()
Slot connected to the OffSetNumberEntry which is related to the OffSetSlider changes the origin of th...
virtual void DoOffsetPressed()
Slot connected to the OffSetSlider that saves the OldBinOffset (nessesary for delay draw mode).
virtual void DoTitle(const char *text)
Slot connected to the histogram title setting.
TString GetHistCoordsLabel()
Return the selected coordinate system of the histogram (POL,CYL,SPH,PSR).
virtual void DoBinMoved1()
Slot connected to the rebin slider in case of an ntuple histogram.
virtual void DoSliderPressed()
Slot connected to the x-axis Range slider for initialising the values of the slider movement.
virtual void SetDirectory(TDirectory *dir)
By default when an histogram is created, it is added to the list of histogram objects in the current ...
virtual void SetTitle(const char *title)
See GetStatOverflows for more information.
virtual Float_t GetBarWidth() const
virtual Float_t GetBarOffset() const
@ kNoAxis
NOTE: Must always be 0 !!!
virtual void Reset(Option_t *option="")
Reset this histogram: contents, errors, etc.
TAxis * GetXaxis()
Get the behaviour adopted by the object about the statoverflows. See EStatOverflows for more informat...
TObject * Clone(const char *newname=0) const
Make a complete copy of the underlying object.
virtual Bool_t Add(TF1 *h1, Double_t c1=1, Option_t *option="")
Performs the operation: this = this + c1*f1 if errors are defined (see TH1::Sumw2),...
virtual void SetBarWidth(Float_t width=0.5)
virtual Double_t GetEntries() const
Return the current number of entries.
virtual UInt_t SetCanExtend(UInt_t extendBitMask)
Make the histogram axes extendable / not extendable according to the bit mask returns the previous bi...
virtual void SetBarOffset(Float_t offset=0.25)
virtual void SetBins(Int_t nx, Double_t xmin, Double_t xmax)
Redefine x axis parameters.
virtual TH1 * Rebin(Int_t ngroup=2, const char *newname="", const Double_t *xbins=0)
Rebin this histogram.
virtual const char * GetTitle() const
Returns title of object.
Mother of all ROOT objects.
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
Non-static method is used to connect from the signal of this object to the receiver slot.
Bool_t Disconnect(const char *signal=0, void *receiver=0, const char *slot=0)
Disconnects signal of this object from slot of receiver.
A specialized TSelector for TTree::Draw.
virtual void TakeAction()
Execute action for object obj fNfill times.
TString & Insert(Ssiz_t pos, const char *s)
Ssiz_t First(char c) const
Find first occurrence of a character c.
const char * Data() const
void ToUpper()
Change string to upper case.
TString & Remove(Ssiz_t pos)
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
Implement some of the functionality of the class TTree requiring access to extra libraries (Histogram...
TSelector * GetSelector() const
TH1 * GetHistogram() const
virtual Int_t GetNfill() const
virtual Double_t * GetRmax()=0
virtual Double_t * GetRmin()=0
virtual Int_t YtoAbsPixel(Double_t y) const =0
virtual Double_t GetUymax() const =0
virtual void PaintLine3D(Float_t *p1, Float_t *p2)=0
virtual TVirtualPad * cd(Int_t subpadnumber=0)=0
virtual Int_t XtoAbsPixel(Double_t x) const =0
virtual Double_t GetUymin() const =0
virtual TView * GetView() const =0
virtual TCanvas * GetCanvas() const =0
static TVirtualTreePlayer * GetCurrentPlayer()
Static function: return the current player (if any)
leg AddEntry(h1,"Histogram filled with random numbers","f")
static constexpr double s