The ATLFast main class has a member
TList *m_Makers; //list of makers
each maker is a software module that in turn supports one TClonesArray.
All Makers derive from a base class ATLFMaker where a common logic for
the Root Tree is implemented. Look at the functions:
void ATLFMaker::MakeBranch()
void ATLFMaker::SetChainAddress(TChain *chain)
void ATLFMaker::Streamer(TBuffer &R__b)
the AliRoot package from ALICE is using a similar and more elaborated
scheme.
Rene Brun
Paul M. Eugenio wrote:
>
> Hello,
>
> I have as a data memeber of an object a TClonesArray. I'm using this object to contain generic device hits and then saving them in a tree. I would like to have many instances (many branches of the same class) of this object in my tree. My object works well with one instance, but I'm finding that I need to add an additional static TClonesArray pointer to the class for each additional instance of that class. So if I have 2 instances of the object, I need 2 static TClonesArray pointer in the class defination. This works, but ultimately I want to have ten's of instances. I've tried to use an array of static TClonesArray pointer, but that failed. Are there any tricks that I can use to get by this limitation? Thanks.
>
> --
> Paul M. Eugenio
> Dept. of Physics
> Carnegie Mellon University
> (412) 268 6949
> eugenio@ernest.phys.cmu.edu
>
> _____________________________________________________
> / The scholar should know; one builds science with \
> o O 0 / the facts just like a house can be built of stones; \
> o | but an accumulation of facts is not a science just like |
> `\|||/ \ that a pile of stones is not a house. /
> (o o) \_____________________________________________________/
> ooO_(_)_Ooo___________________________________________Henri Poincare'_
> _____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|____
> __|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_
> _____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|____