The Gaudi Framework  master (d98a2936)
RootNTupleCnv.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2025 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 #pragma once
19 
20 // Include files
21 #include <RootCnv/RootAddress.h>
22 #include <RootCnv/RootStatCnv.h>
23 
24 // Forward declarations
25 class INTuple;
26 class TBranch;
27 
28 /*
29  * Gaudi namespace declaration
30  */
31 namespace Gaudi {
32 
45  protected:
47  StatusCode i__updateObjRoot( RootAddress* rpA, INTuple* tupl, TTree* tree, RootDataConnection* con );
48 
49 #ifdef __POOL_COMPATIBILITY
50  StatusCode i__updateObjPool( RootAddress* rpA, INTuple* tupl, TTree* tree, RootDataConnection* con );
52 #endif
53 
54  public:
56 
63  RootNTupleCnv( long typ, const CLID& clid, ISvcLocator* svc, RootCnvSvc* mgr )
64  : RootStatCnv( typ, clid, svc, mgr ) {}
65 
75  StatusCode createRep( DataObject* pObj, IOpaqueAddress*& refpAdd ) override;
76 
78 
84  StatusCode fillRepRefs( IOpaqueAddress* pAdd, DataObject* pObj ) override;
85 
94  StatusCode createObj( IOpaqueAddress* pAddress, DataObject*& refpObject ) override;
95 
104  StatusCode fillObjRefs( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override {
105  return StatusCode::SUCCESS;
106  }
107 
115  StatusCode updateObj( IOpaqueAddress* pAddress, DataObject* pObject ) override;
116 
125  StatusCode updateObjRefs( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override {
126  return StatusCode::SUCCESS;
127  }
128 
137  StatusCode updateRep( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override {
138  return StatusCode::SUCCESS;
139  }
140 
149  StatusCode updateRepRefs( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override {
150  return StatusCode::SUCCESS;
151  }
152  };
153 } // namespace Gaudi
Gaudi::RootNTupleCnv::updateRep
StatusCode updateRep(IOpaqueAddress *, DataObject *) override
Converter overrides: Update the converted representation of a transient object.
Definition: RootNTupleCnv.h:137
Gaudi::RootCnvSvc
Definition: RootCnvSvc.h:61
IOpaqueAddress
Definition: IOpaqueAddress.h:28
ISvcLocator
Definition: ISvcLocator.h:42
Gaudi::RootNTupleCnv::updateObjRefs
StatusCode updateObjRefs(IOpaqueAddress *, DataObject *) override
Converter overrides: Update the references of an updated transient object.
Definition: RootNTupleCnv.h:125
Gaudi::RootDataConnection
Definition: RootDataConnection.h:112
Gaudi::RootStatCnv
Definition: RootStatCnv.h:39
StatusCode
Definition: StatusCode.h:64
Gaudi::RootNTupleCnv
Definition: RootNTupleCnv.h:44
Gaudi::RootNTupleCnv::fillObjRefs
StatusCode fillObjRefs(IOpaqueAddress *, DataObject *) override
Converter overrides: Update the references of an updated transient object.
Definition: RootNTupleCnv.h:104
INTuple
Definition: INTuple.h:86
CLID
unsigned int CLID
Class ID definition.
Definition: ClassID.h:16
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:99
RootStatCnv.h
Gaudi::RootNTupleCnv::RootNTupleCnv
RootNTupleCnv(long typ, const CLID &clid, ISvcLocator *svc, RootCnvSvc *mgr)
Standard constructor.
Definition: RootNTupleCnv.h:63
DataObject
Definition: DataObject.h:37
RootAddress.h
Gaudi::RootNTupleCnv::updateRepRefs
StatusCode updateRepRefs(IOpaqueAddress *, DataObject *) override
Converter overrides: Update the converted representation of a transient object.
Definition: RootNTupleCnv.h:149
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:49
Gaudi::RootAddress
Definition: RootAddress.h:45