Logo ROOT  
Reference Guide
RooMultiCatIter Class Reference

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

Definition at line 29 of file RooMultiCatIter.h.

Public Member Functions

 RooMultiCatIter (const RooArgSet &catList, const char *rangeName=0)
 Construct iterator over all permutations of states of categories in catList. More...
 
 RooMultiCatIter (const RooMultiCatIter &other)
 Copy constructor. More...
 
virtual ~RooMultiCatIter ()
 Destructor. More...
 
virtual const TCollectionGetCollection () const
 Dummy implementation, always returns zero. More...
 
virtual TObjectNext ()
 Iterator increment operator. More...
 
virtual 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. More...
 
virtual TObjectoperator* () const
 Return current item (dummy) More...
 
virtual void Reset ()
 Rewind master iterator. More...
 
- Public Member Functions inherited from TIterator
virtual ~TIterator ()
 
virtual const TCollectionGetCollection () const =0
 
virtual Option_tGetOption () const
 
virtual TObjectNext ()=0
 
virtual Bool_t operator!= (const TIterator &) const
 Compare two iterator objects. More...
 
TObjectoperator() ()
 
virtual TObjectoperator* () const
 Return current object or nullptr. More...
 
virtual TIteratoroperator= (const TIterator &)
 
Bool_t operator== (const TIterator &other) const
 
virtual void Reset ()=0
 

Protected Member Functions

TObjStringcompositeLabel ()
 Construct string with composite object label corresponding to the state name of a RooMultiCategory or RooSuperCategory constructed from this set of input categories. More...
 
void initialize (const RooArgSet &catList)
 Build iterator array for given catList. More...
 
TIteratoroperator= (const TIterator &)
 
- Protected Member Functions inherited from TIterator
 TIterator ()
 
 TIterator (const TIterator &)
 

Protected Attributes

RooArgSet _catList
 
pRooCategory_catPtrList
 
TObjString _compositeLabel
 
TObject_curItem
 
Int_t _curIter
 
RooCatType_curTypeList
 
pTIterator_iterList
 
Int_t _nIter
 
TString _rangeName
 

#include <RooMultiCatIter.h>

Inheritance diagram for RooMultiCatIter:
[legend]

Constructor & Destructor Documentation

◆ RooMultiCatIter() [1/2]

RooMultiCatIter::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

Definition at line 49 of file RooMultiCatIter.cxx.

◆ RooMultiCatIter() [2/2]

RooMultiCatIter::RooMultiCatIter ( const RooMultiCatIter other)

Copy constructor.

Definition at line 62 of file RooMultiCatIter.cxx.

◆ ~RooMultiCatIter()

RooMultiCatIter::~RooMultiCatIter ( )
virtual

Destructor.

Definition at line 113 of file RooMultiCatIter.cxx.

Member Function Documentation

◆ compositeLabel()

TObjString * RooMultiCatIter::compositeLabel ( )
protected

Construct string with composite object label corresponding to the state name of a RooMultiCategory or RooSuperCategory constructed from this set of input categories.

Definition at line 142 of file RooMultiCatIter.cxx.

◆ GetCollection()

const TCollection * RooMultiCatIter::GetCollection ( ) const
virtual

Dummy implementation, always returns zero.

Implements TIterator.

Definition at line 128 of file RooMultiCatIter.cxx.

◆ initialize()

void RooMultiCatIter::initialize ( const RooArgSet catList)
protected

Build iterator array for given catList.

Definition at line 72 of file RooMultiCatIter.cxx.

◆ Next()

TObject * RooMultiCatIter::Next ( )
virtual

Iterator increment operator.

Implements TIterator.

Definition at line 162 of file RooMultiCatIter.cxx.

◆ operator!=()

bool RooMultiCatIter::operator!= ( const TIterator aIter) const
virtual

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.

Reimplemented from TIterator.

Definition at line 236 of file RooMultiCatIter.cxx.

◆ operator*()

TObject * RooMultiCatIter::operator* ( ) const
virtual

Return current item (dummy)

Reimplemented from TIterator.

Definition at line 224 of file RooMultiCatIter.cxx.

◆ operator=()

TIterator & RooMultiCatIter::operator= ( const TIterator )
inlineprotectedvirtual

Reimplemented from TIterator.

Definition at line 45 of file RooMultiCatIter.h.

◆ Reset()

void RooMultiCatIter::Reset ( void  )
virtual

Rewind master iterator.

Implements TIterator.

Definition at line 205 of file RooMultiCatIter.cxx.

Member Data Documentation

◆ _catList

RooArgSet RooMultiCatIter::_catList
protected

Definition at line 50 of file RooMultiCatIter.h.

◆ _catPtrList

pRooCategory* RooMultiCatIter::_catPtrList
protected

Definition at line 52 of file RooMultiCatIter.h.

◆ _compositeLabel

TObjString RooMultiCatIter::_compositeLabel
protected

Definition at line 56 of file RooMultiCatIter.h.

◆ _curItem

TObject* RooMultiCatIter::_curItem
protected

Definition at line 58 of file RooMultiCatIter.h.

◆ _curIter

Int_t RooMultiCatIter::_curIter
protected

Definition at line 55 of file RooMultiCatIter.h.

◆ _curTypeList

RooCatType* RooMultiCatIter::_curTypeList
protected

Definition at line 53 of file RooMultiCatIter.h.

◆ _iterList

pTIterator* RooMultiCatIter::_iterList
protected

Definition at line 51 of file RooMultiCatIter.h.

◆ _nIter

Int_t RooMultiCatIter::_nIter
protected

Definition at line 54 of file RooMultiCatIter.h.

◆ _rangeName

TString RooMultiCatIter::_rangeName
protected

Definition at line 57 of file RooMultiCatIter.h.

Libraries for RooMultiCatIter:
[legend]

The documentation for this class was generated from the following files: