scripts/TestMapIO.C

Go to the documentation of this file.
00001 //____________________________________________________________________
00002 //
00003 // $Id: TestMapIO.C,v 1.2 2006/03/17 11:42:24 cholm Exp $
00004 //
00005 // Test I/O of ALiFMDMap
00006 //
00010 //____________________________________________________________________
00013 void 
00014 WriteTree()
00015 {
00016   TFile* file = TFile::Open("map.root", "RECREATE");
00017   TTree* tree = new TTree("T", "T");
00018   AliFMDFloatMap* m = new AliFMDFloatMap(1, 1, 1, 3);
00019   tree->Branch("map", "AliFMDFloatMap", &m);
00020   for (int i = 0; i < 3; i++) m->operator()(1,'I',0,i) = i + 1;
00021   tree->Fill();
00022   file->Write();
00023   file->Close();
00024 }
00025 
00026 //____________________________________________________________________
00029 void 
00030 ReadTree()
00031 {
00032   TFile* file = TFile::Open("map.root", "READ");
00033   TTree* tree = static_cast<TTree*>(file->Get("T"));
00034   AliFMDFloatMap* m = 0;
00035   tree->SetBranchAddress("map", &m);
00036   tree->GetEntry(0);
00037   for (int i = 0; i < 3; i++) {
00038     std::cout << "Map(1,'I',0," << i << "): " << m->operator()(1,'I',0,i)
00039               << std::endl;
00040   }
00041   file->Close();
00042 }
00043 
00044   
00045 //____________________________________________________________________
00048 void
00049 WriteMap() 
00050 {
00051   TFile* file = TFile::Open("map.root", "RECREATE");
00052   AliFMDFloatMap* m = new AliFMDFloatMap(1, 1, 1, 3);
00053   for (int i = 0; i < 3; i++) m->operator()(1,'I',0,i) = i + 1;
00054   m.Write("map");
00055   file->Close();
00056 }
00057 
00058 //____________________________________________________________________
00061 void
00062 ReadMap() 
00063 {
00064   TFile* file = TFile::Open("map.root", "READ");
00065   AliFMDFloatMap* m = static_cast<AliFMDFloatMap*>(file->Get("map"));
00066   std::cout << "Got map " << map << std::endl;
00067   for (int i = 0; i < 3; i++) {
00068     std::cout << "Map(1,'I',0," << i << "): " << m->operator()(1,'I',0,i)
00069               << std::endl;
00070   }
00071   file->Close();
00072 }
00073 
00074 
00075 //____________________________________________________________________
00078 void
00079 TestMapIO()
00080 {
00081   WriteMap();
00082   ReadMap();
00083   WriteTree();
00084   ReadTree();
00085 }
00086 
00087 //____________________________________________________________________
00088 //
00089 // EOF
00090 //

Generated on Fri Mar 24 17:11:21 2006 for ALICE FMD Off-line by  doxygen 1.4.6