152 if (obj && obj->IsA() == TFolder::Class()) {
166 std::cerr <<
"TFolder dtor called for "<<
GetName() << std::endl;
174 if (obj == 0 ||
fFolders == 0)
return;
190 if (strchr(
name,
'/')) {
191 ::Error(
"TFolder::TFolder",
"folder name cannot contain a slash: %s",
name);
195 ::Error(
"TFolder::TFolder",
"folder name cannot be \"\"");
243 if (strcmp(
gFolderD[0],
"root")==0) {
256 if (
name[0] ==
'/')
return 0;
262 while ((obj=next())) {
266 if (obj->IsA()->
InheritsFrom(TClass::Class()))
continue;
271 if (found)
return found;
284 Error(
"FindFullPathname",
"Not yet implemented");
293 Error(
"FindObject",
"Not yet implemented");
315 if (
name == 0)
return 0;
316 if (
name[0] ==
'/') {
317 if (
name[1] ==
'/') {
318 if (!strstr(
name,
"//root/"))
return 0;
327 if (nch < (
int)
sizeof(csname))
330 cname =
new char[nch+1];
333 char *
slash = strchr(cname,
'/');
338 if (nch >= (
int)
sizeof(csname))
delete [] cname;
342 if (nch >= (
int)
sizeof(csname))
delete [] cname;
346 if (nch >= (
int)
sizeof(csname))
delete [] cname;
360 if (
name[0] ==
'/')
return 0;
365 while ((obj=next())) {
367 if (obj->IsA() == TClass::Class())
continue;
370 if (found)
return found;
420 while ((obj = (
TObject *) nextobj())) {
444 while ((obj=next())) {
447 if (
n <=1)
return n-1;
450 while ((obj=next())) {
452 if (obj ==
object)
return n;
470 if (obj == 0 ||
fFolders == 0)
return;
static const char * gFolderD[64]
static Int_t gFolderLevel
static char gFolderPath[512]
Using a TBrowser one can browse all ROOT objects.
Collection abstract base class.
virtual TObject * Remove(TObject *obj)=0
virtual TObject * FindObject(const char *name) const
Find an object in this collection using its name.
virtual void Clear(Option_t *option="")=0
virtual void RecursiveRemove(TObject *obj)
Remove object from this collection and recursively remove the object from all other objects (and coll...
void Browse(TBrowser *b)
Browse this collection (called by TBrowser).
static void EmptyGarbageCollection()
Do the garbage collection.
virtual void Delete(Option_t *option="")=0
Delete this object.
virtual void SetOwner(Bool_t enable=kTRUE)
Set whether this collection is the owner (enable==true) of its content.
virtual void Add(TObject *obj)=0
static void StartGarbageCollection()
Set up for garbage collection.
A TFolder object is a collection of objects and folders.
virtual void SaveAs(const char *filename="", Option_t *option="") const
Save all objects in this folder in filename.
TFolder * AddFolder(const char *name, const char *title, TCollection *collection=0)
Create a new folder and add it to the list of folders of this folder, return a pointer to the created...
TFolder()
Default constructor used by the Input functions.
virtual TObject * FindObjectAny(const char *name) const
Return a pointer to the first object with name starting at this folder.
virtual void Add(TObject *obj)
Add object to this folder. obj must be a TObject or a TFolder.
virtual void Browse(TBrowser *b)
Browse this folder.
virtual ~TFolder()
Folder destructor.
virtual void Clear(Option_t *option="")
Delete all objects from a folder list.
virtual const char * FindFullPathName(const char *name) const
Return the full pathname corresponding to subpath name if the node is gROOT->GetRootFolder() and retu...
virtual void SetOwner(Bool_t owner=kTRUE)
Set ownership.
virtual TObject * FindObject(const char *name) const
Search object identified by name in the tree of folders inside this folder.
Bool_t IsOwner() const
Folder ownership has been set via.
virtual Int_t Occurence(const TObject *obj) const
Return occurence number of object in the list of objects of this folder.
virtual void ls(Option_t *option="") const
List folder contents.
virtual void RecursiveRemove(TObject *obj)
Recursively remove object from a folder.
virtual void Remove(TObject *obj)
Remove object from this folder. obj must be a TObject or a TFolder.
The TNamed class is the base class for all named ROOT classes.
virtual void Copy(TObject &named) const
Copy this to obj.
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
virtual void SetName(const char *name)
Set the name of the TNamed.
virtual const char * GetTitle() const
Returns title of object.
virtual const char * GetName() const
Returns name of object.
Wrapper around a TObject so it can be stored in a TList.
TObject * GetObject() const
Mother of all ROOT objects.
virtual const char * GetName() const
Returns name of object.
virtual void Dump() const
Dump contents of object on stdout.
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
virtual const char * ClassName() const
Returns name of class to which the object belongs.
virtual TObject * FindObject(const char *name) const
Must be redefined in derived classes.
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
virtual void Print(Option_t *option="") const
This method must be overridden when a class wants to print itself.
virtual void ls(Option_t *option="") const
The ls function lists the contents of a class on stdout.
@ kMustCleanup
if object destructor must call RecursiveRemove()
static Int_t IncreaseDirLevel()
Increase the indentation level for ls().
static void IndentLevel()
Functions used by ls() to indent an object hierarchy.
static Int_t DecreaseDirLevel()
Decrease the indentation level for ls().
Regular expression class.
TSubString Strip(EStripType s=kTrailing, char c=' ') const
Return a substring of self stripped at beginning and/or end.
TString & Remove(Ssiz_t pos)
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const