The Gaudi Framework  master (37c0b60a)
RootNTupleCnv.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2024 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 //====================================================================
12 // NTuple converter class definition
13 //--------------------------------------------------------------------
14 //
15 // Author : M.Frank
16 //
17 //====================================================================
18 #ifndef GAUDIROOTCNV_ROOTNTUPLECNV_H
19 #define GAUDIROOTCNV_ROOTNTUPLECNV_H 1
20 
21 // Include files
22 #include <RootCnv/RootAddress.h>
23 #include <RootCnv/RootStatCnv.h>
24 
25 // Forward declarations
26 class INTuple;
27 class TBranch;
28 
29 /*
30  * Gaudi namespace declaration
31  */
32 namespace Gaudi {
33 
46  protected:
48  StatusCode i__updateObjRoot( RootAddress* rpA, INTuple* tupl, TTree* tree, RootDataConnection* con );
49 
50 #ifdef __POOL_COMPATIBILITY
51  StatusCode i__updateObjPool( RootAddress* rpA, INTuple* tupl, TTree* tree, RootDataConnection* con );
53 #endif
54 
55  public:
57 
64  RootNTupleCnv( long typ, const CLID& clid, ISvcLocator* svc, RootCnvSvc* mgr )
65  : RootStatCnv( typ, clid, svc, mgr ) {}
66 
76  StatusCode createRep( DataObject* pObj, IOpaqueAddress*& refpAdd ) override;
77 
79 
85  StatusCode fillRepRefs( IOpaqueAddress* pAdd, DataObject* pObj ) override;
86 
95  StatusCode createObj( IOpaqueAddress* pAddress, DataObject*& refpObject ) override;
96 
105  StatusCode fillObjRefs( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override {
106  return StatusCode::SUCCESS;
107  }
108 
116  StatusCode updateObj( IOpaqueAddress* pAddress, DataObject* pObject ) override;
117 
126  StatusCode updateObjRefs( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override {
127  return StatusCode::SUCCESS;
128  }
129 
138  StatusCode updateRep( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override {
139  return StatusCode::SUCCESS;
140  }
141 
150  StatusCode updateRepRefs( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override {
151  return StatusCode::SUCCESS;
152  }
153  };
154 } // namespace Gaudi
155 
156 #endif // GAUDIROOTCNV_ROOTNTUPLECNV_H
Gaudi::RootNTupleCnv::updateRep
StatusCode updateRep(IOpaqueAddress *, DataObject *) override
Converter overrides: Update the converted representation of a transient object.
Definition: RootNTupleCnv.h:138
Gaudi::RootCnvSvc
Definition: RootCnvSvc.h:62
IOpaqueAddress
Definition: IOpaqueAddress.h:33
ISvcLocator
Definition: ISvcLocator.h:46
Gaudi::RootNTupleCnv::updateObjRefs
StatusCode updateObjRefs(IOpaqueAddress *, DataObject *) override
Converter overrides: Update the references of an updated transient object.
Definition: RootNTupleCnv.h:126
Gaudi::RootDataConnection
Definition: RootDataConnection.h:112
Gaudi::RootStatCnv
Definition: RootStatCnv.h:40
StatusCode
Definition: StatusCode.h:65
Gaudi::RootNTupleCnv
Definition: RootNTupleCnv.h:45
Gaudi::RootNTupleCnv::fillObjRefs
StatusCode fillObjRefs(IOpaqueAddress *, DataObject *) override
Converter overrides: Update the references of an updated transient object.
Definition: RootNTupleCnv.h:105
INTuple
Definition: INTuple.h:91
CLID
unsigned int CLID
Class ID definition.
Definition: ClassID.h:18
Gaudi
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...
Definition: __init__.py:1
StatusCode::SUCCESS
constexpr static const auto SUCCESS
Definition: StatusCode.h:100
RootStatCnv.h
Gaudi::RootNTupleCnv::RootNTupleCnv
RootNTupleCnv(long typ, const CLID &clid, ISvcLocator *svc, RootCnvSvc *mgr)
Standard constructor.
Definition: RootNTupleCnv.h:64
DataObject
Definition: DataObject.h:36
RootAddress.h
Gaudi::RootNTupleCnv::updateRepRefs
StatusCode updateRepRefs(IOpaqueAddress *, DataObject *) override
Converter overrides: Update the converted representation of a transient object.
Definition: RootNTupleCnv.h:150
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:81
Gaudi::RootAddress
Definition: RootAddress.h:46