16#ifndef ROO_ABS_BINNING
17#define ROO_ABS_BINNING
29class CodeSquashContext;
60 virtual void binNumbers(
double const *
x,
int * bins, std::size_t
n,
int coef=1)
const = 0 ;
82 virtual void setRange(
double xlo,
double xhi) = 0 ;
97 virtual double*
array()
const = 0 ;
104 void printName(std::ostream& os)
const override ;
105 void printTitle(std::ostream& os)
const override ;
107 void printArgs(std::ostream& os)
const override ;
108 void printValue(std::ostream& os)
const override ;
#define ClassDefOverride(name, id)
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Common abstract base class for objects that represent a value and a "shape" in RooFit.
Abstract base class for RooRealVar binning definitions.
void printTitle(std::ostream &os) const override
Print binning title.
virtual void removeHook(RooAbsRealLValue &) const
Hook interface function to execute code upon removal from a RooAbsRealLValue.
int binNumber(double x) const
Returns the bin number corresponding to the value x.
TObject * Clone(const char *newname=nullptr) const override
Make a clone of an object using the Streamer facility.
virtual void binNumbers(double const *x, int *bins, std::size_t n, int coef=1) const =0
Compute the bin indices for multiple values of x.
virtual double binCenter(Int_t bin) const =0
RooAbsBinning(const RooAbsBinning &other, const char *name=nullptr)
Int_t numBins() const
Return number of bins.
virtual bool isShareable() const
If true (default), the range definition can be shared across clones of a RooRealVar.
virtual double averageBinWidth() const =0
virtual void insertHook(RooAbsRealLValue &) const
Hook interface function to execute code upon insertion into a RooAbsRealLValue.
virtual bool isParameterized() const
Interface function.
virtual double binLow(Int_t bin) const =0
virtual bool isUniform() const
void Print(Option_t *options=nullptr) const override
This method must be overridden when a class wants to print itself.
virtual double highBound() const =0
virtual void setRange(double xlo, double xhi)=0
virtual void setMin(double xlo)
Change lower bound to xlo.
virtual double lowBound() const =0
virtual RooAbsReal * highBoundFunc() const
Return pointer to RooAbsReal parameterized upper bound, if any.
virtual double binHigh(Int_t bin) const =0
virtual Int_t numBoundaries() const =0
void printArgs(std::ostream &os) const override
Print binning arguments (the RooAbsReal objects represening the variable bin boundaries for parameter...
virtual std::string translateBinNumber(RooFit::Detail::CodeSquashContext &ctx, RooAbsArg const &var, int coef) const
virtual double * array() const =0
virtual RooAbsReal * lowBoundFunc() const
Return pointer to RooAbsReal parameterized lower bound, if any.
void printClassName(std::ostream &os) const override
Print binning class name.
void printName(std::ostream &os) const override
Print binning name.
virtual double binWidth(Int_t bin) const =0
RooAbsBinning(const char *name=nullptr)
void printValue(std::ostream &os) const override
Print binning value, i.e the bin boundary positions.
virtual void setMax(double xhi)
Change upper bound to xhi.
virtual RooAbsBinning * clone(const char *name=nullptr) const =0
Abstract base class for objects that represent a real value that may appear on the left hand side of ...
Abstract base class for objects that represent a real value and implements functionality common to al...
A class to maintain the context for squashing of RooFit models into code.
A 'mix-in' base class that define the standard RooFit plotting and printing methods.
virtual StyleOption defaultPrintStyle(Option_t *opt) const
virtual Int_t defaultPrintContents(Option_t *opt) const
Default choice of contents to be printed (name and value)
static std::ostream & defaultPrintStream(std::ostream *os=nullptr)
Return a reference to the current default stream to use in Print().
virtual void printStream(std::ostream &os, Int_t contents, StyleOption style, TString indent="") const
Print description of object on ostream, printing contents set by contents integer,...
The TNamed class is the base class for all named ROOT classes.
Mother of all ROOT objects.
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...