library: libHist #include "THLimitsFinder.h" |
THLimitsFinder
class description - source file - inheritance tree (.pdf)
public:
THLimitsFinder()
THLimitsFinder(const THLimitsFinder&)
virtual ~THLimitsFinder()
static TClass* Class()
virtual Int_t FindGoodLimits(TH1* h, Double_t xmin, Double_t xmax)
virtual Int_t FindGoodLimits(TH1* h, Double_t xmin, Double_t xmax, Double_t ymin, Double_t ymax)
virtual Int_t FindGoodLimits(TH1* h, Double_t xmin, Double_t xmax, Double_t ymin, Double_t ymax, Double_t zmin, Double_t zmax)
static THLimitsFinder* GetLimitsFinder()
virtual TClass* IsA() const
THLimitsFinder& operator=(const THLimitsFinder&)
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, Double_t& xmin, Double_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)
protected:
static THLimitsFinder* fgLimitsFinder !Pointer to hist limits finder
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, Double_t xmin, Double_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, Double_t xmin, Double_t xmax, Double_t ymin, Double_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, Double_t xmin, Double_t xmax, Double_t ymin, Double_t ymax, Double_t zmin, Double_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, Double_t &xmin, Double_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, Double_t xmin, Double_t xmax, Double_t ymin, Double_t ymax)
Int_t FindGoodLimits(TH1* h, Double_t xmin, Double_t xmax, Double_t ymin, Double_t ymax, Double_t zmin, Double_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&)
THLimitsFinder& operator=(const THLimitsFinder&)
Author: Rene Brun 14/01/2002
Last update: root/hist:$Name: $:$Id: THLimitsFinder.cxx,v 1.10 2005/12/04 10:51:27 brun Exp $
Copyright (C) 1995-2000, 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.