ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Database
AthenaPOOL
AthenaPoolCnvSvc
AthenaPoolCnvSvc
T_AthenaPoolTPCnvCnv.h
Go to the documentation of this file.
1
// This file's extension implies that it's C, but it's really -*- C++ -*-.
2
3
/*
4
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
// $Id$
14
15
16
#ifndef ATHENAPOOLCNVSVC_T_ATHENAPOOLTPCNVCNV_H
17
#define ATHENAPOOLCNVSVC_T_ATHENAPOOLTPCNVCNV_H
18
19
20
#include "
AthenaPoolCnvSvc/TPCnvList.h
"
21
#include "
AthenaPoolCnvSvc/T_AthenaPoolCustomCnv.h
"
22
#include "
AthenaPoolCnvSvc/T_AthenaPoolCreateFuncs.h
"
23
#include "
AthenaPoolCnvSvc/exceptions.h
"
24
#include "
AthenaPoolCnvSvc/debug.h
"
25
#include "
AthenaKernel/ClassName.h
"
26
#include "
AthenaKernel/ClassID_traits.h
"
27
28
37
template
<
class
TRANS,
class
TPCNV_CUR,
class
... TPCNVS>
38
class
T_AthenaPoolTPCnvCnv
39
:
public
T_AthenaPoolCustomCnvWithKey
<TRANS, typename TPCNV_CUR::Pers_t>
40
{
41
friend
class
CnvFactory
<
T_AthenaPoolTPCnvCnv
>;
42
43
template
<
class
CNV,
class
TPCNV>
44
friend
class
AthenaPoolCnvSvc::TPCnvElt
;
45
46
public
:
47
typedef
T_AthenaPoolCustomCnvWithKey<TRANS, typename TPCNV_CUR::Pers_t>
Base
;
48
typedef
typename
TPCNV_CUR::Pers_t
Pers_t
;
49
50
55
T_AthenaPoolTPCnvCnv
( ISvcLocator* svcLoc );
56
57
65
virtual
Pers_t
*
createPersistentWithKey
( TRANS* trans,
66
const
std::string& key )
override
;
67
68
76
virtual
TRANS*
createTransientWithKey
(
const
Token
* token,
const
std::string& key)
override
;
77
78
79
private
:
81
Guid
m_guid
;
82
84
TPCNV_CUR
m_tpcnv_cur
;
85
87
AthenaPoolCnvSvc::TPCnvList
<
T_AthenaPoolTPCnvCnv
, TRANS, TPCNVS...>
m_tpcnvs
;
88
};
89
90
91
#include "
AthenaPoolCnvSvc/T_AthenaPoolTPCnvCnv.icc
"
92
93
94
#endif
// not ATHENAPOOLCNVSVC_T_ATHENAPOOLTPCNVCNV_H
95
ClassName.h
An interface for getting the name of a class as a string.
ClassID_traits.h
a traits class that associates a CLID to a type T It also detects whether T inherits from Gaudi DataO...
debug.h
A couple hooks for debugging.
exceptions.h
Exceptions that can be thrown from AthenaPoolCnvSvc.
TPCnvList.h
Helper for calling TP converters from an Athena converter.
T_AthenaPoolCreateFuncs.h
Helpers for calling TP converters.
T_AthenaPoolCustomCnv.h
his file contains the class definition for the templated T_AthenaPoolCustomCnv class.
T_AthenaPoolTPCnvCnv.icc
AthenaPoolCnvSvc::TPCnvElt
Helper for calling a TP converter from an Athena converter.
Definition
TPCnvElt.h:62
AthenaPoolCnvSvc::TPCnvList
Helper for calling TP converters from an Athena converter.
Definition
TPCnvList.h:31
CnvFactory
Abstract factory to create the converter.
Definition
ToyConverter.h:16
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition
Guid.h:25
T_AthenaPoolCustomCnvWithKey< TRANS, TPCNV_CUR::Pers_t >::T_AthenaPoolCustomCnvWithKey
T_AthenaPoolCustomCnvWithKey(ISvcLocator *pSvcLocator, const char *name=nullptr)
T_AthenaPoolTPCnvCnv< PixelRDOElemLinkVec, PixelRDOElemLinkVecCnv_p1 >::Base
T_AthenaPoolCustomCnvWithKey< PixelRDOElemLinkVec, typename PixelRDOElemLinkVecCnv_p1::Pers_t > Base
Definition
T_AthenaPoolTPCnvCnv.h:47
T_AthenaPoolTPCnvCnv::T_AthenaPoolTPCnvCnv
T_AthenaPoolTPCnvCnv(ISvcLocator *svcLoc)
Constructor.
T_AthenaPoolTPCnvCnv< PixelRDOElemLinkVec, PixelRDOElemLinkVecCnv_p1 >::m_tpcnvs
AthenaPoolCnvSvc::TPCnvList< T_AthenaPoolTPCnvCnv, PixelRDOElemLinkVec, TPCNVS... > m_tpcnvs
Definition
T_AthenaPoolTPCnvCnv.h:87
T_AthenaPoolTPCnvCnv< PixelRDOElemLinkVec, PixelRDOElemLinkVecCnv_p1 >::m_guid
Guid m_guid
Definition
T_AthenaPoolTPCnvCnv.h:81
T_AthenaPoolTPCnvCnv< PixelRDOElemLinkVec, PixelRDOElemLinkVecCnv_p1 >::m_tpcnv_cur
PixelRDOElemLinkVecCnv_p1 m_tpcnv_cur
Definition
T_AthenaPoolTPCnvCnv.h:84
T_AthenaPoolTPCnvCnv::createTransientWithKey
virtual TRANS * createTransientWithKey(const Token *token, const std::string &key) override
Read the persistent object and convert it to transient.
T_AthenaPoolTPCnvCnv::createPersistentWithKey
virtual Pers_t * createPersistentWithKey(TRANS *trans, const std::string &key) override
Convert a transient object to persistent form.
T_AthenaPoolTPCnvCnv< PixelRDOElemLinkVec, PixelRDOElemLinkVecCnv_p1 >::Pers_t
PixelRDOElemLinkVecCnv_p1::Pers_t Pers_t
Definition
T_AthenaPoolTPCnvCnv.h:48
Token
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition
Token.h:22
Generated on
for ATLAS Offline Software by
1.17.0