library: libRooFit #include "RooBinning.h"

# RooBinning

class description - source file - inheritance tree (.pdf)

## class RooBinning : public RooAbsBinning

| Inheritance Chart:
`TObject`
| <- | `TNamed`
`RooPrintable`
| <- | `RooAbsBinning`
| <- | `RooBinning` |

        protected:

          Bool_t binEdges(Int_t bin, Double_t& xlo, Double_t& xhi) const
            void updateBinCount()

        public:

                                 RooBinning(Double_t xlo = -RooNumber::infinity, Double_t xhi = RooNumber::infinity, const char* name = "0")
                                 RooBinning(Int_t nBins, Double_t xlo, Double_t xhi, const char* name = "0")
                                 RooBinning(Int_t nBins, const Double_t* boundaries, const char* name = "0")
                                 RooBinning(const RooBinning& other, const char* name = "0")
                                 ~RooBinning()
                          Bool_t addBoundary(Double_t boundary)
                            void addBoundaryPair(Double_t boundary, Double_t mirrorPoint = 0)
                            void addUniform(Int_t nBins, Double_t xlo, Double_t xhi)
               virtual Double_t* array() const
                virtual Double_t averageBinWidth() const
                virtual Double_t binCenter(Int_t bin) const
                virtual Double_t binHigh(Int_t bin) const
                      TIterator* binIterator() const
                virtual Double_t binLow(Int_t bin) const
                   virtual Int_t binNumber(Double_t x) const
                virtual Double_t binWidth(Int_t bin) const
                  static TClass* Class()
          virtual RooAbsBinning* clone(const char* name = "0") const
                          Bool_t hasBoundary(Double_t boundary)
                virtual Double_t highBound() const
                 virtual TClass* IsA() const
                virtual Double_t lowBound() const
                virtual Double_t nearestBoundary(Double_t x) const
                   virtual Int_t numBoundaries() const
                   virtual Int_t rawBinNumber(Double_t x) const
                          Bool_t removeBoundary(Double_t boundary)
                    virtual void setRange(Double_t xlo, Double_t xhi)
                    virtual void ShowMembers(TMemberInspector& insp, char* parent)
                    virtual void Streamer(TBuffer& b)
                            void StreamerNVirtual(TBuffer& b)

### Data Members

        protected:

            Double_t _xlo
            Double_t _xhi
              Bool_t _ownBoundLo
              Bool_t _ownBoundHi
               Int_t _nbins
               TList _boundaries
          TIterator* _bIter       ! do not persist
           Double_t* _array       ! do not persist

## Class Description

RooBinning(Double_t xlo, Double_t xhi, const char* name) : RooAbsBinning(name), _ownBoundLo(kTRUE), _ownBoundHi(kTRUE), _array(0)

RooBinning(Int_t nbins, Double_t xlo, Double_t xhi, const char* name) : RooAbsBinning(name), _ownBoundLo(kTRUE), _ownBoundHi(kTRUE), _array(0)

RooBinning(Int_t nbins, const Double_t* boundaries, const char* name) : RooAbsBinning(name), _ownBoundLo(kTRUE), _ownBoundHi(kTRUE), _array(0)

RooBinning(const RooBinning& other, const char* name) : RooAbsBinning(name), _array(0)

     Copy constructor

~RooBinning()

     Destructor

Bool_t addBoundary(Double_t boundary)

     Check if boundary already exists

void addBoundaryPair(Double_t boundary, Double_t mirrorPoint)

     Add mirrored pair of boundaries

Bool_t removeBoundary(Double_t boundary)

     Remove boundary at given value

Bool_t hasBoundary(Double_t boundary)

     Check if boundary exists at given value

void addUniform(Int_t nbins, Double_t xlo, Double_t xhi)

     Add array of uniform bins

Int_t binNumber(Double_t x) const

     Determine sequential bin number for given value

Int_t rawBinNumber(Double_t x) const

     Determine 'raw' bin number (i.e counting all defined boundaries) for given value

Double_t nearestBoundary(Double_t x) const

TIterator* binIterator() const

     Return iterator over sorted boundaries

Double_t* array() const

void setRange(Double_t xlo, Double_t xhi)

void updateBinCount()

Bool_t binEdges(Int_t bin, Double_t& xlo, Double_t& xhi) const

Double_t binCenter(Int_t bin) const

Double_t binWidth(Int_t bin) const

Double_t binLow(Int_t bin) const

Double_t binHigh(Int_t bin) const

### Inline Functions

            RooAbsBinning* clone(const char* name = "0") const
                     Int_t numBoundaries() const
                  Double_t lowBound() const
                  Double_t highBound() const
                  Double_t averageBinWidth() const
                   TClass* Class()
                   TClass* IsA() const
                      void ShowMembers(TMemberInspector& insp, char* parent)
                      void Streamer(TBuffer& b)
                      void StreamerNVirtual(TBuffer& b)

Last update: Tue Jun 28 18:11:09 2005
Copyright (c) 2000-2005, Regents of the University of California *