The AIDA ITree interface provide two capabilities. The ability to group analysis objects
such as Histograms, Clouds, Tuples etc. into hierarchical directories (or
folders), and the ability to save and restore sets of analysis objects into
files or databases.

A second use for trees is to allow objects to be stored and retrieved from
files or databases. So far we have always used the
ITreeFactory.create() method
to create ITree's. This method creates an
ITree that is not associated with any
storage, so the objects associated with this type of Tree are only valid within
the current process. The other methods of
ITreeFactory allow
ITree's to be
associated with a file or database. The following example shows how to create a
set of histograms and store them in a file.

In this case we are creating a compressed XML file. The precise types of
files or databases which can be used will depend on which implementation of AIDA
you are using, however all AIDA implementations should support reading and
writing XML files to allow easy interchange of objects. The next example shows how to
read an XML file back in.

In designing the ITree interface we have borrowed some other concepts from
Unix. In particular ITree's allow other ITree's to be mounted and unmounted at
an arbitrary point in the tree. This allows a whole set of files to be opened
but be viewed by the AIDA user as a single ITree. ITree's also support symbolic
links.