Hi,
Changes in the way TTree works has broken some of my code. The changes
are given below. Are these intended changes? I am using the very latest
CVS updates on a RedHat 7.2 linux machine with a completely fresh
recompile.
1. TTree::SetDirectory(0) does not seem to remove the tree from the
current directory. Using the following script (and tree1.root from
the tutorials directory), I get:
{
TFile f("tree1.root");
TTree *t1 = (TTree *)f.Get("t1");
t1->SetDirectory(0);
gDirectory->ls();
f.Close();
t1->Scan();
delete t1;
}
TFile** tree1.root
TFile* tree1.root
OBJ: TTree t1 a simple Tree with simple variables : 0
KEY: TTree t1;1 a simple Tree with simple variables
*** Break *** segmentation violation
This did not use to happen in an earlier version (3.01/07) of ROOT.
2. When naming a TTree, it seems that the first argument cannot contain a
space as illustrated with the following script. Is this
the intended behavior?
{
TFile f("junk.root","recreate");
TTree *t = new TTree("tree data","T");
Float_t x;
t->Branch("x",&x,"x/F");
x=2;
t->Fill();
t->Write();
f.ls();
f.Close();
}
Produces:
TFile** junk.root
TFile* junk.root
Thanks for your help.
Glen
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:41 MET