library: libGed
#include "TH2Editor.h"

TH2Editor


class description - source file - inheritance tree (.pdf)

class TH2Editor : public TGedFrame

Inheritance Chart:
TObject
<-
TGObject
<-
TGWindow
TQObject
<-
TGFrame
<-
TGCompositeFrame
TGWidget
<-
TGedFrame
<-
TH2Editor
    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)

Data Members

    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

Class Description

                                                                      
  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.