ROOT logo
ROOT » ROOFIT » ROOFITCORE » RooRefCountList

class RooRefCountList: public RooLinkedList



A RooRefCountList is a RooLinkedList that keeps a reference counter with each added node. Multiple Add()s of the same object will increase the counter instead of adding multiple copies. Remove() decrements the reference count until zero, when the object is actually removed.

Function Members (Methods)

public:
RooRefCountList()
RooRefCountList(const RooRefCountList&)
virtual~RooRefCountList()
voidTObject::AbstractMethod(const char* method) const
virtual voidAdd(TObject* arg)
virtual voidAdd(TObject* obj, Int_t count)
virtual voidTObject::AppendPad(Option_t* option = "")
TObject*RooLinkedList::At(Int_t index) const
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
static TClass*RooLinkedList::Class()
static TClass*TObject::Class()
virtual const char*TObject::ClassName() const
virtual voidRooLinkedList::Clear(Option_t* o = 0)
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidRooLinkedList::Delete(Option_t* o = 0)
virtual voidTObject::Delete(Option_t* option = "")MENU
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)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
TObject*RooLinkedList::find(const char* name) const
virtual TObject*RooLinkedList::FindObject(const char* name) const
virtual TObject*RooLinkedList::FindObject(const TObject* obj) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
TObject*RooLinkedList::First() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Int_tRooLinkedList::getHashTableSize() const
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Int_tRooLinkedList::GetSize() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
Int_tRooLinkedList::IndexOf(const TObject* arg) const
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 voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual TClass*RooLinkedList::IsA() const
virtual TClass*TObject::IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
RooLinkedListIterRooLinkedList::iterator(Bool_t dir = kTRUE) const
virtual voidTObject::ls(Option_t* option = "") const
TIterator*RooLinkedList::MakeIterator(Bool_t dir = kTRUE) const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
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)
RooRefCountList&operator=(const RooRefCountList&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidRooLinkedList::Print(const char* opt) const
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
Int_trefCount(TObject* obj)
virtual Bool_tRemove(TObject* obj)
virtual Bool_tRooLinkedList::Remove(TObject* arg)
virtual Bool_tRemoveAll(TObject* obj)
Bool_tRooLinkedList::Replace(const TObject* oldArg, const TObject* newArg)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidRooLinkedList::setHashTableSize(Int_t size)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidRooLinkedList::ShowMembers(TMemberInspector& insp, char* parent)
virtual voidTObject::ShowMembers(TMemberInspector& insp, char* parent)
voidRooLinkedList::Sort(Bool_t ascend)
virtual voidStreamer(TBuffer& b)
virtual voidRooLinkedList::Streamer(TBuffer& b)
virtual voidTObject::Streamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
voidRooLinkedList::StreamerNVirtual(TBuffer& b)
voidTObject::StreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
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
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
RooLinkedListElem*RooLinkedList::findLink(const TObject* arg) const
voidTObject::MakeZombie()
voidRooLinkedList::swapWithNext(RooLinkedListElem* elem)

Data Members

protected:
RooLinkedListElem*RooLinkedList::_first! Link to first element of list
Int_tRooLinkedList::_hashThreshSize threshold for hashing
RooHashTable*RooLinkedList::_htableLink! Hash table by link pointer
RooHashTable*RooLinkedList::_htableName! Hash table by name
RooLinkedListElem*RooLinkedList::_last! Link to last element of list
Int_tRooLinkedList::_sizeCurrent size of list

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

RooRefCountList()
 Default constructor construct lists with initial hash table size of 17
void Add(TObject* obj, Int_t count)
 Add object to list with given reference count increment
 List takes ownership of object.
Bool_t Remove(TObject* obj)
 Remove object from list and if reference count
 reaches zero delete object itself as well.
Bool_t RemoveAll(TObject* obj)
 Remove object from list and delete object itself
 regardless of reference count
Int_t refCount(TObject* obj)
 Return reference count associated with 'obj'
RooRefCountList()
virtual ~RooRefCountList()
{}
void Add(TObject* arg)
{ Add(arg,1) ; }