#ifndef ROO_ABS_CATEGORY_LVALUE
#define ROO_ABS_CATEGORY_LVALUE
#include "Riosfwd.h"
#include "RooAbsCategory.h"
#include "RooAbsLValue.h"
class RooAbsCategoryLValue : public RooAbsCategory, public RooAbsLValue {
public:
RooAbsCategoryLValue() {
} ;
RooAbsCategoryLValue(const char *name, const char *title);
RooAbsCategoryLValue(const RooAbsCategoryLValue& other, const char* name=0) ;
virtual ~RooAbsCategoryLValue();
virtual Bool_t setIndex(Int_t index, Bool_t printError=kTRUE) = 0 ;
virtual Bool_t setLabel(const char* label, Bool_t printError=kTRUE) = 0 ;
RooAbsArg& operator=(int index) ;
RooAbsArg& operator=(const char* label) ;
RooAbsArg& operator=(const RooAbsCategory& other) ;
virtual void setBin(Int_t ibin, const char* rangeName=0) ;
virtual Int_t getBin(const char* rangeName=0) const ;
virtual Int_t numBins(const char* rangeName) const ;
virtual Double_t getBinWidth(Int_t , const char* =0) const {
return 1.0 ;
}
virtual Double_t volume(const char* rangeName) const {
return numTypes(rangeName) ;
}
virtual void randomize(const char* rangeName=0);
virtual const RooAbsBinning* getBinningPtr(const char* ) const { return 0 ; }
virtual Int_t getBin(const RooAbsBinning* ) const { return getBin((const char*)0) ; }
inline void setConstant(Bool_t value= kTRUE) {
setAttribute("Constant",value);
}
inline virtual Bool_t isLValue() const {
return kTRUE;
}
virtual Bool_t readFromStream(istream& is, Bool_t compact, Bool_t verbose=kFALSE) ;
virtual void writeToStream(ostream& os, Bool_t compact) const ;
protected:
Bool_t setOrdinal(UInt_t index, const char* rangeName);
void copyCache(const RooAbsArg* source, Bool_t valueOnly=kFALSE) ;
ClassDef(RooAbsCategoryLValue,1)
};
#endif
RooAbsCategoryLValue.h:10 RooAbsCategoryLValue.h:11 RooAbsCategoryLValue.h:12 RooAbsCategoryLValue.h:13 RooAbsCategoryLValue.h:14 RooAbsCategoryLValue.h:15 RooAbsCategoryLValue.h:16 RooAbsCategoryLValue.h:17 RooAbsCategoryLValue.h:18 RooAbsCategoryLValue.h:19 RooAbsCategoryLValue.h:20 RooAbsCategoryLValue.h:21 RooAbsCategoryLValue.h:22 RooAbsCategoryLValue.h:23 RooAbsCategoryLValue.h:24 RooAbsCategoryLValue.h:25 RooAbsCategoryLValue.h:26 RooAbsCategoryLValue.h:27 RooAbsCategoryLValue.h:28 RooAbsCategoryLValue.h:29 RooAbsCategoryLValue.h:30 RooAbsCategoryLValue.h:31 RooAbsCategoryLValue.h:32 RooAbsCategoryLValue.h:33 RooAbsCategoryLValue.h:34 RooAbsCategoryLValue.h:35 RooAbsCategoryLValue.h:36 RooAbsCategoryLValue.h:37 RooAbsCategoryLValue.h:38 RooAbsCategoryLValue.h:39 RooAbsCategoryLValue.h:40 RooAbsCategoryLValue.h:41 RooAbsCategoryLValue.h:42 RooAbsCategoryLValue.h:43 RooAbsCategoryLValue.h:44 RooAbsCategoryLValue.h:45 RooAbsCategoryLValue.h:46 RooAbsCategoryLValue.h:47 RooAbsCategoryLValue.h:48 RooAbsCategoryLValue.h:49 RooAbsCategoryLValue.h:50 RooAbsCategoryLValue.h:51 RooAbsCategoryLValue.h:52 RooAbsCategoryLValue.h:53 RooAbsCategoryLValue.h:54 RooAbsCategoryLValue.h:55 RooAbsCategoryLValue.h:56 RooAbsCategoryLValue.h:57 RooAbsCategoryLValue.h:58 RooAbsCategoryLValue.h:59 RooAbsCategoryLValue.h:60 RooAbsCategoryLValue.h:61 RooAbsCategoryLValue.h:62 RooAbsCategoryLValue.h:63 RooAbsCategoryLValue.h:64 RooAbsCategoryLValue.h:65 RooAbsCategoryLValue.h:66 RooAbsCategoryLValue.h:67 RooAbsCategoryLValue.h:68 RooAbsCategoryLValue.h:69 RooAbsCategoryLValue.h:70 RooAbsCategoryLValue.h:71 RooAbsCategoryLValue.h:72 RooAbsCategoryLValue.h:73 RooAbsCategoryLValue.h:74 RooAbsCategoryLValue.h:75 RooAbsCategoryLValue.h:76 RooAbsCategoryLValue.h:77 RooAbsCategoryLValue.h:78 RooAbsCategoryLValue.h:79 RooAbsCategoryLValue.h:80