Logo ROOT   6.16/01
Reference Guide
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
ROOT::Experimental::RAxisEquidistant Class Reference

Axis with equidistant bin borders.

Defined by lower l and upper u limit and the number of bins n. All bins have the same width (u-l)/n.

This axis cannot grow; use RAxisGrow for that.

Definition at line 403 of file RAxis.hxx.

Public Member Functions

 RAxisEquidistant ()=default
 
 RAxisEquidistant (int nbinsNoOver, double low, double high) noexcept
 Initialize a RAxisEquidistant. More...
 
 RAxisEquidistant (std::string_view title, int nbinsNoOver, double low, double high) noexcept
 Initialize a RAxisEquidistant. More...
 
int FindBin (double x) const noexcept
 Find the bin index for the given coordinate. More...
 
double GetBinCenter (int bin) const noexcept
 Get the bin center for the given bin index. More...
 
double GetBinFrom (int bin) const noexcept
 Get the low bin border for the given bin index. More...
 
int GetBinIndexForLowEdge (double x) const noexcept
 If the coordinate x is a bin low edge (within 1E-6 of the coordinate), return the bin for which this is a low edge. More...
 
double GetBinTo (int bin) const noexcept
 Get the high bin border for the given bin index. More...
 
double GetBinWidth () const noexcept
 Get the width of the bins. More...
 
double GetInverseBinWidth () const noexcept
 Get the inverse of the width of the bins. More...
 
double GetMaximum () const noexcept
 Get the high end of the axis range. More...
 
double GetMinimum () const noexcept
 Get the low end of the axis range. More...
 
 operator RAxisConfig () const
 Convert to RAxisConfig. More...
 
- Public Member Functions inherited from ROOT::Experimental::RAxisBase
 RAxisBase (int nbinsNoOver, bool canGrow) noexcept
 Construct a RAxisBase. More...
 
 RAxisBase (std::string_view title, int nbinsNoOver, bool canGrow) noexcept
 Construct a RAxisBase. More...
 
int GetNBins () const noexcept
 Get the number of bins, including under- and overflow. More...
 
int GetNBinsNoOver () const noexcept
 Get the number of bins, excluding under- and overflow. More...
 
int GetNOverflowBins () const noexcept
 Get the number of over- and underflow bins: 0 for growable axes, 2 otherwise. More...
 
int GetOverflowBin () const noexcept
 Get the bin index for the underflow bin (or the next bin outside range if CanGrow()). More...
 
const std::string & GetTitle () const
 
int GetUnderflowBin () const noexcept
 Get the bin index for the underflow bin. More...
 
bool IsOverflowBin (int bin) const noexcept
 Whether the bin index is referencing a bin higher than the axis range. More...
 
bool IsUnderflowBin (int bin) const noexcept
 Whether the bin index is referencing a bin lower than the axis range. More...
 
const_iterator begin () const noexcept
 Get a const_iterator pointing to the first non-underflow bin. More...
 
const_iterator begin_with_underflow () const noexcept
 Get a const_iterator pointing the underflow bin. More...
 
