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

In This Package:

RNTupleCnv.h

Go to the documentation of this file.
00001 #ifndef ROOTHISTCNV_RNTUPLECNV_H
00002 #define ROOTHISTCNV_RNTUPLECNV_H 1
00003 
00004 // Include files
00005 #include "RConverter.h"
00006 
00007 // Forward declarations
00008 class ISvcLocator;
00009 class NTUPLEINFO;
00010 class INTupleItem;
00011 class INTupleSvc;
00012 class INTuple;
00013 class TTree;
00014 
00015 namespace RootHistCnv {
00016 
00024   class RNTupleCnv : public RConverter   {
00025   public:
00027     virtual StatusCode initialize();
00029     virtual StatusCode finalize();
00030 
00032     virtual StatusCode createObj(IOpaqueAddress* pAddr, DataObject*& refpObj);
00034     virtual StatusCode updateObj( IOpaqueAddress* pAddr, DataObject* refpObj);
00036     virtual StatusCode createRep( DataObject* pObj, IOpaqueAddress*& refpAddr);
00038     virtual StatusCode updateRep( IOpaqueAddress* pAddr, DataObject* pObj);
00039 
00040   protected:
00042     RNTupleCnv( ISvcLocator* svc, const CLID& clid );
00043 
00045     virtual ~RNTupleCnv();
00046 
00048     virtual StatusCode load(TTree* tree, INTuple*& refpObj ) = 0;
00050     virtual StatusCode book(const std::string& desc, INTuple* pObj, TTree*& tree) = 0;
00052     virtual StatusCode writeData(TTree* rtree, INTuple* pObj) = 0;
00054     virtual StatusCode readData(TTree* rtree, INTuple* pObj, long ievt) = 0;
00055 
00056   protected:
00058     INTupleSvc*  m_ntupleSvc;
00059 
00060     virtual std::string rootVarType(int);
00061   };
00062 
00064   template<class TYP>
00065   INTupleItem* createNTupleItem(NTUPLEINFO& tags, long i, INTuple* tuple, TYP minimum, TYP maximum, long& size);
00066 
00067   template<class TYP>
00068   INTupleItem* createNTupleItem(std::string itemName, std::string blockName,
00069                                 std::string indexName,
00070                                 int indexRange, int arraySize, 
00071                                 TYP minimum, TYP maximum, 
00072                                 INTuple* tuple);
00073 
00074   bool parseName(std::string full, std::string &blk, std::string &var);
00075 
00076 }    // namespace RootHistCnv
00077 
00078 #endif    // RootHistCnv_RNTupleCnv_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:57:44 2011 for RootHistCnv by doxygen 1.4.7