Gaudi Framework, version v20r2

Generated: 18 Jul 2008

HNTupleCnv.h

Go to the documentation of this file.
00001 // $Header: /local/reps/Gaudi/HbookCnv/src/HNTupleCnv.h,v 1.1.1.1 2000/11/23 11:34:55 ranjard Exp $
00002 #ifndef HBOOKCNV_HNTUPLECNV_H
00003 #define HBOOKCNV_HNTUPLECNV_H 1
00004 
00005 
00006 // Include files
00007 #include "HConverter.h"
00008 
00009 
00010 // Forward declarations
00011 class ISvcLocator;
00012 class NTUPLEINFO;
00013 class INTupleItem;
00014 class INTupleSvc;
00015 class INTuple;
00016 
00017 
00018 //====================================================================
00019 //  NTuple converter class definition
00020 //--------------------------------------------------------------------
00021 //
00022 //  Package    : HbookCnv ( The LHCb Offline System)
00023 //  Author     : M.Frank
00024 //
00025 //====================================================================
00026 
00027 
00028 namespace HbookCnv {
00029 
00052   class HNTupleCnv : public HConverter   {
00053 
00054   public:
00056     virtual StatusCode initialize();
00058     virtual StatusCode finalize();
00060     virtual StatusCode createObj(IOpaqueAddress* pAddress, DataObject*& refpObject);
00062     virtual StatusCode updateObj( IOpaqueAddress* pAddress, DataObject* refpObject );
00064     virtual StatusCode createRep( DataObject* pObject, IOpaqueAddress*& refpAddress );
00066     virtual StatusCode updateRep( IOpaqueAddress* pAddress, DataObject* pObject );
00067 
00068   protected:
00070     HNTupleCnv( ISvcLocator* svc, const CLID& clid );
00072     virtual ~HNTupleCnv();
00074     virtual StatusCode load( long id, INTuple*& refpObject ) = 0;
00076     virtual StatusCode book( long idh, const std::string& loc, INTuple* pObject) = 0;
00078     virtual StatusCode writeData(long idh, INTuple* pObject) = 0;
00080     virtual StatusCode readData(long idh, INTuple* pObject, long ievt) = 0;
00081 
00082 
00083   protected:
00085     INTupleSvc*  m_ntupleSvc;
00086 
00087   };
00088 
00090   template<class TYP>
00091   INTupleItem* createNTupleItem(NTUPLEINFO& tags, long i, INTuple* tuple, TYP minimum, TYP maximum, long& size);
00092 
00093   bool parseName(std::string full, std::string &blk, std::string &var);
00094  
00095 }    // namespace HbookCnv
00096 
00097 
00098 #endif    // HBOOKCNV_HNTUPLECNV_H

Generated at Fri Jul 18 11:59:26 2008 for Gaudi Framework, version v20r2 by Doxygen version 1.5.1 written by Dimitri van Heesch, © 1997-2004