The Gaudi Framework  v29r0 (ff2e7097)
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 
61  ~RootNTupleCnv() override = default;
62 
72  StatusCode createRep( DataObject* pObj, IOpaqueAddress*& refpAdd ) override;
73 
75 
81  StatusCode fillRepRefs( IOpaqueAddress* pAdd, DataObject* pObj ) override;
82 
91  StatusCode createObj( IOpaqueAddress* pAddress, DataObject*& refpObject ) override;
92 
101  StatusCode fillObjRefs( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override
102  {
103  return StatusCode::SUCCESS;
104  }
105 
113  StatusCode updateObj( IOpaqueAddress* pAddress, DataObject* pObject ) override;
114 
123  StatusCode updateObjRefs( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override
124  {
125  return StatusCode::SUCCESS;
126  }
127 
136  StatusCode updateRep( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override
137  {
138  return StatusCode::SUCCESS;
139  }
140 
149  StatusCode updateRepRefs( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override
150  {
151  return StatusCode::SUCCESS;
152  }
153  };
154 }
155 
156 #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:28
unsigned int CLID
Class ID definition.
Definition: ClassID.h:8
NTuple converter class definition for NTuples writted/read using ROOT.
Definition: RootNTupleCnv.h:36
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.
Opaque address interface definition.
Description: Base class converter for N-tuples and related classes.
Definition: RootStatCnv.h:31
#define GAUDI_API
Definition: Kernel.h:110
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:29
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.