ROOT logo
ROOT » ROOFIT » ROOFITCORE » RooAbsCategory

class RooAbsCategory: public RooAbsArg



RooAbsCategory is the common abstract base class for objects that represent a discrete value with a finite number of states. Each state consist of a label/index pair, which is stored in a RooCatType object. Implementation of RooAbsCategory may be derived, there no interface is provided to modify the contents, nor a public interface to define states.


Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~RooAbsCategory()
voidTObject::AbstractMethod(const char* method) const
Bool_tRooAbsArg::addOwnedComponents(const RooArgSet& comps)
voidRooAbsArg::addParameters(RooArgSet& params, const RooArgSet* nset = 0, Bool_t stripDisconnected = kTRUE) const
voidRooAbsArg::addServer(RooAbsArg& server, Bool_t valueProp = kTRUE, Bool_t shapeProp = kFALSE)
voidRooAbsArg::addServerList(RooAbsCollection& serverList, Bool_t valueProp = kTRUE, Bool_t shapeProp = kFALSE)
const char*RooAbsArg::aggregateCacheUniqueSuffix() const
virtual voidTObject::AppendPad(Option_t* option = "")
voidRooAbsArg::attachDataSet(const RooAbsData& set)
voidRooAbsArg::attachDataStore(const RooAbsDataStore& set)
const set<std::string>&RooAbsArg::attributes() const
voidRooAbsArg::branchNodeServerList(RooAbsCollection* list, const RooAbsArg* arg = 0, Bool_t recurseNonDerived = kFALSE) const
virtual voidTObject::Browse(TBrowser* b)
virtual const char*RooAbsArg::cacheUniqueSuffix() const
voidRooAbsArg::changeServer(RooAbsArg& server, Bool_t valueProp, Bool_t shapeProp)
Bool_tRooAbsArg::checkDependents(const RooArgSet* nset) const
virtual Bool_tRooAbsArg::checkObservables(const RooArgSet* nset) const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
voidRooAbsArg::clearShapeDirty() const
voidRooAbsArg::clearValueDirty() const
TIterator*RooAbsArg::clientIterator() const
virtual TObject*RooAbsArg::clone(const char* newname) const
virtual TObject*RooAbsArg::Clone(const char* newname = 0) const
virtual RooAbsArg*RooAbsArg::cloneTree(const char* newname = 0) const
virtual Int_tRooAbsArg::Compare(const TObject* other) const
virtual voidRooAbsArg::constOptimizeTestStatistic(RooAbsArg::ConstOpCode opcode)
virtual voidTNamed::Copy(TObject& named) const
static voidRooAbsArg::copyList(TList& dest, const TList& source)
static UInt_tRooAbsArg::crc32(const char* data)
virtual RooAbsArg*createFundamental(const char* newname = 0) const
Roo1DTable*createTable(const char* label) const
virtual Int_tRooAbsArg::defaultPrintContents(Option_t* opt) const
static ostream&RooPrintable::defaultPrintStream(ostream* os = 0)
virtual RooPrintable::StyleOptionRooPrintable::defaultPrintStyle(Option_t* opt) const
virtual voidTObject::Delete(Option_t* option = "")MENU
Bool_tRooAbsArg::dependentOverlaps(const RooAbsData* dset, const RooAbsArg& testArg) const
Bool_tRooAbsArg::dependentOverlaps(const RooArgSet* depList, const RooAbsArg& testArg) const
Bool_tRooAbsArg::dependsOn(const RooAbsCollection& serverList, const RooAbsArg* ignoreArg = 0, Bool_t valueOnly = kFALSE) const
Bool_tRooAbsArg::dependsOn(const RooAbsArg& server, const RooAbsArg* ignoreArg = 0, Bool_t valueOnly = kFALSE) const
Bool_tRooAbsArg::dependsOnValue(const RooAbsCollection& serverList, const RooAbsArg* ignoreArg = 0) const
Bool_tRooAbsArg::dependsOnValue(const RooAbsArg& server, const RooAbsArg* ignoreArg = 0) const
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
RooExpensiveObjectCache&RooAbsArg::expensiveObjectCache() const
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
Bool_tRooAbsArg::findConstantNodes(const RooArgSet& observables, RooArgSet& cacheList)
Bool_tRooAbsArg::findConstantNodes(const RooArgSet& observables, RooArgSet& cacheList, RooLinkedList& processedNodes)
RooAbsArg*RooAbsArg::findNewServer(const RooAbsCollection& newSet, Bool_t nameChange) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
RooAbsArg*RooAbsArg::findServer(const char* name) const
RooAbsArg*RooAbsArg::findServer(const RooAbsArg& arg) const
RooAbsArg*RooAbsArg::findServer(Int_t index) const
Bool_tRooAbsArg::getAttribute(const Text_t* name) const
RooAbsCache*RooAbsArg::getCache(Int_t index) const
RooLinkedListRooAbsArg::getCloningAncestors() const
RooArgSet*RooAbsArg::getComponents() const
RooArgSet*RooAbsArg::getDependents(const RooArgSet& set) const
RooArgSet*RooAbsArg::getDependents(const RooAbsData* set) const
RooArgSet*RooAbsArg::getDependents(const RooArgSet* depList) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual Int_tgetIndex() const
virtual const char*getLabel() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
RooArgSet*RooAbsArg::getObservables(const RooAbsData* data) const
RooArgSet*RooAbsArg::getObservables(const RooAbsData& data) const
RooArgSet*RooAbsArg::getObservables(const RooArgSet& set, Bool_t valueOnly = kTRUE) const
RooArgSet*RooAbsArg::getObservables(const RooArgSet* depList, Bool_t valueOnly = kTRUE) const
virtual Option_t*TObject::GetOption() const
RooArgSet*RooAbsArg::getParameters(const RooAbsData* data, Bool_t stripDisconnected = kTRUE) const
RooArgSet*RooAbsArg::getParameters(const RooAbsData& data, Bool_t stripDisconnected = kTRUE) const
RooArgSet*RooAbsArg::getParameters(const RooArgSet& set, Bool_t stripDisconnected = kTRUE) const
virtual RooArgSet*RooAbsArg::getParameters(const RooArgSet* depList, Bool_t stripDisconnected = kTRUE) const
const Text_t*RooAbsArg::getStringAttribute(const Text_t* key) const
virtual const char*TNamed::GetTitle() const
Bool_tRooAbsArg::getTransientAttribute(const Text_t* name) const
virtual UInt_tTObject::GetUniqueID() const
RooArgSet*RooAbsArg::getVariables(Bool_t stripDisconnected = kTRUE) const
voidRooAbsArg::graphVizTree(const char* fileName, const char* delimiter = "\n", bool useTitle = false, bool useLatex = false)
voidRooAbsArg::graphVizTree(ostream& os, const char* delimiter = "\n", bool useTitle = false, bool useLatex = false)
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Bool_tRooAbsArg::hasClients() const
virtual ULong_tTNamed::Hash() const
virtual Bool_tRooAbsArg::hasRange(const char*) const
virtual Bool_tRooAbsArg::importWorkspaceHook(RooWorkspace&)
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual Bool_tRooAbsArg::inRange(const char*) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tRooAbsArg::isCloneOf(const RooAbsArg& other) const
Bool_tRooAbsArg::isConstant() const
virtual Bool_tRooAbsArg::isDerived() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
virtual Bool_tRooAbsArg::isFundamental() const
virtual Bool_tisIntegrationSafeLValue(const RooArgSet*) const
virtual Bool_tRooAbsArg::isLValue() const
Bool_tTObject::IsOnHeap() const
Bool_tRooAbsArg::isShapeDirty() const
Bool_tRooAbsArg::isShapeServer(const RooAbsArg& arg) const
Bool_tRooAbsArg::isShapeServer(const char* name) const
Bool_tisSignType(Bool_t mustHaveZero = kFALSE) const
virtual Bool_tRooAbsArg::IsSortable() const
Bool_tisValidIndex(Int_t index) const
Bool_tisValidLabel(const char* label) const
Bool_tRooAbsArg::isValueDirty() const
Bool_tRooAbsArg::isValueServer(const RooAbsArg& arg) const
Bool_tRooAbsArg::isValueServer(const char* name) const
Bool_tTObject::IsZombie() const
voidRooAbsArg::leafNodeServerList(RooAbsCollection* list, const RooAbsArg* arg = 0, Bool_t recurseNonDerived = kFALSE) const
const RooCatType*lookupType(Int_t index, Bool_t printError = kFALSE) const
const RooCatType*lookupType(const char* label, Bool_t printError = kFALSE) const
const RooCatType*lookupType(const RooCatType& type, Bool_t printError = kFALSE) const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
static voidRooPrintable::nameFieldLength(Int_t newLen)
virtual Bool_tTObject::Notify()
Int_tRooAbsArg::numCaches() const
Int_tnumTypes(const char* = 0) const
Bool_tRooAbsArg::observableOverlaps(const RooAbsData* dset, const RooAbsArg& testArg) const
Bool_tRooAbsArg::observableOverlaps(const RooArgSet* depList, const RooAbsArg& testArg) const
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
Bool_toperator!=(Int_t index)
Bool_toperator!=(const char* label)
Bool_toperator!=(const RooAbsArg& other)
TNamed&TNamed::operator=(const TNamed& rhs)
Bool_toperator==(Int_t index) const
Bool_toperator==(const char* label) const
virtual Bool_toperator==(const RooAbsArg& other)
RooAbsArg::OperModeRooAbsArg::operMode() const
virtual voidRooAbsArg::optimizeCacheMode(const RooArgSet& observables)
virtual voidRooAbsArg::optimizeCacheMode(const RooArgSet& observables, RooArgSet& optNodes, RooLinkedList& processedNodes)
Bool_tRooAbsArg::overlaps(const RooAbsArg& testArg, Bool_t valueOnly = kFALSE) const
const RooArgSet*RooAbsArg::ownedComponents() const
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidRooAbsArg::Print(Option_t* options = 0) const
virtual voidRooAbsArg::printAddress(ostream& os) const
virtual voidRooAbsArg::printArgs(ostream& os) const
virtual voidRooAbsArg::printClassName(ostream& os) const
voidRooAbsArg::printCompactTree(const char* indent = "", const char* fileName = 0, const char* namePat = 0, RooAbsArg* client = 0)
voidRooAbsArg::printCompactTree(ostream& os, const char* indent = "", const char* namePat = 0, RooAbsArg* client = 0)
virtual voidRooAbsArg::printCompactTreeHook(ostream& os, const char* ind = "")
voidRooAbsArg::printComponentTree(const char* indent = "", const char* namePat = 0, Int_t nLevel = 999)
voidRooAbsArg::printDirty(Bool_t depth = kTRUE) const
virtual voidRooPrintable::printExtras(ostream& os) const
virtual voidRooAbsArg::printMetaArgs(ostream&) const
virtual voidprintMultiline(ostream& os, Int_t contents, Bool_t verbose = kFALSE, TString indent = "") const
virtual voidRooAbsArg::printName(ostream& os) const
virtual voidRooPrintable::printStream(ostream& os, Int_t contents, RooPrintable::StyleOption style, TString indent = "") const
virtual voidRooAbsArg::printTitle(ostream& os) const
virtual voidRooAbsArg::printTree(ostream& os, TString indent = "") const
virtual voidprintValue(ostream& os) const
virtual Int_tTObject::Read(const char* name)
virtual Bool_treadFromStream(istream& is, Bool_t compact, Bool_t verbose = kFALSE)
Bool_tRooAbsArg::recursiveCheckDependents(const RooArgSet* nset) const
Bool_tRooAbsArg::recursiveCheckObservables(const RooArgSet* nset) const
Bool_tRooAbsArg::recursiveRedirectServers(const RooAbsCollection& newServerList, Bool_t mustReplaceAll = kFALSE, Bool_t nameChange = kFALSE, Bool_t recurseInNewSet = kTRUE)
virtual voidTObject::RecursiveRemove(TObject* obj)
Bool_tRooAbsArg::redirectServers(const RooAbsCollection& newServerList, Bool_t mustReplaceAll = kFALSE, Bool_t nameChange = kFALSE, Bool_t isRecursionStep = kFALSE)
virtual Bool_tRooAbsArg::redirectServersHook(const RooAbsCollection&, Bool_t, Bool_t, Bool_t)
voidRooAbsArg::registerCache(RooAbsCache& cache)
voidRooAbsArg::removeServer(RooAbsArg& server, Bool_t force = kFALSE)
voidRooAbsArg::replaceServer(RooAbsArg& oldServer, RooAbsArg& newServer, Bool_t valueProp, Bool_t shapeProp)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
TIterator*RooAbsArg::serverIterator() const
virtual voidRooAbsArg::serverNameChangeHook(const RooAbsArg*, const RooAbsArg*)
static voidRooAbsArg::setACleanADirty(Bool_t flag)
voidRooAbsArg::setAttribute(const Text_t* name, Bool_t value = kTRUE)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
static voidRooAbsArg::setDirtyInhibit(Bool_t flag)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidRooAbsArg::setExpensiveObjectCache(RooExpensiveObjectCache& cache)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidRooAbsArg::setOperMode(RooAbsArg::OperMode mode, Bool_t recurseADirty = kTRUE)
voidRooAbsArg::setProhibitServerRedirect(Bool_t flag)
voidRooAbsArg::setShapeDirty() const
voidRooAbsArg::setStringAttribute(const Text_t* key, const Text_t* value)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidRooAbsArg::setTransientAttribute(const Text_t* name, Bool_t value = kTRUE)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidRooAbsArg::setValueDirty() const
TIterator*RooAbsArg::shapeClientIterator() const
virtual voidShowMembers(TMemberInspector& insp)
virtual Int_tTNamed::Sizeof() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
const map<std::string,std::string>&RooAbsArg::stringAttributes() const
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
const set<std::string>&RooAbsArg::transientAttributes() const
voidRooAbsArg::treeNodeServerList(RooAbsCollection* list, const RooAbsArg* arg = 0, Bool_t doBranch = kTRUE, Bool_t doLeaf = kTRUE, Bool_t valueOnly = kFALSE, Bool_t recurseNonDerived = kFALSE) const
TIterator*typeIterator() const
voidRooAbsArg::unRegisterCache(RooAbsCache& cache)
virtual voidTObject::UseCurrentStyle()
TIterator*RooAbsArg::valueClientIterator() const
static voidRooAbsArg::verboseDirty(Bool_t flag)
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
virtual voidwriteToStream(ostream& os, Bool_t compact) const
protected:
virtual voidattachToTree(TTree& t, Int_t bufSize = 32000)
TStringRooAbsArg::cleanBranchName() const
voidclearTypes()
virtual voidcopyCache(const RooAbsArg* source, Bool_t valueOnly = kFALSE)
const RooCatType*defineType(const char* label)
const RooCatType*defineType(const char* label, Int_t index)
const RooCatType*defineTypeUnchecked(const char* label, Int_t index)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual RooCatTypeevaluate() const
virtual voidfillTreeBranch(TTree& t)
static Bool_tRooAbsArg::flipAClean()
virtual voidRooAbsArg::getObservablesHook(const RooArgSet*, RooArgSet*) const
const RooCatType*getOrdinal(UInt_t n, const char* rangeName = 0) const
virtual voidRooAbsArg::getParametersHook(const RooArgSet*, RooArgSet*, Bool_t) const
RooAbsProxy*RooAbsArg::getProxy(Int_t index) const
voidRooAbsArg::graphVizAddConnections(set<std::pair<RooAbsArg*,RooAbsArg*> >&)
static Bool_tRooAbsArg::inhibitDirty()
virtual Bool_tisValid() const
virtual Bool_tisValid(const RooCatType& value) const
voidTObject::MakeZombie()
Int_tRooAbsArg::numProxies() const
virtual voidRooAbsArg::operModeHook()
virtual voidRooAbsArg::optimizeDirtyHook(const RooArgSet*)
voidRooAbsArg::printAttribList(ostream& os) const
voidRooAbsArg::registerProxy(RooArgProxy& proxy)
voidRooAbsArg::registerProxy(RooSetProxy& proxy)
voidRooAbsArg::registerProxy(RooListProxy& proxy)
voidRooAbsArg::setProxyNormSet(const RooArgSet* nset)
voidRooAbsArg::setShapeDirty(const RooAbsArg* source) const
virtual voidsetTreeBranchStatus(TTree& t, Bool_t active)
voidRooAbsArg::setValueDirty(const RooAbsArg* source) const
virtual voidsyncCache(const RooArgSet* set = 0)
RooCatTypetraceEval() const
virtual Bool_ttraceEvalHook(RooCatType) const
voidRooAbsArg::unRegisterProxy(RooArgProxy& proxy)
voidRooAbsArg::unRegisterProxy(RooSetProxy& proxy)
voidRooAbsArg::unRegisterProxy(RooListProxy& proxy)

