![]() |
KaliVeda
Toolkit for HIC analysis
|
KaliVeda extensions to ROOT collection classes.
Created by KVClassFactory on Fri Jun 19 18:51:28 2009 Author: John Frankland,,,
This class adds functionalities such as
etc. to the standard ROOT collection classes. The actual collection is embedded and referenced through a TSeqCollection base pointer. The class of the embedded object for any given instance is passed as an argument to the constructor:
Any collection class derived from TSeqCollection is valid: this means all ordered collections, for which the order in which objects are added is preserved. Some of these lists can also be sorted (see below).
Any object derived from TObject can be stored in the collection, but only objects derived from KVBase can be sought using their 'type', 'label', or 'number' attributes (these characteristics are not defined for TObject).
Note that we can test the 'KVBase'-ness of any object through a TObject* base pointer using the 'KaliVeda' bit, KVBase::kIsKaliVedaObject:
If SendModifiedSignals() is called, then every time an object is added to or removed from the list, it will emit the signal Modified(). This can be used to monitor any changes to the state of the list.
In addition to the standard TList::FindObject(const Char_t*) and TList::FindObject(TObject*) methods, KVSeqCollection adds methods to find objects based on several different properties, such as type, label, number, or class. Note that type, label and number are only defined for objects derived from KVBase; if the list contains a mixture of TObject- and KVBase-derived objects, the TObject-derived objects will be ignored if type, label or number are used to search.
Finally, the very general FindObjectWithMethod() method can search for an object using any valid method.
The GetSubListWith... methods allow to generate new lists containing a subset of the objects in the main list, according to their name, label, type, etc. These sublists do not own their objects (they are supposed to be owned by the main list), and must be deleted by the user in order to avoid memory leaks.
The Execute methods can be used to execute a given method with the same arguments for every object in the list.
No Sort() method is defined in base class TSeqCollection, although the TCollection::IsSortable() method returns kTRUE by default (and is not overridden in child classes which do not implement sorting). Therefore whether or not a KVSeqCollection can be sorted depends on the collection class which is being used. We do not define a KVSeqCollection::Sort() method. If you want to sort a KVSeqCollection and you know that the embedded collection class has a valid Sort() method, you can do as follows:
or perhaps more cautiously you should do:
Definition at line 92 of file KVSeqCollection.h.
#include <KVSeqCollection.h>

