THLimitsFinder


class description - source file - inheritance tree

class THLimitsFinder : public TObject


    public:
THLimitsFinder THLimitsFinder() THLimitsFinder THLimitsFinder(const THLimitsFinder&) virtual void ~THLimitsFinder() static TClass* Class() virtual Int_t FindGoodLimits(TH1* h, Axis_t xmin, Axis_t xmax) virtual Int_t FindGoodLimits(TH1* h, Axis_t xmin, Axis_t xmax, Axis_t ymin, Axis_t ymax) virtual Int_t FindGoodLimits(TH1* h, Axis_t xmin, Axis_t xmax, Axis_t ymin, Axis_t ymax, Axis_t zmin, Axis_t zmax) static THLimitsFinder* GetLimitsFinder() virtual TClass* IsA() const static void Optimize(Double_t A1, Double_t A2, Int_t nold, Double_t& BinLow, Double_t& BinHigh, Int_t& nbins, Double_t& BWID, Option_t* option) static void OptimizeLimits(Int_t nbins, Int_t& newbins, Axis_t& xmin, Axis_t& xmax, Bool_t isInteger) static void SetLimitsFinder(THLimitsFinder* finder) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
static THLimitsFinder* fgLimitsFinder !Pointer to hist limits finder


See also

TProofLimitsFinder

Class Description

                                                                      
 THLimitsFinder                                                       
                                                                      
 Class to compute nice axis limits.

 This class is called by default by the histograming system
 and also by TTree::Draw, TTreePlayer::DrawSelect.

 A different finder may be specified via THLimitsFinder::SetFinder.



THLimitsFinder()

~THLimitsFinder()

Int_t FindGoodLimits(TH1 *h, Axis_t xmin, Axis_t xmax)
 compute the best axis limits for the X axis.
 If the bit kIsInteger is set, the number of channels is also recomputed.
 The axis parameters are replaced by the optimized parameters
 example:
  With the input parameters xmin=-1.467 and xmax=2.344, the function
  will compute better limits -1.8 and 2.7 and store them in the axis.

OptimizeLimits(xaxis->GetNbins(), newbins,xmin,xmax, xaxis->TestBit(TAxis::kIsInteger)); h->SetBins(newbins,xmin,xmax); return 0; } //______________________________________________________________________________ Int_t THLimitsFinder::FindGoodLimits(TH1 *h, Axis_t xmin, Axis_t xmax, Axis_t ymin, Axis_t ymax)
 compute the best axis limits for the X and Y axis.
 If the bit kIsInteger is set, the number of channels is also recomputed.
 The axis parameters are replaced by the optimized parameters

OptimizeLimits(xaxis->GetNbins(), newbinsx,xmin,xmax, xaxis->TestBit(TAxis::kIsInteger)); THLimitsFinder::OptimizeLimits(yaxis->GetNbins(), newbinsy,ymin,ymax, yaxis->TestBit(TAxis::kIsInteger)); h->SetBins(newbinsx,xmin,xmax,newbinsy,ymin,ymax); return 0; } //______________________________________________________________________________ Int_t THLimitsFinder::FindGoodLimits(TH1 *h, Axis_t xmin, Axis_t xmax, Axis_t ymin, Axis_t ymax, Axis_t zmin, Axis_t zmax)
 compute the best axis limits for the X, Y and Z axis.
 If the bit kIsInteger is set, the number of channels is also recomputed.
 The axis parameters are replaced by the optimized parameters

OptimizeLimits(xaxis->GetNbins(), newbinsx,xmin,xmax, xaxis->TestBit(TAxis::kIsInteger)); THLimitsFinder::OptimizeLimits(yaxis->GetNbins(), newbinsy,ymin,ymax, yaxis->TestBit(TAxis::kIsInteger)); THLimitsFinder::OptimizeLimits(zaxis->GetNbins(), newbinsz,zmin,zmax, zaxis->TestBit(TAxis::kIsInteger)); h->SetBins(newbinsx,xmin,xmax,newbinsy,ymin,ymax,newbinsz,zmin,zmax); return 0; } //______________________________________________________________________________ THLimitsFinder *THLimitsFinder::GetLimitsFinder()
 Return pointer to the current finder.
 Create one if none exists
 Use SetLimitsFinder to set a user defined finder.

void SetLimitsFinder(THLimitsFinder *finder)
 This static function can be used to specify a finder derived from THLimitsFinder.
 The finder may redefine the functions FindGoodLimits.
 Note that the redefined functions may call THLimitsFinder::FindGoodLimits.

void Optimize(Double_t A1, Double_t A2, Int_t nold ,Double_t &BinLow, Double_t &BinHigh, Int_t &nbins, Double_t &BinWidth, Option_t *option)
 static function to compute reasonable axis limits

 Input parameters:

  A1,A2 : Old WMIN,WMAX .
  BinLow,BinHigh : New WMIN,WMAX .
  nold   : Old NDIV .
  nbins    : New NDIV .

void OptimizeLimits(Int_t nbins, Int_t &newbins, Axis_t &xmin, Axis_t &xmax, Bool_t isInteger)
 Optimize axis limits.
 When isInter=kTRUE, the function makes an integer binwidth
 and recompute the number of bins accordingly.



Inline Functions


                  Int_t FindGoodLimits(TH1* h, Axis_t xmin, Axis_t xmax, Axis_t ymin, Axis_t ymax)
                  Int_t FindGoodLimits(TH1* h, Axis_t xmin, Axis_t xmax, Axis_t ymin, Axis_t ymax, Axis_t zmin, Axis_t zmax)
        THLimitsFinder* GetLimitsFinder()
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
                   void StreamerNVirtual(TBuffer& b)
         THLimitsFinder THLimitsFinder(const THLimitsFinder&)


Author: Rene Brun 14/01/2002
Last update: root/hist:$Name: $:$Id: THLimitsFinder.cxx,v 1.5 2002/12/06 11:12:30 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - 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.