All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RootNTupleCnv.h
Go to the documentation of this file.
1 // $Id: RootNTupleCnv.h,v 1.3 2010-08-24 23:30:32 frankb Exp $
2 //====================================================================
3 // NTuple converter class definition
4 //--------------------------------------------------------------------
5 //
6 // Author : M.Frank
7 //
8 //====================================================================
9 #ifndef GAUDIROOTCNV_ROOTNTUPLECNV_H
10 #define GAUDIROOTCNV_ROOTNTUPLECNV_H 1
11 
12 // Include files
13 #include "RootCnv/RootStatCnv.h"
14 
15 // Forward declarations
16 class INTuple;
17 class TBranch;
18 
19 /*
20  * Gaudi namespace declaration
21  */
22 namespace Gaudi {
23 
36  protected:
37 
39  StatusCode i__updateObjRoot(RootAddress* rpA, INTuple* tupl, TTree* tree, RootDataConnection* con);
40 
41 #ifdef __POOL_COMPATIBILITY
42  StatusCode i__updateObjPool(RootAddress* rpA, INTuple* tupl, TTree* tree, RootDataConnection* con);
44 #endif
45 
46  public:
48 
55  RootNTupleCnv(long typ, const CLID& clid, ISvcLocator* svc, RootCnvSvc* mgr)
56  : RootStatCnv(typ, clid, svc, mgr) {}
57 
59  virtual ~RootNTupleCnv() {}
60 
70  virtual StatusCode createRep( DataObject* pObj,IOpaqueAddress*& refpAdd);
71 
73 
79  virtual StatusCode fillRepRefs( IOpaqueAddress* pAdd,DataObject* pObj);
80 
89  virtual StatusCode createObj( IOpaqueAddress* pAddress,
90  DataObject*& refpObject);
91 
100  virtual StatusCode fillObjRefs( IOpaqueAddress* /* pAddress */,
101  DataObject* /* pObject */)
102  { return StatusCode::SUCCESS; }
103 
111  virtual StatusCode updateObj( IOpaqueAddress* pAddress,
112  DataObject* pObject);
113 
122  virtual StatusCode updateObjRefs( IOpaqueAddress* /* pAddress */,
123  DataObject* /* pObject */ )
124  { return StatusCode::SUCCESS; }
125 
134  virtual StatusCode updateRep( IOpaqueAddress* /* pAddress */,
135  DataObject* /* pObject */)
136  { return StatusCode::SUCCESS; }
137 
146  virtual StatusCode updateRepRefs( IOpaqueAddress* /* pAddress */,
147  DataObject* /* pObject */ )
148  { return StatusCode::SUCCESS; }
149  };
150 }
151 
152 #endif // GAUDIROOTCNV_ROOTNTUPLECNV_H
virtual StatusCode updateRepRefs(IOpaqueAddress *, DataObject *)
Converter overrides: Update the converted representation of a transient object.
Description:
Definition: RootAddress.h:38
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition: ISvcLocator.h:26
virtual StatusCode updateObjRefs(IOpaqueAddress *, DataObject *)
Converter overrides: Update the references of an updated transient object.
Description:
Definition: RootCnvSvc.h:54
NTuple interface class definition.
Definition: INTuple.h:80
virtual ~RootNTupleCnv()
Standard destructor.
Definition: RootNTupleCnv.h:59
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
unsigned int CLID
Class ID definition.
Definition: ClassID.h:9
NTuple converter class definition for NTuples writted/read using ROOT.
Definition: RootNTupleCnv.h:35
RootNTupleCnv(long typ, const CLID &clid, ISvcLocator *svc, RootCnvSvc *mgr)
Standard constructor.
Definition: RootNTupleCnv.h:55
Opaque address interface definition.
This is a number of static methods for bootstrapping the Gaudi framework.
Definition: Bootstrap.h:14
Description: Base class converter for N-tuples and related classes.
Definition: RootStatCnv.h:31
#define GAUDI_API
Definition: Kernel.h:108
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:31
Concrete implementation of the IDataConnection interface to access ROOT files.
virtual StatusCode fillObjRefs(IOpaqueAddress *, DataObject *)
Converter overrides: Update the references of an updated transient object.
virtual StatusCode updateRep(IOpaqueAddress *, DataObject *)
Converter overrides: Update the converted representation of a transient object.