Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef GAUDIROOTCNV_ROOTNTUPLECNV_H
00010 #define GAUDIROOTCNV_ROOTNTUPLECNV_H 1
00011
00012
00013 #include "RootCnv/RootStatCnv.h"
00014
00015
00016 class INTuple;
00017 class TBranch;
00018
00019
00020
00021
00022 namespace Gaudi {
00023
00035 class GAUDI_API RootNTupleCnv: public RootStatCnv {
00036 protected:
00037
00039 StatusCode i__updateObjRoot(RootAddress* rpA, INTuple* tupl, TTree* tree, RootDataConnection* con);
00040
00041 #ifdef __POOL_COMPATIBILITY
00042
00043 StatusCode i__updateObjPool(RootAddress* rpA, INTuple* tupl, TTree* tree, RootDataConnection* con);
00044 #endif
00045
00046 public:
00048
00055 RootNTupleCnv(long typ, const CLID& clid, ISvcLocator* svc, RootCnvSvc* mgr)
00056 : RootStatCnv(typ, clid, svc, mgr) {}
00057
00059 virtual ~RootNTupleCnv() {}
00060
00070 virtual StatusCode createRep( DataObject* pObj,IOpaqueAddress*& refpAdd);
00071
00073
00079 virtual StatusCode fillRepRefs( IOpaqueAddress* pAdd,DataObject* pObj);
00080
00089 virtual StatusCode createObj( IOpaqueAddress* pAddress,
00090 DataObject*& refpObject);
00091
00100 virtual StatusCode fillObjRefs( IOpaqueAddress* ,
00101 DataObject* )
00102 { return StatusCode::SUCCESS; }
00103
00111 virtual StatusCode updateObj( IOpaqueAddress* pAddress,
00112 DataObject* pObject);
00113
00122 virtual StatusCode updateObjRefs( IOpaqueAddress* ,
00123 DataObject* )
00124 { return StatusCode::SUCCESS; }
00125
00134 virtual StatusCode updateRep( IOpaqueAddress* ,
00135 DataObject* )
00136 { return StatusCode::SUCCESS; }
00137
00146 virtual StatusCode updateRepRefs( IOpaqueAddress* ,
00147 DataObject* )
00148 { return StatusCode::SUCCESS; }
00149 };
00150 }
00151
00152 #endif // GAUDIROOTCNV_ROOTNTUPLECNV_H