Warning, file /include/root/RooUniformBinning.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef ROO_UNIFORM_BINNING
0017 #define ROO_UNIFORM_BINNING
0018
0019 #include "Rtypes.h"
0020 #include "RooAbsBinning.h"
0021
0022 class RooUniformBinning : public RooAbsBinning {
0023 public:
0024
0025 RooUniformBinning(const char* name=nullptr) : RooAbsBinning{name} {}
0026 RooUniformBinning(double xlo, double xhi, Int_t nBins, const char* name=nullptr) ;
0027 RooUniformBinning(const RooUniformBinning& other, const char* name=nullptr) ;
0028 RooAbsBinning* clone(const char* name=nullptr) const override { return new RooUniformBinning(*this,name?name:GetName()) ; }
0029
0030 void setRange(double xlo, double xhi) override ;
0031
0032 Int_t numBoundaries() const override { return _nbins + 1 ; }
0033 void binNumbers(double const * x, int * bins, std::size_t n, int coef) const override;
0034 bool isUniform() const override { return true ; }
0035
0036 double lowBound() const override { return _xlo ; }
0037 double highBound() const override { return _xhi ; }
0038
0039 double binCenter(Int_t bin) const override ;
0040 double binWidth(Int_t bin) const override ;
0041 double binLow(Int_t bin) const override ;
0042 double binHigh(Int_t bin) const override ;
0043
0044 double averageBinWidth() const override { return _binw ; }
0045 double* array() const override ;
0046
0047 protected:
0048 mutable std::vector<double> _array;
0049 double _xlo;
0050 double _xhi;
0051 Int_t _nbins;
0052 double _binw;
0053
0054 ClassDefOverride(RooUniformBinning, 1)
0055 };
0056
0057 #endif