>
> Thanks for sending me your test macro and your file.
> I have modified your macro to make it working. see below.
> Note the following:
> If you want to read one or a few subbranches, you have two possibilities:
> 1- the most efficient
> Get a pointer to the branch(es), eg
> TBranch *brevnt = amstree->GetBranch("Eventno");
> Set the branch address
> int evnt; brevnt->SetAddress(&evnt);
> In the loop on entries, do:
> brevnt->GetEntry(i); //this will fill evnt
>
> 2- slightly slower (example shown below)
> Disable all branches
> Activate the branch(es) you want to read
> Set the branch address
> In the loop on entries, do:
> amstree->GetEntry(i); //only active branches will be read
>
Thanks!
The first solution works. The second approach, although slower, is
preferable for my application, because it allows branch selection.
However I notice something strange with the second approach: your
macro only works if I do *not* load the shared library with the class
info (amsmc.sl in the files I sent). If I load the lib, GetEntry
reads nothing for the sub-branch.
In fact, my original macro works too if I don't load the library! (If
I don't load the library, I get various error messages when getting
the tree, and of course then cannot use the classes in the macro,
but the direct sub-branch read seems to work anyway).
Would you expect this behavior?
Kate.
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:51 MET