> The problem is you didn't write your TExMap in the file, so it's normal
> you can't get it back afterwards ;-)
Oops! ;-)
> However if you replace
>
> hfile->Write("TestMap", TObject::kSingleKey);
>
> with
>
> testMap->Write();
That was a typo. I actually meant to do:
testMap->Write("TestMap", TObject::kSingleKey);
because I had already tried the approach you suggested, and got/get the
following problem:
root [0] TFile* hfile = new TFile("test.root","RECREATE");
root [1] TExMap* testMap = new TExMap();
root [2] testMap->Add(1,2);
root [3] testMap->Add(2,56);
root [4] testMap->Add(3,256);
root [5] cout << (testMap->GetValue(2))<<endl;;
56
root [6] cout << (testMap->GetValue(1))<<endl;;
2
root [8] testMap->Write();
root [9] hfile->Close();
root [10] gROOT->Reset()
Sure enough the TExMap appears to be added to the root file properly:
root [14] TFile f("test.root")
root [15] f.ls()
TFile** test.root
TFile* test.root
KEY: TExMap TestMap;1 Map with external hash
But I can't seem to "Get" it properly:
root [12] TExMap *map = (TExMap*)f2.Get("TExMap");
root [13] cout << (map->GetValue(2))<<endl;;
0
root [14] cout << (map->GetValue(1))<<endl;;
0
i.e. it seems to be empty!
Any help would be much appreciated!
Cheers,
Ed
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:12 MET