162 std::cerr <<
"TFolder dtor called for "<<
GetName() << std::endl;
170 if (obj == 0 ||
fFolders == 0)
return;
186 if (strchr(name,
'/')) {
187 ::Error(
"TFolder::TFolder",
"folder name cannot contain a slash: %s", name);
191 ::Error(
"TFolder::TFolder",
"folder name cannot be \"\"");
239 if (strcmp(
gFolderD[0],
"root")==0) {
252 if (name[0] ==
'/')
return 0;
258 while ((obj=
next())) {
267 if (found)
return found;
280 Error(
"FindFullPathname",
"Not yet implemented");
289 Error(
"FindObject",
"Not yet implemented");
311 if (name == 0)
return 0;
312 if (name[0] ==
'/') {
313 if (name[1] ==
'/') {
314 if (!strstr(name,
"//root/"))
return 0;
315 return gROOT->GetRootFolder()->FindObject(name+7);
317 return gROOT->GetRootFolder()->FindObject(name+1);
320 Int_t nch = strlen(name);
323 if (nch < (
int)
sizeof(csname))
326 cname =
new char[nch+1];
329 char *
slash = strchr(cname,
'/');
334 if (nch >= (
int)
sizeof(csname))
delete [] cname;
338 if (nch >= (
int)
sizeof(csname))
delete [] cname;
342 if (nch >= (
int)
sizeof(csname))
delete [] cname;
356 if (name[0] ==
'/')
return 0;
361 while ((obj=
next())) {
366 if (found)
return found;
416 while ((obj = (
TObject *) nextobj())) {
440 while ((obj=
next())) {
441 if (strcmp(obj->
GetName(),
object->GetName()) == 0) n++;
443 if (n <=1)
return n-1;
446 while ((obj=
next())) {
447 if (strcmp(obj->
GetName(),
object->GetName()) == 0) n++;
448 if (obj ==
object)
return n;
466 if (obj == 0 ||
fFolders == 0)
return;
virtual const char * GetTitle() const
Returns title of object.
virtual TObject * Remove(TObject *obj)=0
A TFolder object is a collection of objects and folders.
virtual void Clear(Option_t *option="")=0
static Int_t DecreaseDirLevel()
Decrease the indentation level for ls().
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
virtual TObject * FindObject(const char *name) const
Find an object in this collection using its name.
ClassImp(TSeqCollection) Int_t TSeqCollection TIter next(this)
Return index of object in collection.
virtual void SetOwner(Bool_t owner=kTRUE)
Set ownership.
virtual void SetName(const char *name)
Change (i.e.
virtual void SetOwner(Bool_t enable=kTRUE)
Set whether this collection is the owner (enable==true) of its content.
virtual void Remove(TObject *obj)
Remove object from this folder. obj must be a TObject or a TFolder.
static Int_t gFolderLevel
Regular expression class.
static const char * filename()
static const char * gFolderD[64]
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
virtual void Delete(Option_t *option="")=0
Delete this object.
virtual void ls(Option_t *option="") const
The ls function lists the contents of a class on stdout.
The TNamed class is the base class for all named ROOT classes.
virtual void Copy(TObject &named) const
Copy this to obj.
std::map< std::string, std::string >::const_iterator iter
virtual void Add(TObject *obj)
Add object to this folder. obj must be a TObject or a TFolder.
virtual void RecursiveRemove(TObject *obj)
Recursively remove object from a folder.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
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...
virtual void Print(Option_t *option="") const
This method must be overridden when a class wants to print itself.
Using a TBrowser one can browse all ROOT objects.
virtual void RecursiveRemove(TObject *obj)
Remove object from this collection and recursively remove the object from all other objects (and coll...
virtual void ls(Option_t *option="") const
List folder contents.
virtual const char * ClassName() const
Returns name of class to which the object belongs.
Collection abstract base class.
TObject * GetObject() const
Bool_t TestBit(UInt_t f) const
virtual const char * GetName() const
Returns name of object.
TSubString Strip(EStripType s=kTrailing, char c= ' ') const
Return a substring of self stripped at beginning and/or end.
static void StartGarbageCollection()
Set up for garbage collection.
TString & Remove(Ssiz_t pos)
virtual const char * GetName() const
Returns name of object.
Bool_t IsOwner() const
Folder ownership has been set via.
Wrapper around a TObject so it can be stored in a TList.
void Browse(TBrowser *b)
Browse this collection (called by TBrowser).
virtual void Add(TObject *obj)=0
static void EmptyGarbageCollection()
Do the garbage collection.
virtual ~TFolder()
Folder destructor.
static char gFolderPath[512]
Mother of all ROOT objects.
static Int_t IncreaseDirLevel()
Increase the indentation level for ls().
virtual TObject * FindObjectAny(const char *name) const
Return a pointer to the first object with name starting at this folder.
ClassImp(TFolder) TFolder
Default constructor used by the Input functions.
virtual void SaveAs(const char *filename="", Option_t *option="") const
Save all objects in this folder in filename.
virtual const char * FindFullPathName(const char *name) const
Return the full pathname corresponding to subpath name if the node is gROOT->GetRootFolder() and retu...
static void IndentLevel()
Functions used by ls() to indent an object hierarchy.
virtual TObject * FindObject(const char *name) const
Search object identified by name in the tree of folders inside this folder.
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
virtual void Clear(Option_t *option="")
Delete all objects from a folder list.
virtual Int_t Occurence(const TObject *obj) const
Return occurence number of object in the list of objects of this folder.
virtual void SetTitle(const char *title="")
Change (i.e. set) the title of the TNamed.
virtual TObject * FindObject(const char *name) const
Must be redefined in derived classes.
virtual void Browse(TBrowser *b)
Browse this folder.
virtual void Dump() const
Dump contents of object on stdout.