Data Members

public:
enum RooAbsArg::ConstOpCode { Activate
DeActivate
ConfigChange
ValueChange
};
enum RooAbsArg::OperMode { Auto
AClean
ADirty
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
enum RooPrintable::ContentsOption { kName
kClassName
kValue
kArgs
kExtras
kAddress
kTitle
kCollectionHeader
};
enum RooPrintable::StyleOption { kInline
kSingleLine
kStandard
kVerbose
kTreeStructure
};
protected:
set<std::string>RooAbsArg::_boolAttribBoolean attributes
set<std::string>RooAbsArg::_boolAttribTransient! Transient boolean attributes (not copied in ctor)
UChar_t_byteValue! Transient cache for byte values from tree branches
deque<RooAbsCache*>RooAbsArg::_cacheListlist of caches
RooRefCountListRooAbsArg::_clientListlist of client objects
RooRefCountListRooAbsArg::_clientListShapesubset of clients that requested shape dirty flag propagation
RooRefCountListRooAbsArg::_clientListValuesubset of clients that requested value dirty flag propagation
TIterator*RooAbsArg::_clientShapeIter! Iterator over _clientListShape
TIterator*RooAbsArg::_clientValueIter! Iterator over _clientListValue
Bool_tRooAbsArg::_deleteWatch! Delete watch flag
RooExpensiveObjectCache*RooAbsArg::_eocachePointer to global cache manager for any expensive components created by this object
static Bool_tRooAbsArg::_flipACleanStatic flag controlling flipping status of all AClean nodes to ADirty ;
static Bool_tRooAbsArg::_inhibitDirtyStatic flag controlling global inhibit of dirty state propagation
static Int_tRooPrintable::_nameLength
RooAbsArg::OperModeRooAbsArg::_operModeDirty state propagation mode
RooArgSet*RooAbsArg::_ownedComponents! Set of owned component
Bool_tRooAbsArg::_prohibitServerRedirect! Prohibit server redirects -- Debugging tool
TListRooAbsArg::_proxyListlist of proxies
RooRefCountListRooAbsArg::_serverListlist of server objects
Bool_tRooAbsArg::_shapeDirtyFlag set if value needs recalculating because input shapes modified
map<std::string,std::string>RooAbsArg::_stringAttribString attributes
Bool_t_treeVar! do not persist
TIterator*_typeIter!
TObjArray_typesArray of allowed values
RooCatType_valueCurrent value
Bool_tRooAbsArg::_valueDirtyFlag set if value needs recalculating because input values modified
static Bool_tRooAbsArg::_verboseDirtyStatic flag controlling verbose messaging for dirty state changes
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

~RooAbsCategory()
 Destructor
Int_t getIndex() const
 Return index number of current state
const char* getLabel() const
 Return label string of current state
RooCatType traceEval() const
 Recalculate current value and check validity of new result.
TIterator* typeIterator() const
 Return iterator over all defined states
Bool_t operator==(Int_t index) const
 Equality operator with a integer (compares with state index number)
Bool_t operator==(const char* label) const
 Equality operator with a string (compares with state label string)
Bool_t operator==(const RooAbsArg& other)
 Equality operator with another RooAbsArg. Only functional
 is also a RooAbsCategory, will return true if index is the same
Bool_t isValidIndex(Int_t index) const
 Check if state with given index is defined
Bool_t isValidLabel(const char* label) const
 Check if state with given name is defined
const RooCatType* defineType(const char* label)
 Define a new state with given name. The lowest available
 integer number is assigned as index value
const RooCatType* defineTypeUnchecked(const char* label, Int_t index)
 Internal version of defineType that does not check if type
 already exists
const RooCatType* defineType(const char* label, Int_t index)
 Define new state with given name and index number.
void clearTypes()
 Delete all currently defined states
const RooCatType* lookupType(const RooCatType& type, Bool_t printError = kFALSE) const
 Find our type that matches the specified type, or return 0 for no match.
const RooCatType* lookupType(Int_t index, Bool_t printError = kFALSE) const
 Find our type corresponding to the specified index, or return 0 for no match.
const RooCatType* lookupType(const char* label, Bool_t printError = kFALSE) const
 Find our type corresponding to the specified label, or return 0 for no match.
Bool_t isValid() const
 Check if current value is a valid state
Bool_t isValid(const RooCatType& value) const
 Check if given state is defined for this object
Roo1DTable* createTable(const char* label) const
 Create a table matching the shape of this category
Bool_t readFromStream(istream& is, Bool_t compact, Bool_t verbose = kFALSE)
 Read object contents from stream (dummy for now)
void writeToStream(ostream& os, Bool_t compact) const
 Write object contents to ostream
void printValue(ostream& os) const
 Print value (label name)
void printMultiline(ostream& os, Int_t contents, Bool_t verbose = kFALSE, TString indent = "") const
 Print info about this object to the specified stream. In addition to the info
 from RooAbsArg::printStream() we add:

