The Gaudi Framework  master (b9786168)
Loading...
Searching...
No Matches
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
25class INTuple;
26class TBranch;
27
28/*
29 * Gaudi namespace declaration
30 */
31namespace Gaudi {
32
45 protected:
47 StatusCode i__updateObjRoot( RootAddress* rpA, INTuple* tupl, TTree* tree, RootDataConnection* con );
48
49#ifdef __POOL_COMPATIBILITY
51 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
unsigned int CLID
Class ID definition.
Definition ClassID.h:16
#define GAUDI_API
Definition Kernel.h:49
A DataObject is the base class of any identifiable object on any data store.
Definition DataObject.h:37
Description:
Definition RootAddress.h:45
Description:
Definition RootCnvSvc.h:61
Concrete implementation of the IDataConnection interface to access ROOT files.
StatusCode updateRepRefs(IOpaqueAddress *, DataObject *) override
Converter overrides: Update the converted representation of a transient object.
StatusCode i__updateObjRoot(RootAddress *rpA, INTuple *tupl, TTree *tree, RootDataConnection *con)
Update the transient object: NTuples end here when reading records.
StatusCode updateObjRefs(IOpaqueAddress *, DataObject *) override
Converter overrides: Update the references of an updated transient object.
StatusCode updateRep(IOpaqueAddress *, DataObject *) override
Converter overrides: Update the converted representation of a transient object.
RootNTupleCnv(long typ, const CLID &clid, ISvcLocator *svc, RootCnvSvc *mgr)
Standard constructor.
StatusCode fillObjRefs(IOpaqueAddress *, DataObject *) override
Converter overrides: Update the references of an updated transient object.
RootStatCnv(long typ, const CLID &clid, ISvcLocator *svc, RootCnvSvc *mgr)
Initializing Constructor.
NTuple interface class definition.
Definition INTuple.h:86
Opaque address interface definition.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition ISvcLocator.h:42
This class is used for returning status codes from appropriate routines.
Definition StatusCode.h:64
constexpr static const auto SUCCESS
Definition StatusCode.h:99
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...
Definition __init__.py:1