Hi Birger, Currently SetBranchStatus work only on a name matching basis. Hence if you do not use a regular expression, SetBranchStatus will only affect one branch object (in particular it will NOT affect its potential sub-branches). To obtain the result you expected just do: inputChain->SetBranchStatus("BRawHeader*",1); <- This is a split branch Cheers, Philippe. -----Original Message----- From: koblitz@poly.in2p3.fr [mailto:koblitz@poly.in2p3.fr] Sent: Thursday, July 17, 2003 10:20 AM To: Philippe Canal Cc: Rene Brun; roottalk@pcroot.cern.ch Subject: Why can I not enable reading of a split branch? Hi Philippe, following my questions from yesterday I spend another afternoon hunting bugs in root (at least I consider this to be a bug). What I do is (same file/library as yesterday): 1. Create a chain inputChain 2. Add a file to it 3. Then inputChain->SetBranchStatus("*",0); inputChain->SetBranchStatus("BRawHeader",1); <- This is a split branch b_header=inputChain->GetBranch("BRawHeader"); TRawHeader *header=0; b_header->SetAddress(&header); inputChain->GetEntry(3) -> No byte is read, but lots of constructors called, we had that yesterday... header->Print() -> header is not filled, but at least no crash... You can now nicely enable the individual branches of the split branch but enabling them all via inputChain->SetBranchStatus("BRawHeader",1); does not seem to work. This is especially problematic as I don't know in my code which input branches I have to expect. I consider this behaviour a bug, since enabling a branch should work irrespective of its split status. Cheers, Birger
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:13 MET