Hi rooters,
I've just upgraded to root 2.23/08 from version 2.22/10
(on Linux RH 6.1) and have noticed the following new
behaviour. When using TTree::SetBranchStatus(), it seems
that setting *any* branch's status to 0 will force all
the TClonesArray branches to also be set to 0.
As an example, I have a TTree with two TClonesArray branches
PMTs and FECDs. The following code would return a poiner to
an element of PMTs in 2.22/10
{
TFile f1("test.root","READ");
T = (TTree *)f1.Get("T");
QEvent *event = new QEvent();
T->SetEventAddress(event);
T->SetBranchStatus("PMTs.Pmthl",0);
T->GetEvent(0);
TPMT * pmt = event->GetPMTs()->At(0)
(class TObject*)0x7deda8
}
where the member GetPMTs() returns a pointer to the TClonesArray
PMTs.
If I set any branch status to 0, the above code with root
2.23/08 returns pmt = NULL. If I then use
TTree::SetBranchStatus("*",1) all is fine.
Regards,
Mark.
=================================================================
= =
= Mark Boulay =
= Department of Physics phone/voice mail: (613) 533-6861 =
= Queen's University fax: (613) 533-6813 =
= Kingston, Ontario email: mgb@sno.phy.queensu.ca =
= Canada, K7L 3N6 Office 121 (c) =
= =
=================================================================
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:42 MET