The Gaudi Framework  v32r2 (46d42edc)
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 
36  protected:
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 
66  StatusCode createRep( DataObject* pObj, IOpaqueAddress*& refpAdd ) override;
67 
69 
75  StatusCode fillRepRefs( IOpaqueAddress* pAdd, DataObject* pObj ) override;
76 
85  StatusCode createObj( IOpaqueAddress* pAddress, DataObject*& refpObject ) override;
86 
95  StatusCode fillObjRefs( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override {
96  return StatusCode::SUCCESS;
97  }
98 
106  StatusCode updateObj( IOpaqueAddress* pAddress, DataObject* pObject ) override;
107 
116  StatusCode updateObjRefs( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override {
117  return StatusCode::SUCCESS;
118  }
119 
128  StatusCode updateRep( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override {
129  return StatusCode::SUCCESS;
130  }
131 
140  StatusCode updateRepRefs( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override {
141  return StatusCode::SUCCESS;
142  }
143  };
144 } // namespace Gaudi
145 
146 #endif // GAUDIROOTCNV_ROOTNTUPLECNV_H
Description:
Definition: RootAddress.h:36
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition: ISvcLocator.h:25
constexpr static const auto SUCCESS
Definition: StatusCode.h:85
Description:
Definition: RootCnvSvc.h:52
StatusCode updateRepRefs(IOpaqueAddress *, DataObject *) override
Converter overrides: Update the converted representation of a transient object.
NTuple interface class definition.
Definition: INTuple.h:81
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:50
unsigned int CLID
Class ID definition.
Definition: ClassID.h:8
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:54
StatusCode fillObjRefs(IOpaqueAddress *, DataObject *) override
Converter overrides: Update the references of an updated transient object.
Definition: RootNTupleCnv.h:95
Opaque address interface definition.
Description: Base class converter for N-tuples and related classes.
Definition: RootStatCnv.h:30
#define GAUDI_API
Definition: Kernel.h:71
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.
Header file for std:chrono::duration-based Counters.
Definition: __init__.py:1
StatusCode updateObjRefs(IOpaqueAddress *, DataObject *) override
Converter overrides: Update the references of an updated transient object.