16#ifndef ROO_ABS_CATEGORY_LVALUE
17#define ROO_ABS_CATEGORY_LVALUE
48 bool setIndex(
const std::pair<std::string,value_type>& nameIdxPair,
bool printError =
true) {
49 return setIndex(nameIdxPair.second, printError);
58 virtual bool setLabel(
const char* label,
bool printError=
true) = 0;
60 bool setLabel(
const std::string& label,
bool printError =
true) {
61 return setLabel(label.c_str(), printError);
69 bool setLabel(
const std::pair<std::string,value_type>& nameIdxPair,
bool printError =
true) {
70 return setLabel(nameIdxPair.first.c_str(), printError);
79 void setBin(
Int_t ibin,
const char* rangeName=
nullptr)
override ;
84 Int_t numBins(
const char* rangeName=
nullptr)
const override ;
89 double volume(
const char* rangeName)
const override {
93 void randomize(
const char* rangeName=
nullptr)
override;
96 std::list<std::string>
getBinningNames()
const override {
return std::list<std::string>(1,
"") ; }
116 virtual void setIndexFast(
Int_t index) {
121 void copyCache(
const RooAbsArg* source,
bool valueOnly=
false,
bool setValDirty=
true)
override ;
int Int_t
Signed integer 4 bytes (int).
#define ClassDefOverride(name, id)
Common abstract base class for objects that represent a value and a "shape" in RooFit.
void setAttribute(const Text_t *name, bool value=true)
Set (default) or clear a named boolean attribute of this object.
Abstract base class for RooRealVar binning definitions.
Abstract base class for objects that represent a discrete value that can be set from the outside,...
void randomize(const char *rangeName=nullptr) override
Randomize current value.
virtual bool setIndex(value_type index, bool printError=true)=0
Change category state by specifying the index code of the desired state.
bool isLValue() const override
Is this argument an l-value, i.e., can it appear on the left-hand side of an assignment expression?
void copyCache(const RooAbsArg *source, bool valueOnly=false, bool setValDirty=true) override
Copy the cached value from given source and raise dirty flag.
Int_t getBin(const RooAbsBinning *) const override
Int_t numBins(const char *rangeName=nullptr) const override
Return the number of fit bins ( = number of types ).
bool setOrdinal(unsigned int index)
Set our state to our nth defined type.
std::list< std::string > getBinningNames() const override
bool setIndex(const std::pair< std::string, value_type > &nameIdxPair, bool printError=true)
Change category state to state specified by another category state.
bool setLabel(const std::string &label, bool printError=true)
Change category state by specifying a state name.
friend class RooSimGenContext
bool setLabel(const std::pair< std::string, value_type > &nameIdxPair, bool printError=true)
Change category state to the state name of another category.
double getBinWidth(Int_t, const char *=nullptr) const override
void setConstant(bool value=true)
double volume(const char *rangeName) const override
RooAbsArg & operator=(int index)
Assignment operator from integer index number.
void setBin(Int_t ibin, const char *rangeName=nullptr) override
Set category to i-th fit bin, which is the i-th registered state.
const RooAbsBinning * getBinningPtr(const char *) const override
virtual bool setLabel(const char *label, bool printError=true)=0
Change category state by specifying a state name.
Int_t getBin(const char *=nullptr) const override
Get the index of the plot bin for the current value of this category.
friend class RooSimSplitGenContext
A space to attach TBranches.
unsigned int getCurrentOrdinalNumber() const
Return ordinal number of the current state.
value_type _currentIndex
Current category state.
int value_type
The type used to denote a specific category state.
Int_t numTypes(const char *=nullptr) const
Return number of types defined (in range named rangeName if rangeName!=nullptr).
Abstract base class for objects that are lvalues, i.e.