An axis with non-equidistant bins (also known as "variable binning").
It is defined by an array of bin borders - one more than the number of (non-overflow-) bins it has! As an example, an axis with two bin needs three bin borders:
This axis cannot grow; the size of new bins would not be well defined.
Public Member Functions | |
| RAxisIrregular ()=default | |
| RAxisIrregular (const std::vector< double > &binborders) | |
| Construct a RAxisIrregular from a vector of bin borders. | |
| RAxisIrregular (std::string_view title, const std::vector< double > &binborders) | |
| Construct a RAxisIrregular from a vector of bin borders. | |
| RAxisIrregular (std::string_view title, std::vector< double > &&binborders) noexcept | |
| Construct a RAxisIrregular from a vector of bin borders. | |
| RAxisIrregular (std::vector< double > &&binborders) noexcept | |
| Construct a RAxisIrregular from a vector of bin borders. | |
| bool | CanGrow () const noexcept final |
| This axis cannot be extended. | |
| int | FindBin (double x) const noexcept final |
Find the bin index (adjusted with under- and overflow) for the given coordinate x. | |
| const std::vector< double > & | GetBinBorders () const noexcept |
| Access to the bin borders used by this axis. | |
| double | GetBinCenter (int bin) const final |
| Get the bin center of the bin with the given index. | |
| double | GetBinFrom (int bin) const final |
| Get the lower bin border for a given bin index. | |
| int | GetBinIndexForLowEdge (double x) const noexcept final |
If the coordinate x is within 10 ULPs of a bin low edge coordinate, return the bin for which this is a low edge. | |
| int | GetNBinsNoOver () const noexcept final |
| Get the number of bins, excluding under- and overflow. | |
| operator RAxisConfig () const | |
| Convert to RAxisConfig. | |
Public Member Functions inherited from ROOT::Experimental::RAxisBase | |
| double | GetBinTo (int bin) const |
| Get the high bin border ("right edge") for the given bin index. | |
| int | GetFirstBin () const noexcept |
| Get the bin index for the first bin of the axis. | |
| int | GetLastBin () const noexcept |
| Get the bin index for the last bin of the axis. | |
| double | GetMaximum () const |
| Get the high end of the axis range. | |
| double | GetMinimum () const |
| Get the low end of the axis range. | |
| int | GetNBins () const noexcept |
| Get the number of bins, including under- and overflow. | |
| int | GetNOverflowBins () const noexcept |
| Get the number of over- and underflow bins: 0 for growable axes, 2 otherwise. | |
| int | GetOverflowBin () const noexcept |
Get the bin index for the overflow bin (or kInvalidBin if CanGrow()). | |
| const std::string & | GetTitle () const |
| Get the axis's title. | |
| int | GetUnderflowBin () const noexcept |
Get the bin index for the underflow bin (or kInvalidBin if CanGrow()). | |
| bool | HasSameBinningAs (const RAxisBase &other) const |
| Check if two axes use the same binning convention, i.e. | |
| const_iterator | begin () const noexcept |
| Get a const_iterator pointing to the first regular bin. | |
| const_iterator | end () const noexcept |
| Get a const_iterator pointing beyond the last regular bin. | |
Protected Member Functions | |
| double | FindBinRaw (double x) const noexcept |
Find the raw bin index (not adjusted) for the given coordinate x. | |
| bool | HasSameBinBordersAs (const RAxisBase &other) const override |
| See RAxisBase::HasSameBinBordersAs. | |
Protected Member Functions inherited from ROOT::Experimental::RAxisBase | |
| RAxisBase () noexcept(noexcept(std::string()))=default | |
| Default construct a RAxisBase (for use by derived classes for I/O) | |
| RAxisBase (std::string_view title) noexcept | |
| Construct a RAxisBase. | |
| virtual | ~RAxisBase () |
| Virtual destructor needed in this inheritance-based design. | |
| int | AdjustOverflowBinNumber (double rawbin) const |
Given rawbin (<0 for underflow, >=GetNBinsNoOver() for overflow), determine the bin number taking into account how over/underflow should be handled. | |
| RAxisBase (const RAxisBase &)=default | |
| RAxisBase (RAxisBase &&)=default | |
| RAxisBase & | operator= (const RAxisBase &)=default |
| RAxisBase & | operator= (RAxisBase &&)=default |
Private Attributes | |
| std::vector< double > | fBinBorders |
| Bin borders, one more than the number of regular bins. | |
Additional Inherited Members | |
Static Public Attributes inherited from ROOT::Experimental::RAxisBase | |
| static constexpr const int | kInvalidBin = 0 |
| Special bin index returned to signify that no bin matches a request. | |
| static constexpr const int | kOverflowBin = -2 |
| Index of the overflow bin, if any. | |
| static constexpr const int | kUnderflowBin = -1 |
| Index of the underflow bin, if any. | |
#include <ROOT/RAxis.hxx>
|
default |
|
inlineexplicit |
Construct a RAxisIrregular from a vector of bin borders.
|
inlineexplicitnoexcept |
Construct a RAxisIrregular from a vector of bin borders.
|
inlineexplicit |
Construct a RAxisIrregular from a vector of bin borders.
|
inlineexplicitnoexcept |
Construct a RAxisIrregular from a vector of bin borders.
|
inlinefinalvirtualnoexcept |
This axis cannot be extended.
Implements ROOT::Experimental::RAxisBase.
Find the bin index (adjusted with under- and overflow) for the given coordinate x.
Implements ROOT::Experimental::RAxisBase.
|
inlinenoexcept |
Get the bin center of the bin with the given index.
The result of this method on an overflow or underflow bin is unspecified.
Implements ROOT::Experimental::RAxisBase.
Get the lower bin border for a given bin index.
The result of this method on an underflow bin is unspecified.
Implements ROOT::Experimental::RAxisBase.
|
finalvirtualnoexcept |
If the coordinate x is within 10 ULPs of a bin low edge coordinate, return the bin for which this is a low edge.
If it's not a bin edge, return kInvalidBin.
Implements ROOT::Experimental::RAxisBase.
|
inlinefinalvirtualnoexcept |
Get the number of bins, excluding under- and overflow.
Implements ROOT::Experimental::RAxisBase.
|
overrideprotectedvirtual |
See RAxisBase::HasSameBinBordersAs.
Reimplemented from ROOT::Experimental::RAxisBase.
|
inline |
Convert to RAxisConfig.
|
private |