The Gaudi Framework  v30r3 (a5ef0a68)
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/RootAddress.h"
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 {
24 
37  {
38  protected:
40  StatusCode i__updateObjRoot( RootAddress* rpA, INTuple* tupl, TTree* tree, RootDataConnection* con );
41 
42 #ifdef __POOL_COMPATIBILITY
43  StatusCode i__updateObjPool( RootAddress* rpA, INTuple* tupl, TTree* tree, RootDataConnection* con );
45 #endif
46 
47  public:
49 
56  RootNTupleCnv( long typ, const CLID& clid, ISvcLocator* svc, RootCnvSvc* mgr ) : RootStatCnv( typ, clid, svc, mgr )
57  {
58  }
59 
69  StatusCode createRep( DataObject* pObj, IOpaqueAddress*& refpAdd ) override;
70 
72 
78  StatusCode fillRepRefs( IOpaqueAddress* pAdd, DataObject* pObj ) override;
79 
88  StatusCode createObj( IOpaqueAddress* pAddress, DataObject*& refpObject ) override;
89 
98  StatusCode fillObjRefs( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override
99  {
100  return StatusCode::SUCCESS;
101  }
102 
110  StatusCode updateObj( IOpaqueAddress* pAddress, DataObject* pObject ) override;
111 
120  StatusCode updateObjRefs( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override
121  {
122  return StatusCode::SUCCESS;
123  }
124 
133  StatusCode updateRep( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override
134  {
135  return StatusCode::SUCCESS;
136  }
137 
146  StatusCode updateRepRefs( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override
147  {
148  return StatusCode::SUCCESS;
149  }
150  };
151 }
152 
153 #endif // GAUDIROOTCNV_ROOTNTUPLECNV_H
Description:
Definition: RootAddress.h:37
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition: ISvcLocator.h:25
Description:
Definition: RootCnvSvc.h:53
StatusCode updateRepRefs(IOpaqueAddress *, DataObject *) override
Converter overrides: Update the converted representation of a transient object.
NTuple interface class definition.
Definition: INTuple.h:82
StatusCode updateRep(IOpaqueAddress *, DataObject *) override
Converter overrides: Update the converted representation of a transient object.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:51
unsigned int CLID
Class ID definition.
Definition: ClassID.h:8
NTuple converter class definition for NTuples writted/read using ROOT.
Definition: RootNTupleCnv.h:36
constexpr static const auto SUCCESS
Definition: StatusCode.h:87
RootNTupleCnv(long typ, const CLID &clid, ISvcLocator *svc, RootCnvSvc *mgr)
Standard constructor.
Definition: RootNTupleCnv.h:56
StatusCode fillObjRefs(IOpaqueAddress *, DataObject *) override
Converter overrides: Update the references of an updated transient object.
Definition: RootNTupleCnv.h:98
Opaque address interface definition.
Description: Base class converter for N-tuples and related classes.
Definition: RootStatCnv.h:31
#define GAUDI_API
Definition: Kernel.h:104
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
Concrete implementation of the IDataConnection interface to access ROOT files.
Helper functions to set/get the application return code.
Definition: __init__.py:1
StatusCode updateObjRefs(IOpaqueAddress *, DataObject *) override
Converter overrides: Update the references of an updated transient object.