     Shape : label, index, defined types
void attachToTree(TTree& t, Int_t bufSize = 32000)
 Attach the category index and label to as branches to the given
 TTree. The index field will be attached as integer with name
 <name>_idx, the label field will be attached as char[] with label
 <name>_lbl.
void fillTreeBranch(TTree& t)
 Fill tree branches associated with current object with current value
void setTreeBranchStatus(TTree& t, Bool_t active)
 (De)activate associate tree branch
void syncCache(const RooArgSet* set = 0)
 Explicitly synchronize RooAbsCategory internal cache
void copyCache(const RooAbsArg* source, Bool_t valueOnly = kFALSE)
 Copy the cached value from given source and raise dirty flag.
 It is the callers responsability to ensure that the sources
 cache is clean(valid) before this function is called, e.g. by
 calling syncCache() on the source.
const RooCatType* getOrdinal(UInt_t n, const char* rangeName = 0) const
 Return state definition of ordinal nth defined state,
 needed by the generator mechanism.
RooAbsArg * createFundamental(const char* newname = 0) const
 Create a RooCategory fundamental object with our properties.
Bool_t isSignType(Bool_t mustHaveZero = kFALSE) const
 Determine if category has 2 or 3 states with index values -1,0,1
Bool_t operator!=(Int_t index)
{ return !operator==(index);}
Bool_t operator!=(const char* label)
{ return !operator==(label);}
Bool_t operator!=(const RooAbsArg& other)
{ return !operator==(other);}
Int_t numTypes(const char* = 0) const
 Return number of types defined (in range named rangeName if rangeName!=0)
Bool_t isIntegrationSafeLValue(const RooArgSet* ) const
 Is this l-value object safe for use as integration observable
Bool_t traceEvalHook(RooCatType ) const
 coverity[PASS_BY_VALUE]
RooCatType evaluate() const