Public Member Functions | |
| KVSeqCollection () | |
| Default constructor. More... | |
| KVSeqCollection (const KVSeqCollection &) | |
| KVSeqCollection (const TString &collection_classname) | |
| KVSeqCollection (KVSeqCollection &&) | |
| virtual | ~KVSeqCollection () |
| void | Add (TObject *obj) override |
| void | AddAfter (const TObject *after, TObject *obj) override |
| void | AddAt (TObject *obj, Int_t idx) override |
| void | AddBefore (const TObject *before, TObject *obj) override |
| void | AddFirst (TObject *obj) override |
| void | AddLast (TObject *obj) override |
| TObject * | After (const TObject *obj) const override |
| TObject * | At (Int_t idx) const override |
| TObject * | Before (const TObject *obj) const override |
| void | Clear (Option_t *option="") override |
| TString | CollectionClassName () const |
| void | Copy (TObject &obj) const override |
| void | Delete (Option_t *option="") override |
| void | Execute (const char *method, const char *params, Int_t *error=0) override |
| void | Execute (TMethod *method, TObjArray *params, Int_t *error=0) override |
| TObject * | FindObject (const char *name) const override |
| TObject * | FindObject (const TObject *obj) const override |
| virtual TObject * | FindObjectAny (const Char_t *att, const Char_t *keys, Bool_t contains_all=kFALSE, Bool_t case_sensitive=kTRUE) const |
| TObject * | FindObjectByClass (const Char_t *) const |
| Return (first) object in embedded list with given class. More... | |
| TObject * | FindObjectByClass (const TClass *) const |
| Return (first) object in embedded list with given class. More... | |
| virtual TObject * | FindObjectByLabel (const Char_t *) const |
| virtual TObject * | FindObjectByName (const Char_t *name) const |
| virtual TObject * | FindObjectByNumber (UInt_t num) const |
| virtual TObject * | FindObjectByTitle (const Char_t *) const |
| Will return object with given title (value of TObject::GetTitle() method). More... | |
| virtual TObject * | FindObjectByType (const Char_t *) const |
| virtual TObject * | FindObjectWithMethod (const Char_t *retvalue, const Char_t *method) const |
| virtual TObject * | FindObjectWithNameAndType (const Char_t *name, const Char_t *type) const |
| TObject * | First () const override |
| template<typename T > | |
| T * | get_object (const TString &name) const |
| TSeqCollection * | GetCollection () const |
| TObject ** | GetObjectRef (const TObject *obj) const override |
| Return reference to object. More... | |
| Int_t | GetSize () const override |
| KVSeqCollection * | GetSubListWithClass (const Char_t *class_name) const |
| KVSeqCollection * | GetSubListWithClass (const TClass *_class) const |
| KVSeqCollection * | GetSubListWithLabel (const Char_t *retvalue) const |
| KVSeqCollection * | GetSubListWithMethod (const Char_t *retvalue, const Char_t *method) const |
| KVSeqCollection * | GetSubListWithName (const Char_t *retvalue) const |
| KVSeqCollection * | GetSubListWithType (const Char_t *retvalue) const |
| Bool_t | IsCleanup () const |
| virtual Bool_t | IsSendingModifiedSignals () const |
| Bool_t | IsSortable () const override |
| Bool_t | IsSorted () const override |
| TObject * | Last () const override |
| TIterator * | MakeIterator (Bool_t dir=kIterForward) const override |
| Make and return iterator for the list. More... | |
| virtual void | Modified () |
| Bool_t | operator! () const |
| KVSeqCollection & | operator= (const KVSeqCollection &) |
| KVSeqCollection & | operator= (KVSeqCollection &&) |
| void | RecursiveRemove (TObject *obj) override |
| TObject * | Remove (TObject *obj) override |
| Remove object from list. More... | |
| virtual void | SendModifiedSignals (Bool_t yes=kTRUE) |
| virtual void | SetCleanup (Bool_t enable=kTRUE) |
| void | SetOwner (Bool_t enable=kTRUE) override |
Public Member Functions inherited from TSeqCollection | |
| virtual | ~TSeqCollection () |
| virtual Int_t | GetLast () const |
| virtual Int_t | IndexOf (const TObject *obj) const |
| TClass * | IsA () const override |
| Int_t | LastIndex () const |
| Long64_t | Merge (TCollection *list) |
| virtual void | RemoveAfter (TObject *after) |
| virtual TObject * | RemoveAt (Int_t idx) |
| virtual void | RemoveBefore (TObject *before) |
| virtual void | RemoveFirst () |
| virtual void | RemoveLast () |
| void | Streamer (TBuffer &) override |
| void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
| void | UnSort () |
Public Member Functions inherited from TCollection | |
| virtual | ~TCollection () |
| virtual void | AddAll (const TCollection *col) |
| void | AddVector (TObject *obj1,...) |
| Bool_t | AssertClass (TClass *cl) const |
| TIter | begin () const |
| void | Browse (TBrowser *b) override |
| Int_t | Capacity () const |
| TObject * | Clone (const char *newname="") const override |
| Int_t | Compare (const TObject *obj) const override |
| Bool_t | Contains (const char *name) const |
| Bool_t | Contains (const TObject *obj) const |
| void | Draw (Option_t *option="") override |
| void | Dump () const override |
| TIter | end () const |
| virtual Int_t | GetEntries () const |
| const char * | GetName () const override |
| virtual Int_t | GrowBy (Int_t delta) const |
| ULong_t | Hash () const override |
| Bool_t | IsArgNull (const char *where, const TObject *obj) const |
| virtual Bool_t | IsEmpty () const |
| Bool_t | IsFolder () const override |
| Bool_t | IsOwner () const |
| R__ALWAYS_INLINE Bool_t | IsUsingRWLock () const |
| void | ls (Option_t *option="") const override |
| virtual TIterator * | MakeReverseIterator () const |
| Bool_t | Notify () override |
| TObject * | operator() (const char *name) const |
| void | Paint (Option_t *option="") override |
| virtual void | Print (Option_t *option, const char *wildcard, Int_t recurse=1) const |
| virtual void | Print (Option_t *option, Int_t recurse) const |
| virtual void | Print (Option_t *option, TPRegexp ®exp, Int_t recurse=1) const |
| void | Print (Option_t *option="") const override |
| void | RemoveAll () |
| virtual void | RemoveAll (TCollection *col) |
| void | SetCurrentCollection () |
| void | SetName (const char *name) |
| void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
| virtual bool | UseRWLock (Bool_t enable=true) |
| Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const override |
| Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) override |
Public Member Functions inherited from TObject | |
| TObject () | |
| TObject (const TObject &object) | |
| virtual | ~TObject () |
| void | AbstractMethod (const char *method) const |
| virtual void | AppendPad (Option_t *option="") |
| ULong_t | CheckedHash () |
| virtual const char * | ClassName () const |
| virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
| virtual void | DrawClass () const |
| virtual TObject * | DrawClone (Option_t *option="") const |
| virtual void | Error (const char *method, const char *msgfmt,...) const |
| virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
| virtual void | Fatal (const char *method, const char *msgfmt,...) const |
| virtual Option_t * | GetDrawOption () const |
| virtual const char * | GetIconName () const |
| virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
| virtual Option_t * | GetOption () const |
| virtual const char * | GetTitle () const |
| virtual UInt_t | GetUniqueID () const |
| virtual Bool_t | HandleTimer (TTimer *timer) |
| Bool_t | HasInconsistentHash () const |
| virtual void | Info (const char *method, const char *msgfmt,...) const |
| virtual Bool_t | InheritsFrom (const char *classname) const |
| virtual Bool_t | InheritsFrom (const TClass *cl) const |
| virtual void | Inspect () const |
| void | InvertBit (UInt_t f) |
| Bool_t | IsDestructed () const |
| virtual Bool_t | IsEqual (const TObject *obj) const |
| R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
| R__ALWAYS_INLINE Bool_t | IsZombie () const |
| void | MayNotUse (const char *method) const |
| void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
| void | operator delete (void *ptr) |
| void | operator delete (void *ptr, void *vp) |
| void | operator delete[] (void *ptr) |
| void | operator delete[] (void *ptr, void *vp) |
| void * | operator new (size_t sz) |
| void * | operator new (size_t sz, void *vp) |
| void * | operator new[] (size_t sz) |
| void * | operator new[] (size_t sz, void *vp) |
| TObject & | operator= (const TObject &rhs) |
| virtual void | Pop () |
| virtual Int_t | Read (const char *name) |
| void | ResetBit (UInt_t f) |
| virtual void | SaveAs (const char *filename="", Option_t *option="") const |
| virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
| void | SetBit (UInt_t f) |
| void | SetBit (UInt_t f, Bool_t set) |
| virtual void | SetDrawOption (Option_t *option="") |
| virtual void | SetUniqueID (UInt_t uid) |
| void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
| virtual void | SysError (const char *method, const char *msgfmt,...) const |
| R__ALWAYS_INLINE Bool_t | TestBit (UInt_t f) const |
| Int_t | TestBits (UInt_t f) const |
| virtual void | UseCurrentStyle () |
| virtual void | Warning (const char *method, const char *msgfmt,...) const |
Static Public Member Functions | |
| static KVSeqCollection * | MakeListFromFile (TFile *file) |
| static KVSeqCollection * | MakeListFromFileWithClass (TFile *file, const Char_t *class_name) |
| static KVSeqCollection * | MakeListFromFileWithClass (TFile *file, const TClass *_class) |
| static KVSeqCollection * | MakeListFromFileWithMethod (TFile *file, const Char_t *retvalue, const Char_t *method) |
| static void | RehashCleanupList () |
Static Public Member Functions inherited from TSeqCollection | |
| static TClass * | Class () |
| static const char * | Class_Name () |
| static constexpr Version_t | Class_Version () |
| static const char * | DeclFileName () |
| static Int_t | ObjCompare (TObject *a, TObject *b) |
| static void | QSort (TObject **a, Int_t first, Int_t last) |
| static void | QSort (TObject **a, Int_t nBs, TObject ***b, Int_t first, Int_t last) |
| static void | QSort (TObject **a, TObject **b, Int_t first, Int_t last) |
Static Public Member Functions inherited from TCollection | |
| static TClass * | Class () |
| static const char * | Class_Name () |
| static constexpr Version_t | Class_Version () |
| static const char * | DeclFileName () |
| static void | EmptyGarbageCollection () |
| static void | GarbageCollect (TObject *obj) |
| static TCollection * | GetCurrentCollection () |
| static void | StartGarbageCollection () |
Static Public Member Functions inherited from TObject | |
| static TClass * | Class () |
| static const char * | Class_Name () |
| static constexpr Version_t | Class_Version () |
| static const char * | DeclFileName () |
| static Longptr_t | GetDtorOnly () |
| static Bool_t | GetObjectStat () |
| static void | SetDtorOnly (void *obj) |
| static void | SetObjectStat (Bool_t stat) |
Private Types | |
| enum | { kSignals = BIT(15) , kCleanup = BIT(17) } |
Private Member Functions | |
| void | _GetSubListWithClass (KVSeqCollection *, TCollection *, const TClass *) const |
| virtual void | _GetSubListWithMethod (KVSeqCollection *, TCollection *, const Char_t *, const Char_t *) const |
| void | Changed () override |
| void | init () |
| KVSeqCollection * | NewCollectionLikeThisOne () const |
| void | PrintCollectionHeader (Option_t *option) const override |
| Overrides TCollection::PrintCollectionHeader to show the class name of the embedded list. More... | |
| void | SetCollection (const TString &) |
Private Attributes | |
| TSeqCollection * | fCollection |
| Pointer to embedded ROOT collection. More... | |
Static Private Attributes | |
| static TSeqCollection * | fgCleanups = NULL |
| regroup all lists which are to be cleaned up More... | |
| static Int_t | fgCounter = 0 |
| counts instances More... | |
| static Long64_t | fSCCounter = 0 |
| counter used to give unique names to all lists More... | |
Additional Inherited Members | |
Public Types inherited from TObject | |
| enum | EDeprecatedStatusBits |
| enum | EStatusBits |
Public Attributes inherited from TCollection | |
| kInitCapacity | |
| kInitHashTableCapacity | |
Public Attributes inherited from TObject | |
| kBitMask | |
| kCanDelete | |
| kCannotPick | |
| kHasUUID | |
| kInconsistent | |
| kInvalidObject | |
| kIsOnHeap | |
| kIsReferenced | |
| kMustCleanup | |
| kNoContextMenu | |
| kNotDeleted | |
| kObjInCanvas | |
| kOverwrite | |
| kSingleKey | |
| kWriteDelete | |
| kZombie | |
Protected Types inherited from TCollection | |
| enum | EStatusBits |
Protected Member Functions inherited from TSeqCollection | |
| TSeqCollection () | |
Protected Member Functions inherited from TCollection | |
| TCollection () | |
| virtual const char * | GetCollectionEntryName (TObject *entry) const |
| virtual void | PrintCollectionEntry (TObject *entry, Option_t *option, Int_t recurse) const |
Protected Member Functions inherited from TObject | |
| virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
| void | MakeZombie () |
Protected Attributes inherited from TSeqCollection | |
| Bool_t | fSorted |
Protected Attributes inherited from TCollection | |
| TString | fName |
| Int_t | fSize |
| kIsOwner | |
| kUseRWLock | |
Protected Attributes inherited from TObject | |
| kOnlyPrepStep | |
|
private |
| Enumerator | |
|---|---|
| kSignals | |
| kCleanup | in ROOT v6 BIT(16) is used by TCollection - without changing the class version |
Definition at line 95 of file KVSeqCollection.h.
| KVSeqCollection::KVSeqCollection | ( | ) |
Default constructor.
Definition at line 52 of file KVSeqCollection.cpp.
| KVSeqCollection::KVSeqCollection | ( | const KVSeqCollection & | col | ) |
Copy constructor See KVSeqCollection::Copy
Definition at line 66 of file KVSeqCollection.cpp.
| KVSeqCollection::KVSeqCollection | ( | KVSeqCollection && | other | ) |
Move constructor
We simply transfer the embedded collection to this object, and leave the other in an empty state
Definition at line 86 of file KVSeqCollection.cpp.
| KVSeqCollection::KVSeqCollection | ( | const TString & | collection_classname | ) |
Create new extended collection of class "collection_classname". Must be the name of a class derived from TSeqCollection.
Definition at line 137 of file KVSeqCollection.cpp.
|
virtual |
Destructor If the cleanup mechanism is in use, we first remove the list from the list of cleanups
Definition at line 187 of file KVSeqCollection.cpp.
|
private |
Definition at line 836 of file KVSeqCollection.cpp.
|
privatevirtual |
Definition at line 921 of file KVSeqCollection.cpp.
Add an object to the list. If the cleanup mechanism is in use, we set the TObject::kMustCleanup bit of the object before adding it to the list.
Reimplemented from TSeqCollection.
Reimplemented in KVGVList, KVUniqueNameList, and KVParticle::FrameList.
Definition at line 225 of file KVSeqCollection.h.
Add an object to the list. If the cleanup mechanism is in use, we set the TObject::kMustCleanup bit of the object before adding it to the list.
Implements TSeqCollection.
Reimplemented in KVUniqueNameList.
Definition at line 189 of file KVSeqCollection.h.
Add an object to the list. If the cleanup mechanism is in use, we set the TObject::kMustCleanup bit of the object before adding it to the list.
Implements TSeqCollection.
Reimplemented in KVUniqueNameList.
Definition at line 179 of file KVSeqCollection.h.
Add an object to the list. If the cleanup mechanism is in use, we set the TObject::kMustCleanup bit of the object before adding it to the list.
Implements TSeqCollection.
Reimplemented in KVUniqueNameList.
Definition at line 199 of file KVSeqCollection.h.
Add an object to the list. If the cleanup mechanism is in use, we set the TObject::kMustCleanup bit of the object before adding it to the list.
Implements TSeqCollection.
Reimplemented in KVGVList, and KVUniqueNameList.
Definition at line 159 of file KVSeqCollection.h.
Add an object to the list. If the cleanup mechanism is in use, we set the TObject::kMustCleanup bit of the object before adding it to the list.
Implements TSeqCollection.
Reimplemented in KVUniqueNameList.
Definition at line 169 of file KVSeqCollection.h.
Implements TSeqCollection.
Definition at line 213 of file KVSeqCollection.h.
Implements TSeqCollection.
Definition at line 155 of file KVSeqCollection.h.
Implements TSeqCollection.
Definition at line 209 of file KVSeqCollection.h.
|
inlineoverrideprivatevirtual |
Called by Add/RemoveObject, Clear and Delete. We make it emit the "Modified()" signal, if the kSignals bit has been set using SendModifiedSignals(kTRUE).
Reimplemented from TSeqCollection.
Definition at line 109 of file KVSeqCollection.h.
Clear the list of objects. If list is 'owner', this will delete the objects.
| [in] | option | if option "nodelete", no objects are deleted even if the list is 'owner' |
If the cleanup mechanism is in use, and the objects belong to the list (i.e. Clear() will in fact delete all the objects) we first remove this list from the list of cleanups in order to avoid recursive deletes
Implements TCollection.
Reimplemented in KVBreakUp, and KVParticle::FrameList.
Definition at line 330 of file KVSeqCollection.cpp.
|
inline |
Return classname of embedded collection object
Definition at line 251 of file KVSeqCollection.h.
Copy a list of objects.
The name of the list is only copied if the list is not IsCleanup(). Cleanup lists must have unique names otherwise the THashList which contains them cannot function correctly.
If this list owns its objects, we make new Clones of all objects in the list (N.B. the Clone() method must work correctly for the objects in question) and put them in the copy list, the copy will own these new objects.
Copy will have same IsOwner() and IsCleanup() status as this list.
If this list sends Modified() signal, the copy will do too.
Reimplemented from TObject.
Reimplemented in KVParticle::FrameList.
Definition at line 235 of file KVSeqCollection.cpp.
Delete all heap-based objects in the list.
If the cleanup mechanism is in use we first remove this list from the list of cleanups in order to avoid recursive deletes
Implements TCollection.
Definition at line 369 of file KVSeqCollection.cpp.
|
overridevirtual |
Redefinition of TObject::Execute(const char *, const char *, Int_t *) method. TObject::Execute is called for each object in the embedded list in order, meaning that for each object the method "method" is executed with arguments "params".
Reimplemented from TObject.
Definition at line 678 of file KVSeqCollection.cpp.
|
overridevirtual |
Redefinition of TObject::Execute(TMethod *, TObjArray *, Int_t *) method. TObject::Execute is called for each object in the embedded list in order, meaning that for each object the method "method" is executed with arguments "params".
Reimplemented from TObject.
Definition at line 699 of file KVSeqCollection.cpp.
|
inlineoverridevirtual |
Reimplemented from TCollection.
Definition at line 265 of file KVSeqCollection.h.
Reimplemented from TCollection.
Definition at line 275 of file KVSeqCollection.h.
|
virtual |
Find an object in the list, if one of its characteristics 'att' contains any or all of the keywords contained in the string 'keys'
att = "name", "title", "class", "type", "label", WARNING: when using "type" or "label", any objects in list which do not inherit from KVBase are ignored keys = list of keywords, separated by spaces
contains_all = kFALSE (default) : object found if any keyword occurs in the characteristic 'att' contains_all = kTRUE : object found if all keywords occur in the characteristic 'att'
case_sensitive = kTRUE (default) : case-sensitive comparison case_sensitive = kFALSE : ignore case of keywords
Definition at line 730 of file KVSeqCollection.cpp.
Return (first) object in embedded list with given class.
Definition at line 525 of file KVSeqCollection.cpp.
Return (first) object in embedded list with given class.
Definition at line 508 of file KVSeqCollection.cpp.
Will return object with given label (value of KVBase::GetLabel() method). Objects in list which do not inherit KVBase do not have GetLabel() method, and are ignored.
Definition at line 539 of file KVSeqCollection.cpp.
Definition at line 279 of file KVSeqCollection.h.
Will return object with given number (value of KVBase::GetNumber() method). Objects in list which do not inherit KVBase do not have GetNumber() method, and are ignored.
Definition at line 563 of file KVSeqCollection.cpp.
Will return object with given title (value of TObject::GetTitle() method).
Definition at line 490 of file KVSeqCollection.cpp.
Will return object with given type (value of KVBase::GetType() method). Objects in list which do not inherit KVBase do not have GetType() method, and are ignored.
Definition at line 468 of file KVSeqCollection.cpp.
|
virtual |
Find the first object in the list for which the given method returns the given return value: e.g. if method = "GetName" and retvalue = "john", we return the first object in this list for which GetName() returns "john".
For each object of the list, the existence of the given method is checked using TMethodCall::IsValid() if the method is valid and the return value is equal to the input one (retvalue) object is returned Supported return types are those defined in TMethodCall::ReturnType()
Definition at line 613 of file KVSeqCollection.cpp.
|
virtual |
Return object with specified name AND type (value of KVBase::GetType() method). Objects in list which do not inherit KVBase do not have GetType() method, and are ignored.
Definition at line 586 of file KVSeqCollection.cpp.
|
inlineoverridevirtual |
Implements TSeqCollection.
Definition at line 217 of file KVSeqCollection.h.
Definition at line 271 of file KVSeqCollection.h.
|
inline |
Definition at line 327 of file KVSeqCollection.h.
Return reference to object.
Implements TCollection.
Definition at line 393 of file KVSeqCollection.cpp.
|
inlineoverridevirtual |
Reimplemented from TCollection.
Definition at line 241 of file KVSeqCollection.h.
| KVSeqCollection * KVSeqCollection::GetSubListWithClass | ( | const Char_t * | class_name | ) | const |
Recursively create and fill a (sub)list with objects in this list (and any sublists) of the given class. This new list will be of the same kind as this one. The objects in the sublist do not belong to the sublist.
*** WARNING *** : DELETE the KVList returned by this method after using it !!! *** RECOMMENDED *** : store the returned value in a std::unique_ptr unique_ptr<KVSeqCollection> ptr(GetSubListWithClass(...));
Definition at line 860 of file KVSeqCollection.cpp.
| KVSeqCollection * KVSeqCollection::GetSubListWithClass | ( | const TClass * | _class | ) | const |
Create and fill a (sub)list with objects in this list of the given class. This new list will be of the same kind as this one. The objects in the sublist do not belong to the sublist.
*** WARNING *** : DELETE the KVSeqCollection returned by this method after using it !!! *** RECOMMENDED *** : store the returned value in a std::unique_ptr unique_ptr<KVSeqCollection> ptr(GetSubListWithClass(...));
Definition at line 816 of file KVSeqCollection.cpp.
| KVSeqCollection * KVSeqCollection::GetSubListWithLabel | ( | const Char_t * | retvalue | ) | const |
Create and fill a (sub)list with all objects in this list whose label (i.e. string returned by GetLabel()) is "retvalue" This new list will be of the same kind as this one. The objects in the sublist do not belong to the sublist.
*** WARNING *** : DELETE the KVList returned by this method after using it !!! *** RECOMMENDED *** : store the returned value in a std::unique_ptr unique_ptr<KVSeqCollection> ptr(GetSubListWithLabel(...));
Definition at line 1003 of file KVSeqCollection.cpp.
| KVSeqCollection * KVSeqCollection::GetSubListWithMethod | ( | const Char_t * | retvalue, |
| const Char_t * | method | ||
| ) | const |
Recursively create and fill a (sub)list with objects in this list (and any sublists) for which the given method returns the given return value: e.g. if method = "GetName" and retvalue = "john", we return the (sub)list of objects in this list for which GetName() returns "john".
This new list will be of the same kind as this one. The objects in the sublist do not belong to the sublist. *** WARNING *** : DELETE the list returned by this method after using it !!! *** RECOMMENDED *** : store the returned value in a std::unique_ptr unique_ptr<KVSeqCollection> ptr(GetSubListWithMethod(...));
For each object of the list, the existence of the given method is checked using TMethodCall::IsValid() if the method is valid and the return value is equal to the input one (retvalue) object is added to the subKVList return type supported are those defined in TMethodCall::ReturnType()
Definition at line 894 of file KVSeqCollection.cpp.
| KVSeqCollection * KVSeqCollection::GetSubListWithName | ( | const Char_t * | retvalue | ) | const |
Create and fill a (sub)list with all objects in this list whose name (i.e. string returned by GetName()) is "retvalue" This new list will be of the same kind as this one. The objects in the sublist do not belong to the sublist.
*** WARNING *** : DELETE the KVList returned by this method after using it !!! *** RECOMMENDED *** : store the returned value in a std::unique_ptr unique_ptr<KVSeqCollection> ptr(GetSubListWithName(...));
Definition at line 977 of file KVSeqCollection.cpp.
| KVSeqCollection * KVSeqCollection::GetSubListWithType | ( | const Char_t * | retvalue | ) | const |
Create and fill a (sub)list with all objects in this list whose type (i.e. string returned by GetType()) is "retvalue" This new list will be of the same kind as this one. The objects in the sublist do not belong to the sublist.
*** WARNING *** : DELETE the KVList returned by this method after using it !!! *** RECOMMENDED *** : store the returned value in a std::unique_ptr unique_ptr<KVSeqCollection> ptr(GetSubListWithType(...));
Definition at line 1029 of file KVSeqCollection.cpp.
Default initialisation called by ctors Make sure all lists have individual names to ensure rapid look-up in fgCleanups which is a THashList
Definition at line 31 of file KVSeqCollection.cpp.
|
inline |
Returns kTRUE if the ROOT cleanup mechanism is used to ensure that any objects in the list which get deleted elsewhere are removed from this list
Definition at line 257 of file KVSeqCollection.h.
|
inlinevirtual |
returns kTRUE if 'Modified()' signal is active (see SendModifiedSignals).
Definition at line 148 of file KVSeqCollection.h.
|
inlineoverridevirtual |
Reimplemented from TCollection.
Definition at line 318 of file KVSeqCollection.h.
|
inlineoverridevirtual |
Reimplemented from TSeqCollection.
Definition at line 322 of file KVSeqCollection.h.
|
inlineoverridevirtual |
Implements TSeqCollection.
Definition at line 221 of file KVSeqCollection.h.
|
overridevirtual |
Make and return iterator for the list.
Implements TCollection.
Definition at line 404 of file KVSeqCollection.cpp.
|
static |
Static method create a list containing all objects contain of a file The file can be closed after this method, objects stored in the list still remains valid if file=NULL, the current directory is considered
*** WARNING *** : DELETE the KVSeqCollection returned by this method after using it !!! *** RECOMMENDED *** : store the returned value in a std::unique_ptr unique_ptr<KVSeqCollection> ptr(MakeListFromFile(...));
Definition at line 1055 of file KVSeqCollection.cpp.
|
static |
Static method create a list containing all objects of given class in a file WARNING list has to be empty with KVList::Clear() method before closing file if file=NULL, the current directory is considered
*** WARNING *** : DELETE the KVList returned by this method after using it !!! *** RECOMMENDED *** : store the returned value in a std::unique_ptr unique_ptr<KVSeqCollection> ptr(MakeListFromFileWithClass(...));
Definition at line 1147 of file KVSeqCollection.cpp.
|
static |
Static method create a list containing all objects of given class in a file WARNING list has to be empty with KVList::Clear() method before closing file if file=NULL, the current directory is considered
*** WARNING *** : DELETE the KVList returned by this method after using it !!! *** RECOMMENDED *** : store the returned value in a std::unique_ptr unique_ptr<KVSeqCollection> ptr(MakeListFromFileWithClass(...));
Definition at line 1120 of file KVSeqCollection.cpp.
|
static |
Static method create a list containing all objects whose "method" returns "retvalue" in a file WARNING list has to be empty with KVSeqCollection::Clear() method before closing file if file=NULL, the current directory is considered
*** WARNING *** : DELETE the KVList returned by this method after using it !!! *** RECOMMENDED *** : store the returned value in a std::unique_ptr unique_ptr<KVSeqCollection> ptr(MakeListFromFileWithMethod(...));
Definition at line 1093 of file KVSeqCollection.cpp.
|
inlinevirtual |
Definition at line 134 of file KVSeqCollection.h.
|
private |
PROTECTED method Creates and returns pointer to a new (empty) KVSeqCollection (or derived class) with the same characteristics as this one :
Definition at line 302 of file KVSeqCollection.cpp.
|
inline |
Definition at line 331 of file KVSeqCollection.h.
| KVSeqCollection & KVSeqCollection::operator= | ( | const KVSeqCollection & | c | ) |
Definition at line 283 of file KVSeqCollection.cpp.
| KVSeqCollection & KVSeqCollection::operator= | ( | KVSeqCollection && | other | ) |
Move assignment operator
We simply copy all the object pointers from other to this object, and remove them from the other
Definition at line 106 of file KVSeqCollection.cpp.
Overrides TCollection::PrintCollectionHeader to show the class name of the embedded list.
Reimplemented from TCollection.
Definition at line 453 of file KVSeqCollection.cpp.
Remove object from this collection and recursively remove the object from all other objects (and collections).
NOTE: lists which are 'cleanup' and 'sendmodifiedsignals': the list will not emit 'Modified()' when objects in the list are deleted elsewhere, they are then removed by the cleanup mechanism by calling this method.
Reimplemented from TCollection.
Definition at line 435 of file KVSeqCollection.cpp.
|
static |
Definition at line 1201 of file KVSeqCollection.cpp.
Remove object from list.
Implements TCollection.
Reimplemented in KVParticle::FrameList.
Definition at line 415 of file KVSeqCollection.cpp.
yes=kTRUE: turns on signals-and-slots mechanism, list will emit 'Modified()' signal every time a change occurs (objects added or removed). yes=kFALSE: turns off signals-and-slots mechanism
By default, the 'Modified()' signal is NOT enabled.
Definition at line 138 of file KVSeqCollection.h.
To use the ROOT cleanup mechanism to ensure that any objects in the list which get deleted elsewhere are removed from this list, call SetCleanup(kTRUE)
Definition at line 1170 of file KVSeqCollection.cpp.
Create TSeqCollection-derived object of class 'class_name' and set as the embedded collection fCollection.
Definition at line 156 of file KVSeqCollection.cpp.
if(enable&&IsCleanup()) Warning("SetOwner","List %s will be both owner & cleanup",GetName());
Reimplemented from TCollection.
Reimplemented in KVUnownedList.
Definition at line 245 of file KVSeqCollection.h.
|
private |
Pointer to embedded ROOT collection.
Definition at line 107 of file KVSeqCollection.h.
|
staticprivate |
regroup all lists which are to be cleaned up
Definition at line 104 of file KVSeqCollection.h.
|
staticprivate |
counts instances
Definition at line 103 of file KVSeqCollection.h.
|
staticprivate |
counter used to give unique names to all lists
Definition at line 101 of file KVSeqCollection.h.