00001
00002 #ifndef rHistoFileServer_h
00003 #define rHistoFileServer_h
00004
00005 #include "Event/rTFileBase.h"
00006 #include "Event/rHistoFolderServer.h"
00007
00008 00010
00011 \e HistoFileServer shares the Input/Output interface defined in IOfileVI via rTFileBase. <br>
00012 \e HistoFileServer has an rHistoFolderServer that contains a collection
00013 of rHistoFolder located in the same root TFile file.
00014 <ul>
00015 <li> The <b> user </b> can define an output ROOT file with histogram and
00016 ntuples, using this class as a base class. <br>
00017 <li> In the derived class the user should create and add his rHistoFolder s into
00018 the system. For that he/she should write the method \c defineHistoFolders()
00019 see rHistoFolderServer for more information.
00020 <li> HistoFileServer modifies the \c open() of rTFileBase to set the same TFile into
00021 all the rHistoFolders of the rHistoFolderServer. In this way all the rHistoFolders
00022 are located in the same ROOT TFile.
00023 </ul>
00024 */
00025
00026
00027
00028
00029
00030 class rHistoFileServer : public rHistoFolderServer, public rTFileBase
00031
00032 {
00033 protected:
00034
00036
00037 rHistoFileServer() {};
00039 virtual ~rHistoFileServer() {};
00040
00042 virtual void defineHistoFolders() = 0 ;
00043
00045
00046 virtual void open();
00047 };
00048
00049 #endif
00050