Hi Birger, Before calling GetFile, do chain.LoadTree(0); This will force the first file to be loaded and GetFile will work. In the CVS version, I have modified TChain::GetFile to automatically load the first file if no file has been connected. Rene Brun koblitz@poly.in2p3.fr wrote: > > Hi, > > I have problems reading a single object from a Chain, something which > works for a normal file: > TChain chain("Tree", "My Tree"); > chain.Add("file.root"); > TObject *o=chain.GetFile()->Get("MyObject"); > does not work, because chain.GetFile() returns a null pointer unless one > has at least connected to a branch on the file, first (which I use as a > Workaround), while the following works allways: > TFile f("file.root"); > TObject *o=f.Get("MyObject"); > Is this is a design limitation, or a bug? > My personal conviction is, that it is probably a bug, because already > connecting to a branch makes chain.GetFile() return the first file, while > a design limitiation would probably require you to use GetEntry() on the > chain, first. > > My request is therefore to have TChain::GetFile() return the first file in > the chain as soon as there is one added, or, implement a Get() method on > the TChain. > > Cheers, > Birger > > -- > Birger Koblitz Tel: +33/1 69 33 31 73 > Ecole Polytechnique - LLR > Route de Saclay > F-91128 Palaiseau
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:12 MET