ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Control
AthenaKernel
AthenaKernel
ITPCnvSvc.h
Go to the documentation of this file.
1
2
3
/*
4
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
// ITPCnvSvc.h
8
// Header file for class ITPCnvSvc
9
// Author: S.Binet<binet@cern.ch>
11
#ifndef ATHENAKERNEL_ITPCNVSVC_H
12
#define ATHENAKERNEL_ITPCNVSVC_H 1
13
16
17
18
#include "
AthenaKernel/TPCnvFactory.h
"
19
#include "GaudiKernel/IService.h"
20
#include "GaudiKernel/ClassID.h"
21
#include <string>
22
23
24
class
ITPCnvBase
;
25
26
27
class
ITPCnvSvc
28
:
virtual
public
::IService
29
{
31
// Public methods:
33
public
:
34
DeclareInterfaceID
(
ITPCnvSvc
,1,0);
35
36
39
virtual
~ITPCnvSvc
();
40
45
virtual
46
ITPCnvBase
*
47
load_tpcnv
(
const
std::string& cls) = 0;
48
52
virtual
53
ITPCnvBase
*
54
t2p_cnv
(
const
std::string& transClassName,
55
Athena::TPCnvType::Value
type
=
Athena::TPCnvType::Athena
) = 0;
56
60
virtual
61
ITPCnvBase
*
62
t2p_cnv
(
const
CLID
& transClid,
63
Athena::TPCnvType::Value
type
=
Athena::TPCnvType::Athena
) = 0;
64
68
virtual
69
ITPCnvBase
*
70
p2t_cnv
(
const
std::string& persClassName,
71
Athena::TPCnvType::Value
type
=
Athena::TPCnvType::Athena
) = 0;
72
76
virtual
77
std::unique_ptr<ITPCnvBase>
78
t2p_cnv_unique
(
const
std::string& transClassName)
const
= 0;
79
84
virtual
85
std::unique_ptr<ITPCnvBase>
86
t2p_cnv_unique
(
const
CLID
transClid)
const
= 0;
87
};
88
89
#endif
//> !ATHENAKERNEL_ITPCNVSVC_H
CLID
uint32_t CLID
The Class ID type.
Definition
Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
TPCnvFactory.h
Set up plugin loading of TP converters.
ITPCnvBase
Definition
ITPCnvBase.h:24
ITPCnvSvc
Definition
ITPCnvSvc.h:29
ITPCnvSvc::t2p_cnv_unique
virtual std::unique_ptr< ITPCnvBase > t2p_cnv_unique(const std::string &transClassName) const =0
return the T/P converter for a transient class (NULL if failure) Ownership is returned to the caller.
ITPCnvSvc::~ITPCnvSvc
virtual ~ITPCnvSvc()
Destructor:
Definition
ITPCnvSvc.cxx:20
ITPCnvSvc::load_tpcnv
virtual ITPCnvBase * load_tpcnv(const std::string &cls)=0
load the T/P converter class named cls return NULL on failure.
ITPCnvSvc::p2t_cnv
virtual ITPCnvBase * p2t_cnv(const std::string &persClassName, Athena::TPCnvType::Value type=Athena::TPCnvType::Athena)=0
return the T/P converter for a persistent class (NULL if failure) ITPCnvSvc owns the ITPCnvBase point...
ITPCnvSvc::t2p_cnv
virtual ITPCnvBase * t2p_cnv(const std::string &transClassName, Athena::TPCnvType::Value type=Athena::TPCnvType::Athena)=0
return the T/P converter for a transient class (NULL if failure) ITPCnvSvc owns the ITPCnvBase pointe...
ITPCnvSvc::DeclareInterfaceID
DeclareInterfaceID(ITPCnvSvc, 1, 0)
ITPCnvSvc::t2p_cnv_unique
virtual std::unique_ptr< ITPCnvBase > t2p_cnv_unique(const CLID transClid) const =0
Return the T/P converter for a transient class.
ITPCnvSvc::t2p_cnv
virtual ITPCnvBase * t2p_cnv(const CLID &transClid, Athena::TPCnvType::Value type=Athena::TPCnvType::Athena)=0
return the T/P converter for a transient class (NULL if failure) ITPCnvSvc owns the ITPCnvBase pointe...
Athena::TPCnvType::Value
Value
Definition
TPCnvFactory.h:108
Athena::TPCnvType::Athena
@ Athena
Definition
TPCnvFactory.h:109
type
Generated on
for ATLAS Offline Software by
1.17.0