library: libGed #include "TH2Editor.h" |
TH2Editor
class description - source file - inheritance tree (.pdf)
private:
TString GetHistAdditiveLabel()
TString GetHistContLabel()
TString GetHistCoordsLabel()
TString GetHistTypeLabel()
void PaintBox3D(Float_t* p1, Float_t* p2, Float_t* p3, Float_t* p4)
protected:
static TGComboBox* BuildHistContComboBox(TGFrame* parent, Int_t id)
static TGComboBox* BuildHistCoordsComboBox(TGFrame* parent, Int_t id)
static TGComboBox* BuildHistTypeComboBox(TGFrame* parent, Int_t id)
virtual void ConnectSignals2Slots()
public:
TH2Editor(const TGWindow* p, Int_t id, Int_t width = 140, Int_t height = 30, UInt_t options = kChildFrame, Pixel_t back = GetDefaultFrameBackground())
TH2Editor(const TH2Editor&)
virtual ~TH2Editor()
static TClass* Class()
Int_t* Dividers(Int_t n)
virtual void DoAddArr(Bool_t on)
virtual void DoAddBB()
virtual void DoAddBox(Bool_t on)
virtual void DoAddCol(Bool_t on)
virtual void DoAddError(Bool_t on)
virtual void DoAddFB()
virtual void DoAddPalette(Bool_t on)
virtual void DoAddScat(Bool_t on)
virtual void DoAddText(Bool_t on)
virtual void DoApply()
virtual void DoBarOffset()
virtual void DoBarWidth()
virtual void DoBinLabel()
virtual void DoBinLabel1()
virtual void DoBinMoved()
virtual void DoBinMoved1()
virtual void DoBinOffset()
virtual void DoBinPressed()
virtual void DoBinReleased()
virtual void DoBinReleased1()
virtual void DoCancel()
virtual void DoContLevel()
virtual void DoContLevel1()
virtual void DoFillColor(Pixel_t)
virtual void DoFillPattern(Style_t)
virtual void DoHistChanges()
virtual void DoHistComplex()
virtual void DoHistSimple()
virtual void DoOffsetMoved()
virtual void DoOffsetPressed()
virtual void DoOffsetReleased()
virtual void DoSliderXMoved()
virtual void DoSliderXPressed()
virtual void DoSliderXReleased()
virtual void DoSliderYMoved()
virtual void DoSliderYPressed()
virtual void DoSliderYReleased()
virtual void DoTitle(const char* text)
virtual void DoXAxisRange()
virtual void DoYAxisRange()
virtual TClass* IsA() const
virtual void SetModel(TVirtualPad* pad, TObject* obj, Int_t event)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
private:
Int_t fPx1old
Int_t fPy1old
Int_t fPx2old
Int_t fPy2old
Float_t fP1oldx[3]
Float_t fP2oldx[3]
Float_t fP3oldx[3]
Float_t fP4oldx[3]
Float_t fP5oldx[3]
Float_t fP6oldx[3]
Float_t fP7oldx[3]
Float_t fP8oldx[3]
Float_t fP1oldy[3]
Float_t fP2oldy[3]
Float_t fP3oldy[3]
Float_t fP4oldy[3]
Float_t fP5oldy[3]
Float_t fP6oldy[3]
Float_t fP7oldy[3]
Float_t fP8oldy[3]
TH2* fBinHist Cloned histogram for rebin
Double_t fOldXOffset saves the old x offset of the histogram
Double_t fOldYOffset saves the old y offset of the histogram
protected:
TH2* fHist histogram object
TGTab* fTab Pointer to the Tab Parent
TGCompositeFrame* fBin Contains the Binning Widgets
TGCompositeFrame* fFit Contains the Fitting Widgets
TGCompositeFrame* fBinContainer Container for fBin
TGTextEntry* fTitle histogram title input field
TGComboBox* fTypeCombo histogram type combo box
TGComboBox* fCoordsCombo Coordinate System combo box
TGComboBox* fContCombo Contour selecting combo box
TGLabel* fColContLbl No. of Contours Label 1
TGLabel* fColContLbl1 No. of Contours Label 2
Int_t fTitlePrec font precision level
TGHButtonGroup* fDimGroup Radiobuttongroup to change 2D <-> 3D-Plot
TGRadioButton* fDim 2D-Plot RadioButton
TGRadioButton* fDim0 3D-Plot RadioButton
TGCompositeFrame* f3 Frame that contains Histogram Type-ComboBox
TGCompositeFrame* f4 Frame that contains Histogram Coord-ComboBox
TGCompositeFrame* f5 Frame that contains Histogram Contour-ComboBox
TGCompositeFrame* f6 Frame that contains the 2D CheckBox DrawOptions
TGCompositeFrame* f9 Frame that contains the 3D CheckBox DrawOptions
TGCompositeFrame* f12 Frame that contains the Bar-Title
TGCompositeFrame* f13 Frame that contains the Bar Width/Offset NumberEntries
TGCompositeFrame* f16 Frame that contains the ColorLevel NumberEnrtry
TGCompositeFrame* f19 Frame that contains the ColorLevel NumberEnrtry
TGCompositeFrame* f38 Frame that contains the Frame Fill widgets
TGCheckButton* fAddError CheckBox connected to error bars
TGCheckButton* fAddPalette CheckBox connected to Z option (2D)
TGCheckButton* fAddPalette1 CheckBox connected to Z option (3D)
TGCheckButton* fAddArr CheckBox connected to Arr-Option
TGCheckButton* fAddBox CheckBox connected to Box-Option
TGCheckButton* fAddScat CheckBox connected to Scat-Option
TGCheckButton* fAddCol CheckBox connected to Col-Option
TGCheckButton* fAddFB Draw front box (or not)
TGCheckButton* fAddBB Draw back box (or not)
TGCheckButton* fAddText Draw bin contents as text
TGNumberEntry* fContLevels Set number of contour levels
TGNumberEntry* fContLevels1 Set number of contour levels
TGNumberEntry* fBarWidth Set bar width of histogram
TGNumberEntry* fBarOffset Set bar offset of histogram
TGCompositeFrame* fBinXCont Contains the rebin widgets for case 1
TGHSlider* fBinXSlider Slider to set rebinning x integer value
TGNumberEntryField* fBinXNumberEntry Label which shows the rebinned bin number
TGHSlider* fBinYSlider Slider to set rebinning y integer value
TGNumberEntryField* fBinYNumberEntry Label which shows the rebinned bin number
TGTextButton* fApply Apply-Button to accept the rebinned histogram
TGTextButton* fCancel Cancel-Button to reprobate the rebinned histogram
TGCompositeFrame* fBinXCont1 Contains the X Rebin Widgets for case 2
TGHSlider* fBinXSlider1 Slider to set x rebinning integer value
TGNumberEntryField* fBinXNumberEntry1 Label which shows the rebinned x bin number
TGNumberEntryField* fXOffsetNumberEntry Shows the offset to the x origin of the histogram
TGHSlider* fXBinOffsetSld Add an x-offset to the origin of the histogram
TGCompositeFrame* fBinYCont1 Contains the Y Rebin Widgets for case 2
TGHSlider* fBinYSlider1 Slider to set y rebinning integer value
TGNumberEntryField* fBinYNumberEntry1 Label which shows the rebinned y bin number
TGNumberEntryField* fYOffsetNumberEntry Shows the offset to the y origin of the histogram
TGHSlider* fYBinOffsetSld Add an y-offset to the origin of the histogram
TGDoubleHSlider* fSliderX Slider to set x-axis range
TGNumberEntryField* fSldXMin Contains the minimum value of the x-Axis
TGNumberEntryField* fSldXMax Contains the maximum value of the x-Axis
TGDoubleHSlider* fSliderY Slider to set y-axis range
TGNumberEntryField* fSldYMin Contains the minimum value of the y-Axis
TGNumberEntryField* fSldYMax Contains the maximum value of the y-Axis
TGCheckButton* fDelaydraw Delayed drawing of the new axis range
TGColorSelect* fFrameColor Select the Frame Color
TGedPatternSelect* fFramePattern Select the Frame Pattern Style
TH2Editor
Editor for changing TH2 histogram attributes, rebinning & fitting.
For all possible draw options (there are a few which are not imple-
mentable in a graphical user interface) see THistPainter::Paint in
root/histpainter/THistPainter.cxx
/*
*/
/*
*/
These changes can be made via the TH2Editor:
Style Tab:
'Line' : change Line attributes (color, thickness)
see TAttLineEditor
'Fill' : change Fill attributes (color, pattern)
see TAttFillEditor
'Title' : TextEntry: set the title of the histogram
'Histogram': change the draw options of the histogram
'Plot' : Radiobutton: draw a 2D or 3D plot of the histogram
according to the Plot dimension there will be
different drawing possibilities (ComboBoxes/
CheckBoxes)
2d Plot:
'Contour' : ComboBox: draw a contour plot (None, Cont0..4)
'Cont #' : TGNumberEntry: set the number of Contours
2d Plot checkboxes:
'Arrow' : arrow mode. Shows gradient between adjacent cells
'Col' : a box is drawn for each cell with a color scale
varying with contents
'Text' : Draw bin contents as text
'Box' : a box is drawn for each cell with surface
proportional to contents
'Scat' : Draw a scatter-plot (default)
'Palette' : the color palette is drawn
3d Plot:
'Type' : ComboBox: set histogram type Lego or Surface-Plot
draw(Lego, Lego1.2, Surf, Surf1..5)
see THistPainter::Paint
'Coords' : ComboBox: set the coordinate system (Cartesian, ..
Spheric) see THistPainter::Paint
'Cont #' : TGNumberEntry: set the number of Contours (for e.g.
Lego2 drawoption
3d Plot checkboxes:
'Errors' : draw errors in a cartesian lego plot
'Palette' : the color palette is drawn
'Front' : draw the front box of a cartesian lego plot
'Back' : draw the back box of a cartesian lego plot
Available for a 3D lego plot:
'Bar' : change the bar attributes
'W' : change Bar Width
'O' : change Bar Offset
Further Editor:
'Marker' : change the Marker attributes (color, appearance,
thickness) see TAttMarkerEditor
/*
*/
/*
*/
Rebinning Tab:
This Tab has two different layouts. One is for a histogram which
is not drawn from an ntuple. The other one is available for a
histogram which is drawn from an ntuple. In this case the rebin
algorithm can create a rebinned histogram from the original data
i.e. the ntuple.
To see te differences do for example:
TFile f("hsimple.root");
hpxpy->Draw("Lego2"); // non ntuple histogram
ntuple->Draw("px:py","","Lego2"); // ntuple histogram
Non ntuple histogram:
'Rebin': with the Sliders (one for the x, one for the y axis)
the number of bins (shown in the field below the
Slider) can be changed to any number which divides
the number of bins of the original histogram.
Pushing 'Apply' will delete the origin histogram and
replace it by the rebinned one on the screen.
Pushing 'Ignore' the origin histogram will be restored
Histogram drawn from an ntuple:
'Rebin' with the sliders the number of bins can be enlarged by
a factor of 2,3,4,5 (moving to the right) or reduced
by a factor of 1/2, 1/3, 1/4, 1/5
'BinOffset': with the BinOffset slider the origin of the
histogram can be changed within one binwidth
Using this slider the effect of binning the data into
bins can be made visible => statistical fluctuations
'Axis Range': with the DoubleSlider it is possible to zoom into
the specified axis range. It is also possible to set
the upper and lower limit in fields below the slider
'Delayed drawing': all the Binning sliders can be set to delay
draw mode. Then the changes on the histogram are only
updated, when the Slider is released. This should be
activated if the redrawing of the histogram is too
time consuming.
TH2Editor(const TGWindow *p, Int_t id, Int_t width,
Int_t height, UInt_t options, Pixel_t back)
: TGedFrame(p, id, width, height, options | kVerticalFrame, back)
Constructor of histogram attribute GUI.
~TH2Editor()
Destructor of TH2 editor.
void ConnectSignals2Slots()
Connect signals to slots.
void SetModel(TVirtualPad* pad, TObject* obj, Int_t)
Pick up the used values of histogram attributes.
void DoTitle(const char *text)
Slot connected to the title of the histogram .
void DoHistSimple()
Slot connected to the 2D-Plot RadioButton
void DoHistComplex()
Slot connected to the 3D-Plot RadioButton
void DoHistChanges()
Slot connected to the histogram type, the coordinate system and the Contour ComboBox
void DoAddArr(Bool_t on)
Slot connected to the "Arrow Draw Option"-CheckButton
void DoAddBox(Bool_t on)
Slot connected to the "Box Draw Option"-CheckButton
void DoAddCol(Bool_t on)
Slot connected to the "Col Draw Option"-CheckButton
void DoAddScat(Bool_t on)
Slot connected to the "Scat Draw Option"-CheckButton
void DoAddText(Bool_t on)
Slot connected to the "Text Draw Option"-CheckButton
void DoAddError(Bool_t on)
Slot connected to the "Error"-CheckButton
void DoAddPalette(Bool_t on)
Slot connected to the Color Palette
void DoAddFB()
Slot connected to the "FB Front-Box Draw Option"-CheckButton
void DoAddBB()
Slot connected to the "BB Back-Box Draw Option"-CheckButton
void DoContLevel()
Slot connected to the Contour Level TGNumberEntry
void DoContLevel1()
Slot connected to the Contour Level TGNumberEntry
void DoBarWidth()
Slot connected to the Bar Width of the Bar Chart
void DoBarOffset()
Slot connected to the Bar Offset of the Bar Chart
void DoBinReleased()
Slot connected to the rebin slider in case of a not ntuple histogram
Updates some other widgets which are related to the rebin slider
void DoBinPressed()
Slot connected to the rebin slider in case of a not ntuple histogram
to avoid stupid things
void DoBinMoved()
Slot connected to the rebin sliders in case of a not ntuple histogram
does the Rebinning of the Histogram
void DoBinLabel()
Slot connected to the Bin Number Entry for the Rebin
void DoApply()
Slot connected to the Cancel Button in the Rebinned histogram Window
void DoCancel()
Slot connected to the Cancel Button in the Rebinned histogram Window
void DoBinReleased1()
Slot connected to the BinNumber Slider in case of a 'Ntuple histogram'
Does the Rebin
void DoBinMoved1()
Slot connected to the rebin slider in case of an ntuple histogram
Updates the BinNumberEntryField during the BinSlider movement
void DoBinLabel1()
Slot connected to the Bin Number Entry for the Rebin
void DoOffsetPressed()
Slot connected to the OffSetSlider
saves the OldBinOffset
nessesary for delay draw mode
void DoOffsetReleased()
Slot connected to the OffSetSlider
changes the origin of the histogram inbetween a binwidth
Rebin the histogram with the new Offset given by the Slider
problem: histogram with variable binwidth??
void DoOffsetMoved()
Slot connected to the OffSetSlider
changes the origin of the histogram inbetween a binwidth
Rebin the histogram with the new Offset given by the Slider
problem: histogram with variable binwidth??
void DoBinOffset()
Slot connected to the OffSetNumberEntry which is related to the OffSetSlider
changes the origin of the histogram inbetween a binwidth
void DoSliderXMoved()
Slot connected to the x-Slider
Redraws the Histogram with the new Slider Range
void DoSliderXPressed()
slot connected to the x axis range slider
initialises the "virtual" box which is drawn in delay draw mode
void DoSliderXReleased()
Slot connected to the x-axis Range slider
Finalizing the values from the Slider Movement
void DoXAxisRange()
Slot connected to the TextNumberEntryFields which contain the Max/Min value of the x-axis
void DoSliderYMoved()
Slot connected to the x-Slider
Redraws the Histogram with the new Slider Range (immediately)
void DoSliderYPressed()
slot connected to the y axis range slider
initialises the "virtual" box which is drawn in delay draw mode
void DoSliderYReleased()
Slot connected to the y-axis Range slider
Finalizing the values from the Slider Movement
void DoYAxisRange()
Slot connected to the TextNumberEntryFields which contain the Max/Min value of the y-axis
void DoFillColor(Pixel_t color)
Slot connected to the fill area color.
void DoFillPattern(Style_t pattern)
Slot connected to the fill area pattern.
TString GetHistTypeLabel()
Returns the immediate histogram type (HIST, LEGO1-2, SURF1-5)
TString GetHistCoordsLabel()
Returns the immediate coordinate system of the histogram (POL, CYL, SPH,PSR)
TString GetHistContLabel()
Returns histogram contour option (None,Cont0..5)
TString GetHistAdditiveLabel()
Returns histogram additive options (Arr,Box,Col,Scat,Col,Text,E,Z,FB,BB)
TGComboBox* BuildHistTypeComboBox(TGFrame* parent, Int_t id)
Create histogram type combo box.
TGComboBox* BuildHistCoordsComboBox(TGFrame* parent, Int_t id)
Create histogram coordinate system type combo box.
TGComboBox* BuildHistContComboBox(TGFrame* parent, Int_t id)
Create contour combo box.
void PaintBox3D(Float_t *p1, Float_t *p2,Float_t *p3, Float_t *p4)
Paints a square in 3D
Int_t* Dividers(Int_t n)
gives an array of the dividers of n (without the trivial divider n))
in the first entry the number of dividers is saved.
Inline Functions
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
TH2Editor TH2Editor(const TH2Editor&)
Author: Carsten Hof 09/08/04
Last update: root/ged:$Name: TH2Editor.cxx
Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.