RootNTupleCnv.h
Go to the documentation of this file.
1 //====================================================================
2 // NTuple converter class definition
3 //--------------------------------------------------------------------
4 //
5 // Author : M.Frank
6 //
7 //====================================================================
8 #ifndef GAUDIROOTCNV_ROOTNTUPLECNV_H
9 #define GAUDIROOTCNV_ROOTNTUPLECNV_H 1
10 
11 // Include files
12 #include "RootCnv/RootStatCnv.h"
13 
14 // Forward declarations
15 class INTuple;
16 class TBranch;
17 
18 /*
19  * Gaudi namespace declaration
20  */
21 namespace Gaudi {
22 
34  class GAUDI_API RootNTupleCnv: public RootStatCnv {
35  protected:
36 
38  StatusCode i__updateObjRoot(RootAddress* rpA, INTuple* tupl, TTree* tree, RootDataConnection* con);
39 
40 #ifdef __POOL_COMPATIBILITY
41  StatusCode i__updateObjPool(RootAddress* rpA, INTuple* tupl, TTree* tree, RootDataConnection* con);
43 #endif
44 
45  public:
47 
54  RootNTupleCnv(long typ, const CLID& clid, ISvcLocator* svc, RootCnvSvc* mgr)
55  : RootStatCnv(typ, clid, svc, mgr) {}
56 
58  virtual ~RootNTupleCnv() {}
59 
69  virtual StatusCode createRep( DataObject* pObj,IOpaqueAddress*& refpAdd);
70 
72 
78  virtual StatusCode fillRepRefs( IOpaqueAddress* pAdd,DataObject* pObj);
79 
88  virtual StatusCode createObj( IOpaqueAddress* pAddress,
89  DataObject*& refpObject);
90 
99  virtual StatusCode fillObjRefs( IOpaqueAddress* /* pAddress */,
100  DataObject* /* pObject */)
101  { return StatusCode::SUCCESS; }
102 
110  virtual StatusCode updateObj( IOpaqueAddress* pAddress,
111  DataObject* pObject);
112 
121  virtual StatusCode updateObjRefs( IOpaqueAddress* /* pAddress */,
122  DataObject* /* pObject */ )
123  { return StatusCode::SUCCESS; }
124 
133  virtual StatusCode updateRep( IOpaqueAddress* /* pAddress */,
134  DataObject* /* pObject */)
135  { return StatusCode::SUCCESS; }
136 
145  virtual StatusCode updateRepRefs( IOpaqueAddress* /* pAddress */,
146  DataObject* /* pObject */ )
147  { return StatusCode::SUCCESS; }
148  };
149 }
150 
151 #endif // GAUDIROOTCNV_ROOTNTUPLECNV_H
virtual StatusCode updateRepRefs(IOpaqueAddress *, DataObject *)
Converter overrides: Update the converted representation of a transient object.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition: ISvcLocator.h:25
virtual StatusCode updateObjRefs(IOpaqueAddress *, DataObject *)
Converter overrides: Update the references of an updated transient object.
#define GAUDI_API
Definition: Kernel.h:107
Description:
Definition: RootCnvSvc.h:52
NTuple interface class definition.
Definition: INTuple.h:79
virtual ~RootNTupleCnv()
Standard destructor.
Definition: RootNTupleCnv.h:58
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
unsigned int CLID
Class ID definition.
Definition: ClassID.h:8
RootNTupleCnv(long typ, const CLID &clid, ISvcLocator *svc, RootCnvSvc *mgr)
Standard constructor.
Definition: RootNTupleCnv.h:54
Opaque address interface definition.
Description: Base class converter for N-tuples and related classes.
Definition: RootStatCnv.h:30
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
virtual StatusCode fillObjRefs(IOpaqueAddress *, DataObject *)
Converter overrides: Update the references of an updated transient object.
Definition: RootNTupleCnv.h:99
Helper functions to set/get the application return code.
Definition: __init__.py:1
virtual StatusCode updateRep(IOpaqueAddress *, DataObject *)
Converter overrides: Update the converted representation of a transient object.