16 #ifndef ROO_SUPER_CATEGORY
17 #define ROO_SUPER_CATEGORY
26 class RooSuperCategory :
public RooAbsCategoryLValue {
29 inline RooSuperCategory() { }
30 RooSuperCategory(
const char *name,
const char *title,
const RooArgSet& inputCatList);
31 RooSuperCategory(
const RooSuperCategory& other,
const char *name=0) ;
32 virtual TObject* clone(
const char* newname)
const {
return new RooSuperCategory(*
this,newname); }
33 virtual ~RooSuperCategory();
35 virtual Bool_t setIndex(Int_t index, Bool_t printError=kTRUE) ;
36 virtual Bool_t setLabel(
const char* label, Bool_t printError=kTRUE) ;
39 virtual void printMultiline(std::ostream& os, Int_t content, Bool_t verbose=kFALSE, TString indent=
"")
const ;
42 virtual Bool_t readFromStream(std::istream& is, Bool_t compact, Bool_t verbose=kFALSE) ;
43 virtual void writeToStream(std::ostream& os, Bool_t compact)
const ;
45 TIterator* MakeIterator()
const ;
46 const RooArgSet& inputCatList()
const {
return _catSet ; }
48 virtual Bool_t inRange(
const char* rangeName)
const ;
49 virtual Bool_t hasRange(
const char* rangeName)
const ;
53 Bool_t setType(
const RooCatType* type, Bool_t prinError=kTRUE) ;
54 void updateIndexList() ;
55 TString currentLabel()
const ;
59 virtual RooCatType evaluate()
const ;
61 ClassDef(RooSuperCategory,1)