TTree branches and member functions

From: Gene Van Buren (gene@genesis.star.bnl.gov)
Date: Tue Mar 28 2000 - 08:17:51 MEST


Hello. I understand the three different types of TBranches one can
use with TTrees:

a) non-objects
b) TObject derivatives
c) TClonesArray collections

Option b provides the ability to call member functions of the class
stored in the TTree when using TTree::Draw(), but requires reading in
all sub-branches if the split option is used. Option c allows reading
in only some sub-branches, but not the use of member functions.

It seems to me that option c could be made "smarter" - with the
ability to do member functions. This would add some complexity in
figuring out the branches (variables) on which a member function
has dependency, perhaps writing those depended-upon variables into
a (perhaps static) instance of the class on which the member function
could execute, and (unfortunately) would add a dependency on TTrees
using TClonesArrays on the library containing the class (already the
case in option b).

Has anyone tried to implement this or are the any thoughts to incorporate
this into the future of Root?

(I realize the member functions are available if you read the TTree
events into actualy instances of the class in memory, but I'd really
like to be able to use them in Draw().)

-Gene Van Buren



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:22 MET