ATLAS Offline Software
Database
AthenaRoot
AthenaRootKernel
AthenaRootKernel
IAthenaRootCnvSvc.h
Go to the documentation of this file.
1
3
/*
4
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
#ifndef ATHENAROOTKERNEL_IATHENAROOTCNVSVC_H
8
#define ATHENAROOTKERNEL_IATHENAROOTCNVSVC_H 1
9
15
// fwk includes
16
#include "GaudiKernel/IConversionSvc.h"
17
#include "GaudiKernel/IAddressCreator.h"
18
#include "
DataModelRoot/RootType.h
"
19
20
// stl includes
21
#include <typeinfo>
22
23
// fwd declares
24
class
Token
;
25
class
ITPCnvBase
;
26
30
class
IAthenaRootCnvSvc
:
virtual
public
::IConversionSvc,
virtual
public
::IAddressCreator {
31
public
:
32
virtual
~IAthenaRootCnvSvc
();
33
35
static
const
InterfaceID&
interfaceID
() {
36
static
const
InterfaceID s_iid(
"IAthenaRootCnvSvc"
, 1, 0);
37
return
s_iid;
38
}
39
42
virtual
RootType
getType
(
const
CLID
& clid)
const
= 0;
43
virtual
RootType
getType
(
const
std::type_info&
type
)
const
= 0;
44
46
virtual
const
Token
*
writeObject
(
const
std::string&
key
,
47
const
RootType
& typeDesc,
48
const
void
* pObj,
49
ITPCnvBase
* tpConverter = 0) = 0;
51
53
virtual
ITPCnvBase
*
getTPConverter
(
const
CLID
& clid)
const
= 0;
54
};
55
56
#endif
/* !ATHENAROOTKERNEL_IATHENAROOTCNVSVC_H */
IAthenaRootCnvSvc
This class provides the interface between Athena and RootSvc.
Definition:
IAthenaRootCnvSvc.h:30
IAthenaRootCnvSvc::getType
virtual RootType getType(const std::type_info &type) const =0
IAthenaRootCnvSvc::interfaceID
static const InterfaceID & interfaceID()
Retrieve interface ID.
Definition:
IAthenaRootCnvSvc.h:35
IAthenaRootCnvSvc::writeObject
virtual const Token * writeObject(const std::string &key, const RootType &typeDesc, const void *pObj, ITPCnvBase *tpConverter=0)=0
Write object of a given class to Root, using optional T/P converter.
Token
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition:
Token.h:21
IAthenaRootCnvSvc::getTPConverter
virtual ITPCnvBase * getTPConverter(const CLID &clid) const =0
Get T/P converter for a transient class.
CLID
uint32_t CLID
The Class ID type.
Definition:
Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
ITPCnvBase
Definition:
ITPCnvBase.h:24
IAthenaRootCnvSvc::~IAthenaRootCnvSvc
virtual ~IAthenaRootCnvSvc()
Definition:
IAthenaRootCnvSvc.cxx:17
python.CaloScaleNoiseConfig.type
type
Definition:
CaloScaleNoiseConfig.py:78
RootType.h
IAthenaRootCnvSvc::getType
virtual RootType getType(const CLID &clid) const =0
mapkey::key
key
Definition:
TElectronEfficiencyCorrectionTool.cxx:37
TScopeAdapter
Definition:
RootType.h:119
Generated on Tue Jul 2 2024 21:16:58 for ATLAS Offline Software by
1.8.18