ROOT » ROOFIT » ROOFITCORE » RooMultiCatIter

class RooMultiCatIter: public TIterator



RooMultiCatIter iterators over all state permutations of a list of categories. It serves as the state iterator for a RooSuperCategory or a RooMultiCategory. Since this iterator only constructs state labels and does not change the value of its input categories, it is not required that its inputs are LValues. For cases where all inputs are LValues (such as for RooSuperCategory) the values of the input can be changes by assigning the super category the string label generated by this iterator

Function Members (Methods)

public:
virtual~RooMultiCatIter()
static TClass*Class()
virtual const TCollection*GetCollection() const
virtual Option_t*TIterator::GetOption() const
virtual TClass*IsA() const
virtual TObject*Next()
virtual booloperator!=(const TIterator& aIter) const
TObject*TIterator::operator()()
virtual TObject*operator*() const
RooMultiCatIter&operator=(const RooMultiCatIter&)
Bool_tTIterator::operator==(const TIterator& other) const
virtual voidReset()
RooMultiCatIter(const RooMultiCatIter& other)
RooMultiCatIter(const RooArgSet& catList, const char* rangeName = 0)
virtual voidShowMembers(TMemberInspector& insp) const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
protected:
TObjString*compositeLabel()
voidinitialize(const RooArgSet& catList)
virtual TIterator&operator=(const TIterator&)

Data Members

protected:
RooArgSet_catListSet of categories iterated over
pRooCategory*_catPtrListArray of pointers to original categories
TObjString_compositeLabel
TObject*_curItemCurrent item returned by Next()
Int_t_curIterCurrent location of master iterator
RooCatType*_curTypeListList of current types
pTIterator*_iterListArray of category type iterators
Int_t_nIterNumber of categories/iterators in use
TString_rangeNameRange name (optional)

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

RooMultiCatIter(const RooArgSet& catList, const char* rangeName = 0)
 Construct iterator over all permutations of states of categories in catList.
 If rangeName is not null, iteration is restricted to states that are selected
 in the given range name
RooMultiCatIter(const RooMultiCatIter& other)
 Copy constructor
void initialize(const RooArgSet& catList)
 Build iterator array for given catList
~RooMultiCatIter()
 Destructor
const TCollection* GetCollection() const
 Dummy implementation, always returns zero
TObjString* compositeLabel()
 Construct string with composite object
 label corresponding to the state name
 of a RooMultiCategory or RooSuperCategory
 constructed from this set of input categories
TObject* Next()
 Iterator increment operator
void Reset()
 Rewind master iterator
TObject * operator*() const
 Return current item (dummy)
bool operator!=(const TIterator& aIter) const
 Comparison operator to other iterator
 Returns true if both iterator iterate over the
 same set of input categories and are not at the
 same sequential position
TIterator& operator=(const TIterator& )
{ return *this ; }