split parameter for TTree

Christoph Borgmeier (borg@mail.desy.de)
Wed, 29 Oct 1997 10:55:56 +0100 (MET)


Hello,

as I understand it, the function

TBranch* TTree::Branch(const Text_t *name, const Text_t *classname,
void* addobj, Int_t bufsize=32000,
Int_t splitlevel=1);

takes a pointer to an object derived from TObject (with correct Streamer
functions). I have written an example similar to the famous Event example,
where the Track class has two ThreeVector members. The event class has a
pointer to an TClonesArray.

If I call the function above with splitlevel=1, the tracks in the file are
completely flattened, i.e. the ThreeVectors are not visible any more and
one of them is not easyly accessable, because its member names are
shadowed by the other.

This type of splitting seems to be a property of

TBranch* TTree::Branch(const Text_t *name, TClonesArray *list,
Int_t bufsize=32000, Int_t splitlevel=1);

Is there the possibility of making branches in a TClonesArray by hand?

best regards
Christoph

---------------------------------------------------------------------------
Christoph Borgmeier | Mail: DESY -F15-, Notkestr. 85, 22607 Hamburg
Humboldt Univ Berlin | Phone: +49 40 8998 2844
Email: borg@ifh.de |
---------------------------------------------------------------------------