const_iterator end () const noexcept
 Get a const_iterator pointing right beyond the last non-overflow bin (i.e. More...
 
const_iterator end_with_overflow () const noexcept
 Get a const_iterator pointing right beyond the overflow bin. More...
 

Static Public Member Functions

static bool CanGrow () noexcept
 This axis cannot grow. More...
 

Protected Member Functions

 RAxisEquidistant (int nbinsNoOver, double low, double high, bool canGrow) noexcept
 Initialize a RAxisEquidistant. More...
 
 RAxisEquidistant (std::string_view title, int nbinsNoOver, double low, double high, bool canGrow) noexcept
 Initialize a RAxisEquidistant. More...
 
- Protected Member Functions inherited from ROOT::Experimental::RAxisBase
 RAxisBase ()=default
 Default construct a RAxisBase (for use by derived classes for I/O) More...
 
int AdjustOverflowBinNumber (double rawbin) const
 Given rawbin (<0 for underflow, >= GetNBinsNoOver() for overflow), determine the actual bin number taking into account how over/underflow should be handled. More...
 
 RAxisBase (const RAxisBase &)=default
 
 RAxisBase (RAxisBase &&)=default
 
RAxisBaseoperator= (const RAxisBase &)=default
 
RAxisBaseoperator= (RAxisBase &&)=default
 

Static Protected Member Functions

static double GetInvBinWidth (int nbinsNoOver, double lowOrHigh, double highOrLow)
 Determine the inverse bin width. More...
 

Protected Attributes

double fInvBinWidth = 0.
 The inverse of the bin width. More...
 
double fLow = 0.
 The lower limit of the axis. More...
 

Additional Inherited Members

- Public Types inherited from ROOT::Experimental::RAxisBase
enum class  EFindStatus { kCanGrow , kValid }
 Status of FindBin(x) More...
 
- Static Public Attributes inherited from ROOT::Experimental::RAxisBase
constexpr static const int kIgnoreBin = -1
 FindBin() returns this bin to signal that the bin number is invalid. More...
 
constexpr static const int kNOverflowBins [4] = {0, 1, 1, 2}
 Extra bins for each EAxisOverflow value. More...
 

#include <ROOT/RAxis.hxx>

Inheritance diagram for ROOT::Experimental::RAxisEquidistant:
[legend]

Constructor & Destructor Documentation

◆ RAxisEquidistant() [1/5]

ROOT::Experimental::RAxisEquidistant::RAxisEquidistant ( std::string_view  title,
int  nbinsNoOver,
double  low,
double  high,
bool  canGrow 
)
inlineexplicitprotectednoexcept

Initialize a RAxisEquidistant.

Parameters
[in]title- axis title used for graphics and text representation.
nbins- number of bins in the axis, excluding under- and overflow bins.
low- the low axis range. Any coordinate below that is considered as underflow. The first bin's lower edge is at this value.
high- the high axis range. Any coordinate above that is considered as overflow. The last bin's higher edge is at this value.

Definition at line 425 of file RAxis.hxx.

◆ RAxisEquidistant() [2/5]

ROOT::Experimental::RAxisEquidistant::RAxisEquidistant ( int  nbinsNoOver,
double  low,
double  high,
bool  canGrow 
)
inlineexplicitprotectednoexcept

Initialize a RAxisEquidistant.

Parameters
nbins- number of bins in the axis, excluding under- and overflow bins.
low- the low axis range. Any coordinate below that is considered as underflow. The first bin's lower edge is at this value.
high- the high axis range. Any coordinate above that is considered as overflow. The last bin's higher edge is at this value.

Definition at line 436 of file RAxis.hxx.

◆ RAxisEquidistant() [3/5]

ROOT::Experimental::RAxisEquidistant::RAxisEquidistant ( )
default

◆ RAxisEquidistant() [4/5]

ROOT::Experimental::RAxisEquidistant::RAxisEquidistant ( int  nbinsNoOver,
double  low,
double  high 
)
inlineexplicitnoexcept

Initialize a RAxisEquidistant.

Parameters
nbins- number of bins in the axis, excluding under- and overflow bins.
low- the low axis range. Any coordinate below that is considered as underflow. The first bin's lower edge is at this value.
high- the high axis range. Any coordinate above that is considered as overflow. The last bin's higher edge is at this value.
canGrow- whether this axis can extend its range.

Definition at line 451 of file RAxis.hxx.

◆ RAxisEquidistant() [5/5]

ROOT::Experimental::RAxisEquidistant::RAxisEquidistant ( std::string_view  title,
int  nbinsNoOver,
double  low,
double  high 
)
inlineexplicitnoexcept

Initialize a RAxisEquidistant.

Parameters
[in]title- axis title used for graphics and text representation.
nbins- number of bins in the axis, excluding under- and overflow bins.
low- the low axis range. Any coordinate below that is considered as underflow. The first bin's lower edge is at this value.
high- the high axis range. Any coordinate above that is considered as overflow. The last bin's higher edge is at this value.

Definition at line 463 of file RAxis.hxx.

Member Function Documentation

◆ CanGrow()

static bool ROOT::Experimental::RAxisEquidistant::CanGrow ( )
inlinestaticnoexcept

This axis cannot grow.

Definition at line 480 of file RAxis.hxx.

◆ FindBin()

int ROOT::Experimental::RAxisEquidistant::FindBin ( double  x) const
inlinenoexcept

Find the bin index for the given coordinate.

Note
Passing a bin border coordinate can either return the bin above or below the bin border. I.e. don't do that for reliable results!

Definition at line 473 of file RAxis.hxx.

◆ GetBinCenter()

double ROOT::Experimental::RAxisEquidistant::GetBinCenter ( int  bin) const
inlinenoexcept

Get the bin center for the given bin index.

For the bin == 1 (the first bin) of 2 bins for an axis (0., 1.), this returns 0.25.

Definition at line 497 of file RAxis.hxx.

◆ GetBinFrom()

double ROOT::Experimental::RAxisEquidistant::GetBinFrom ( int  bin) const
inlinenoexcept

Get the low bin border for the given bin index.

For the bin == 1 (the first bin) of 2 bins for an axis (0., 1.), this returns 0.

Definition at line 502 of file RAxis.hxx.

◆ GetBinIndexForLowEdge()

int ROOT::Experimental::RAxisEquidistant::GetBinIndexForLowEdge ( double  x) const
noexcept

If the coordinate x is a bin low edge (within 1E-6 of the coordinate), return the bin for which this is a low edge.

If it's not a bin edge, return -1.

Definition at line 25 of file RAxis.cxx.

◆ GetBinTo()

double ROOT::Experimental::RAxisEquidistant::GetBinTo ( int  bin) const
inlinenoexcept

Get the high bin border for the given bin index.

For the bin == 1 (the first bin) of 2 bins for an axis (0., 1.), this returns 0.5.

Definition at line 507 of file RAxis.hxx.

◆ GetBinWidth()

double ROOT::Experimental::RAxisEquidistant::GetBinWidth ( ) const
inlinenoexcept

Get the width of the bins.

Definition at line 489 of file RAxis.hxx.

◆ GetInvBinWidth()

static double ROOT::Experimental::RAxisEquidistant::GetInvBinWidth ( int  nbinsNoOver,
double  lowOrHigh,
double  highOrLow 
)
inlinestaticprotected

Determine the inverse bin width.

Parameters
nbinsNoOver- number of bins without unter-/overflow
lowOrHigh- first axis boundary
lighOrLow- second axis boundary

Definition at line 412 of file RAxis.hxx.

◆ GetInverseBinWidth()

double ROOT::Experimental::RAxisEquidistant::GetInverseBinWidth ( ) const
inlinenoexcept

Get the inverse of the width of the bins.

Definition at line 492 of file RAxis.hxx.

◆ GetMaximum()

double ROOT::Experimental::RAxisEquidistant::GetMaximum ( ) const
inlinenoexcept

Get the high end of the axis range.

Definition at line 486 of file RAxis.hxx.

◆ GetMinimum()

double ROOT::Experimental::RAxisEquidistant::GetMinimum ( ) const
inlinenoexcept

Get the low end of the axis range.

Definition at line 483 of file RAxis.hxx.

◆ operator RAxisConfig()

ROOT::Experimental::RAxisEquidistant::operator RAxisConfig ( ) const
inline

Convert to RAxisConfig.

Definition at line 468 of file RAxis.hxx.

Member Data Documentation

◆ fInvBinWidth

double ROOT::Experimental::RAxisEquidistant::fInvBinWidth = 0.
protected

The inverse of the bin width.

Definition at line 406 of file RAxis.hxx.

◆ fLow

double ROOT::Experimental::RAxisEquidistant::fLow = 0.
protected

The lower limit of the axis.

Definition at line 405 of file RAxis.hxx.

Libraries for ROOT::Experimental::RAxisEquidistant:
[legend]

The documentation for this class was generated from the following files: