ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Database
AthenaRoot
AthenaRootKernel
AthenaRootKernel
IAthenaRootCnvSvc.h
Go to the documentation of this file.
1
2
3
/*
4
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
#ifndef ATHENAROOTKERNEL_IATHENAROOTCNVSVC_H
8
#define ATHENAROOTKERNEL_IATHENAROOTCNVSVC_H 1
9
14
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
extend_interfaces<IConversionSvc, IAddressCreator> {
31
public
:
32
virtual
~IAthenaRootCnvSvc
();
33
35
DeclareInterfaceID
(
IAthenaRootCnvSvc
, 1, 0);
36
39
virtual
RootType
getType
(
const
CLID
& clid)
const
= 0;
40
virtual
RootType
getType
(
const
std::type_info&
type
)
const
= 0;
41
43
virtual
const
Token
*
writeObject
(
const
std::string& key,
44
const
RootType
& typeDesc,
45
const
void
* pObj,
46
ITPCnvBase
* tpConverter = 0) = 0;
48
50
virtual
ITPCnvBase
*
getTPConverter
(
const
CLID
& clid)
const
= 0;
51
};
52
53
#endif
/* !ATHENAROOTKERNEL_IATHENAROOTCNVSVC_H */
CLID
uint32_t CLID
The Class ID type.
Definition
Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
RootType.h
RootType
TTypeAdapter RootType
Definition
RootType.h:211
IAthenaRootCnvSvc
This class provides the interface between Athena and RootSvc.
Definition
IAthenaRootCnvSvc.h:30
IAthenaRootCnvSvc::DeclareInterfaceID
DeclareInterfaceID(IAthenaRootCnvSvc, 1, 0)
Declare interface ID.
IAthenaRootCnvSvc::getType
virtual RootType getType(const std::type_info &type) const =0
IAthenaRootCnvSvc::~IAthenaRootCnvSvc
virtual ~IAthenaRootCnvSvc()
Definition
IAthenaRootCnvSvc.cxx:17
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.
IAthenaRootCnvSvc::getTPConverter
virtual ITPCnvBase * getTPConverter(const CLID &clid) const =0
Get T/P converter for a transient class.
IAthenaRootCnvSvc::getType
virtual RootType getType(const CLID &clid) const =0
ITPCnvBase
Definition
ITPCnvBase.h:24
Token
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition
Token.h:22
type
Generated on
for ATLAS Offline Software by
1.17.0