The Gaudi Framework  master (e98cfcff)
Loading...
Searching...
No Matches
RootNTupleCnv.h
Go to the documentation of this file.
1/***********************************************************************************\
2* (c) Copyright 1998-2026 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 public:
51
58 RootNTupleCnv( long typ, const CLID& clid, ISvcLocator* svc, RootCnvSvc* mgr )
59 : RootStatCnv( typ, clid, svc, mgr ) {}
60
70 StatusCode createRep( DataObject* pObj, IOpaqueAddress*& refpAdd ) override;
71
73
79 StatusCode fillRepRefs( IOpaqueAddress* pAdd, DataObject* pObj ) override;
80
89 StatusCode createObj( IOpaqueAddress* pAddress, DataObject*& refpObject ) override;
90
99 StatusCode fillObjRefs( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override {
100 return StatusCode::SUCCESS;
101 }
102
110 StatusCode updateObj( IOpaqueAddress* pAddress, DataObject* pObject ) override;
111
120 StatusCode updateObjRefs( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override {
121 return StatusCode::SUCCESS;
122 }
123
132 StatusCode updateRep( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override {
133 return StatusCode::SUCCESS;
134 }
135
144 StatusCode updateRepRefs( IOpaqueAddress* /* pAddress */, DataObject* /* pObject */ ) override {
145 return StatusCode::SUCCESS;
146 }
147 };
148} // 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:42
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