library: libGed
#include "TH1Editor.h"

TH1Editor


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

class TH1Editor : public TGedFrame

Inheritance Chart:
TObject
<-
TGObject
<-
TGWindow
TQObject
<-
TGFrame
<-
TGCompositeFrame
TGWidget
<-
TGedFrame
<-
TH1Editor
    private:
void ChangeErrorCombo(Int_t i) void CreateBinTab() TString GetHistAddLabel() TString GetHistCoordsLabel() TString GetHistErrorLabel() TString GetHistTypeLabel() protected:
static TGComboBox* BuildHistAddComboBox(TGFrame* parent, Int_t id) static TGComboBox* BuildHistCoordsComboBox(TGFrame* parent, Int_t id) static TGComboBox* BuildHistErrorComboBox(TGFrame* parent, Int_t id) static TGComboBox* BuildHistTypeComboBox(TGFrame* parent, Int_t id) static TGComboBox* BuildPercentComboBox(TGFrame* parent, Int_t id) virtual void ConnectSignals2Slots() public:
TH1Editor(const TGWindow* p, Int_t id, Int_t width = 140, Int_t height = 30, UInt_t options = kChildFrame, Pixel_t back = GetDefaultFrameBackground()) TH1Editor(const TH1Editor&) virtual ~TH1Editor() static TClass* Class() Int_t* Dividers(Int_t n) virtual void DoAddB(Bool_t) virtual void DoAddBar(Bool_t) virtual void DoAddMarker(Bool_t on) virtual void DoAddSimple(Bool_t on) virtual void DoApply() virtual void DoAxisRange() virtual void DoBarOffset() virtual void DoBarWidth() virtual void DoBinLabel() virtual void DoBinLabel1() virtual void DoBinMoved(Int_t number) virtual void DoBinMoved1() virtual void DoBinOffset() virtual void DoBinPressed() virtual void DoBinReleased() virtual void DoBinReleased1() virtual void DoCancel() virtual void DoHBar(Bool_t on) virtual void DoHistChanges() virtual void DoHistComplex() virtual void DoHistSimple() virtual void DoOffsetMoved(Int_t num) virtual void DoOffsetPressed() virtual void DoOffsetReleased() virtual void DoPercent() virtual void DoSliderMoved() virtual void DoSliderPressed() virtual void DoSliderReleased() virtual void DoTitle(const char* text) virtual TClass* IsA() const virtual void PaintBox3D(Float_t* p1, Float_t* p2, Float_t* p3, Float_t* p4) 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:
Bool_t fMake Veto Variable Bool_t fMakeB avoid execution of Bar Slots Int_t fPx1old Int_t fPy1old Int_t fPx2old Int_t fPy2old Float_t fP1NDCold[3] Float_t fP2NDCold[3] Float_t fP3NDCold[3] Float_t fP4NDCold[3] Float_t fP1old[3] Float_t fP2old[3] Float_t fP3old[3] Float_t fP4old[3] Float_t fP5old[3] Float_t fP6old[3] Float_t fP7old[3] Float_t fP8old[3] TH1* fBinHist Cloned histogram for rebin Double_t fOldOffset save the old offset of the histogram protected:
TH1* fHist histogram object Bool_t fSameOpt flag for option "same" TGTab* fTab Pointer to the Tab Parent TGCompositeFrame* fBin Contains the Binning Widgets TGCompositeFrame* fBinContainer Container for fBin Int_t fTitlePrec font precision level TGTextEntry* fTitle histogram title input field TGHButtonGroup* fDimGroup Radiobuttongroup to change 2D <-> 3D-Plot TGRadioButton* fDim 2D-Plot RadioButton TGRadioButton* fDim0 3D-Plot RadioButton TGComboBox* fTypeCombo histogram type combo box TGComboBox* fCoordsCombo Coordinate System combo box TGComboBox* fErrorCombo Error combo box TGCheckButton* fHistOnOff Draw a simple histogram with default options TGCheckButton* fAddMarker Draw a Marker on top of each bin TGCheckButton* fAddB Draw a Bar Chart TGCheckButton* fAddBar Bar Option TGCheckButton* fAdd Activate more Options TGCheckButton* fMakeHBar Draw Horizontal Bar Chart TGCheckButton* fAddSimple Draw a simple histogram (==HIST draw option) TGNumberEntry* fBarWidth Change the Bar Width TGNumberEntry* fBarOffset Change the Bar Offset TGComboBox* fAddCombo Add Lines, Bars, Fill TGComboBox* fPercentCombo Percentage of the Bar which is drawn in a different color TGCompositeFrame* f3 Contains Histogram Type TGCompositeFrame* f4 Contains Histogram Coordinate Type TGCompositeFrame* f6 Contains the Add-ComboBox (Style) TGCompositeFrame* f7 Contains the Marker OnOff CheckBox TGCompositeFrame* f8 Contains the Bar Chart CheckBox TGCompositeFrame* f9 Contains the Bar Option CheckBox TGCompositeFrame* f10 Contains the Bar Option Title TGCompositeFrame* f11 Contains the Bar Width/Offset NumberEntries TGCompositeFrame* f12 Contains fPercentCombo, fMakeHBar TGCompositeFrame* f15 Contains outer line CheckBox TGCompositeFrame* fBinCont Contains the Rebin Widgets for case 1 TGCompositeFrame* fBinCont1 Contains the Rebin Widgets for case 2 TGHSlider* fBinSlider Slider to set rebinning integer value TGHSlider* fBinSlider1 Slider to set rebinning integer value for ntuple histogram TGNumberEntryField* fBinNumberEntry Label which shows the rebinned bin number TGNumberEntryField* fBinNumberEntry1 Label which shows the rebinned bin number for ntuple histogram TGHSlider* fBinOffsetSld Add an offset to the origin of the histogram TGNumberEntryField* fOffsetNumberEntry Shows the offset to the origin of the histogram TGDoubleHSlider* fSlider Slider to set x-axis range TGNumberEntryField* fSldMin Contains the minimum value of the x-Axis TGNumberEntryField* fSldMax Contains the maximum value of the x-Axis TGCheckButton* fDelaydraw Delayed drawing of the new axis range TGTextButton* fApply Apply-Button to accept the rebinned histogram TGTextButton* fCancel Cancel-Button to reprobate the rebinned histogram TGLabel* fNameLabel selected object name on the Binning tab

