> 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