Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

RNTupleCnv.h

Go to the documentation of this file.
00001 #ifndef ROOTHISTCNV_RNTUPLECNV_H
00002 #define ROOTHISTCNV_RNTUPLECNV_H 1
00003 
00004 
00005 // Include files
00006 #include "RConverter.h"
00007 #include <map>
00008 #include <string>
00009 
00010 // Forward declarations
00011 class ISvcLocator;
00012 class NTUPLEINFO;
00013 class INTupleItem;
00014 class INTupleSvc;
00015 class INTuple;
00016 
00017 //#include "TTree.h"
00018 class TTree;
00019 
00020 
00021 //====================================================================
00022 //  NTuple converter class definition
00023 //--------------------------------------------------------------------
00024 //
00025 //  Package    : RootHistCnv 
00026 //  Author     : Charles Leggett
00027 //
00028 //====================================================================
00029 
00030 
00031 namespace RootHistCnv {
00032 
00033   class RNTupleCnv : public RConverter   {
00034 
00035   public:
00037     virtual StatusCode initialize();
00039     virtual StatusCode finalize();
00041     virtual StatusCode createObj(IOpaqueAddress* pAddress, DataObject*& refpObject);
00043     virtual StatusCode updateObj( IOpaqueAddress* pAddress, DataObject* refpObject );
00045     virtual StatusCode createRep( DataObject* pObject, IOpaqueAddress*& refpAddress );
00047     virtual StatusCode updateRep( IOpaqueAddress* pAddress, DataObject* pObject );
00048 
00049   protected:
00051     RNTupleCnv( ISvcLocator* svc, const CLID& clid );
00053     virtual ~RNTupleCnv();
00055     virtual StatusCode load( long id, INTuple*& refpObject ) = 0;
00057     virtual StatusCode book( long idh, const std::string& loc, INTuple* pObject) = 0;
00059     virtual StatusCode writeData(long idh, INTuple* pObject) = 0;
00061     virtual StatusCode readData(long idh, INTuple* pObject, long ievt) = 0;
00062 
00063   protected:
00065     INTupleSvc*  m_ntupleSvc;
00066 
00067     virtual std::string rootVarType(int);
00068 
00069   };
00070 
00072   template<class TYP>
00073   INTupleItem* createNTupleItem(NTUPLEINFO& tags, long i, INTuple* tuple, TYP minimum, TYP maximum, long& size);
00074 
00075   bool parseName(std::string full, std::string &blk, std::string &var);
00076 
00077 }    // namespace RootHistCnv
00078 
00079 
00080 #endif    // RootHistCnv_RNTupleCnv_H

Generated at Wed Nov 21 12:20:49 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000