| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

RRawTree.cc

Go to the documentation of this file.
00001 #include "RootRawWriter/RRawTree.h"
00002 #include <iostream>
00003 #include <cstring>
00004 
00005 using namespace std;
00006 
00007 RRawTree::RRawTree()
00008   : m_file(0)
00009   , m_tree(0)
00010   , m_size(0)
00011 {
00012   if( sizeof(Int32) != 4 ) {
00013     cout<<"Error: Need a 32-bits type to hold each line of raw data"<<endl;
00014   }
00015 }
00016 
00017 RRawTree::~RRawTree()
00018 {
00019 }
00020 
00023 int RRawTree::open(const char* filename)
00024 {
00025   m_file = TFile::Open(filename,"recreate");
00026   if (!m_file) {
00027     return 0;
00028   }
00029   if (m_file->IsZombie()) {
00030     delete m_file;
00031     m_file = 0;
00032     return 0;
00033   }
00034   m_tree = new TTree("RRawTree","Root Raw Tree");
00035 
00036   m_tree->Branch("size",&m_size,"size/I");
00037   m_tree->Branch("buffer",m_buffer,"buffer[size]/I");
00038 
00039   return 1;
00040 }
00041 
00043 int RRawTree::fill(Int32* buffer, Int32 size)
00044 {
00045   memcpy(m_buffer, buffer, size*4);
00046   m_size=size;
00047 
00048   //  cout<<m_buffer<<" "<<m_size<<endl;
00049   m_tree->Fill();
00050 
00051   return 1;
00052 }
00053 
00055 int RRawTree::close()
00056 {
00057   m_file->Write();
00058   m_file->Close();
00059 
00060   return 1;
00061 }
00062 
00063 
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:07:36 2011 for RootRawWriter by doxygen 1.4.7