Class Description

                                                                      
  TH1Editor                                                           
  Editor for changing TH1 histogram attributes, rebinning & fitting.  
  For all possible draw options (there are a few which are not imple- 
  mentable in graphical user interface) see THistPainter::Paint in    
  root/histpainter/THistPainter.cxx                                   

/* */


/*

*/


  These changes can be made via the TH1Editor:                        
    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:                                                          
      'Error'   : ComboBox: add different error bars to the histogram 
                  (no errors, simple, ...,  see THistPainter::Paint   
      'Add'     : ComboBox: further things which can be added to the  
                  histogram (None, simple/smooth line, fill area      
      'Simple Drawing': CheckBox: draw a simple histogram without     
                  errors (= "HIST" drawoption). In combination with   
                  some other draw options an outer line is drawn on   
                  top of the histogram                                
      'Show markers': CheckBox: draw a marker on to of each bin (="P" 
                  drawoption)                                         
      'Draw bar chart': CheckBox: draw a bar chart (="B" drawoption)  
                  change the Fill Color with Fill in the Style Tab    
                  => will show Bar menue in the Style Tab             
      'Bar option': CheckBox: draw a bar chart (="BAR" drawoption)    
                  => will show Bar menue in the Style Tab             
    3d Plot:                                                          
      'Type'    : ComboBox: set histogram type Lego-Plot or Surface   
                  draw(Lego, Lego1.2, Surf, Surf1..5)                 
                  see THistPainter::Paint                             
      'Coords'  : ComboBox: set the coordinate system (Cartesian, ..  
                  Spheric) see THistPainter::Paint                    
      'Error'   : see 2D plot                                         
      'Bar'     : change the bar attributes                           
            'W' : change Bar Width                                    
            'O' : change Bar Offset                                   
      'Percentage': specifies the percentage of the bar which is drawn
                    brighter and darker (10% == BAR1 drawoption)      
      'Horizontal Bar': draw a horizontal bar chart                   
                                                                      
      'Marker'   : change the Marker attributes (color, appearance,   
                   thickness) see TAttMarkerEditor                    
/* */
      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:                                       
         TFile f("hsimple.root");                                     
         hpx->Draw("BAR1");        // non ntuple histogram            
         ntuple->Draw("px");       // ntuple histogram                
    Non ntuple histogram:                                             
       'Rebin': with the Slider 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 slider 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 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.                                       


/* */


/*

*/


TH1Editor(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.

~TH1Editor()
 Destructor of TH1 editor.

void ConnectSignals2Slots()
 Connect signals to slots.

void SetModel(TVirtualPad* pad, TObject* obj, Int_t)
 Pick up current values of histogram attributes.

void DoTitle(const char *text)
 Slot connected to the histogram title setting.

void DoAddMarker(Bool_t on)
 Slot connected to the show markers check box.

void DoAddB(Bool_t on)
 Slot connected to the bar Add check box.

void DoAddBar(Bool_t on)
 Slot connected to the bar Add check box.

void DoAddSimple(Bool_t on)
 Slot connected to fAddSimple check box for drawing a simple histogram
 without errors (== HIST draw option) in combination with some other
 draw options. It draws an additional line on the top of the bins.

void DoHistSimple()
 Slot connected to the 2D radio button.

void DoHistComplex()
 Slot connected to the 3D radio button.

void DoHistChanges()
 Slot connected to the histogram type, the coordinate type, the error type
 and the Add combo box.

void DoBarWidth()
 Slot connected to the Bar Width of the Bar Charts.

void DoBarOffset()
 Slot connected to the Bar Offset of the Bar Charts.

void DoPercent()
 Slot connected to the bar percentage settings.

void DoHBar(Bool_t on)
 Slot connected to the Horizontal Bar check button.

void DoSliderMoved()
 Slot connected to the x-Slider for redrawing of the histogram
 according to the new Slider range.

void DoSliderPressed()
 Slot connected to the x-axis Range slider for initialising the
 values of the slider movement.

void DoSliderReleased()
 Slot connected to the x-axis Range slider for finalizing the
 values of the slider movement.

void DoAxisRange()
 Slot connected to the number entry fields containing the Max/Min
 value of the x-axis.

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 DoBinMoved(Int_t numx)
 Slot connected to the rebin slider in case of a not ntuple histogram
 (does the Rebinning of the histogram).

void DoBinPressed()
 Slot connected to the rebin slider in case of a not ntuple histogram.

void DoBinReleased1()
 Slot connected to the BinNumber Slider in case of a ntuple histogram
 (does the Rebinning of the histogram).

void DoBinMoved1()
 Slot connected to the rebin slider in case of an ntuple histogram.
 It updates the BinNumberEntryField during the BinSlider movement.

void DoBinLabel()
 Slot connected to the Bin number entry of the Rebinning tab.

void DoBinLabel1()
 Slot connected to the Bin number entry of the Rebinning tab.

void DoOffsetPressed()
 Slot connected to the OffSetSlider that saves the OldBinOffset
 (nessesary for delay draw mode).

void DoOffsetReleased()
 Slot connected to the OffSetSlider.
 It changes the origin of the histogram inbetween a binwidth and
 rebin the histogram with the new Offset given by the Slider.

void DoOffsetMoved(Int_t num)
 Slot connected to the OffSetSlider.
 It changes the origin of the histogram inbetween a binwidth and
 rebin the histogram with the new offset given by the Slider.

void DoBinOffset()
 Slot connected to the OffSetNumberEntry which is related to the
 OffSetSlider changes the origin of the histogram inbetween a binwidth.

void DoApply()
 Slot connected to the Apply button of the Binning tab.

void DoCancel()
 Slot connected to the Cancel button of the Binning tab.

TString GetHistTypeLabel()
 Returns the selected histogram type (HIST, LEGO1-2, SURF1-5).

TString GetHistCoordsLabel()
 Return the selected coordinate system of the histogram (POL,CYL,SPH,PSR).

TString GetHistErrorLabel()
 Return the selected error type (E,E1-5).

TString GetHistAddLabel()
 Return the selected shape of the histogram (C, L, LF2).

TGComboBox* BuildHistTypeComboBox(TGFrame* parent, Int_t id)
 Create histogram type combo box.

TGComboBox* BuildHistCoordsComboBox(TGFrame* parent, Int_t id)
 Create coordinate system type combo box.

TGComboBox* BuildHistErrorComboBox(TGFrame* parent, Int_t id)
 Create error type combo box.

TGComboBox* BuildHistAddComboBox(TGFrame* parent, Int_t id)
 Create Line/Bar combo box.

TGComboBox* BuildPercentComboBox(TGFrame* parent, Int_t id)
 Create Percentage combo box for bar option.

void ChangeErrorCombo(Int_t i)
 Change the error combo box entry.

void PaintBox3D(Float_t *p1, Float_t *p2,Float_t *p3, Float_t *p4)
 Paint a 3D box.

Int_t* Dividers(Int_t n)
 Return an array of dividers of n (without the trivial divider n).
 The number of dividers is saved in the first entry.

void CreateBinTab()
 Create the Binning tab.



Inline Functions


            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)
          TH1Editor TH1Editor(const TH1Editor&)


Author: Carsten Hof 16/08/04
Last update: root/ged:$Name: TH1Editor.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.