ATLAS Offline Software
Loading...
Searching...
No Matches
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
27
28
37template <class TRANS, class TPCNV_CUR, class ... TPCNVS>
39 : public T_AthenaPoolCustomCnvWithKey<TRANS, typename TPCNV_CUR::Pers_t>
40{
41 friend class CnvFactory< T_AthenaPoolTPCnvCnv >;
42
43 template <class CNV, class TPCNV>
45
46public:
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 std::string& key) override;
77
78
79private:
82
84 TPCNV_CUR m_tpcnv_cur;
85
88};
89
90
92
93
94#endif // not ATHENAPOOLCNVSVC_T_ATHENAPOOLTPCNVCNV_H
95
An interface for getting the name of a class as a string.
a traits class that associates a CLID to a type T It also detects whether T inherits from Gaudi DataO...
A couple hooks for debugging.
Exceptions that can be thrown from AthenaPoolCnvSvc.
Helper for calling TP converters from an Athena converter.
Helpers for calling TP converters.
his file contains the class definition for the templated T_AthenaPoolCustomCnv class.
Helper for calling a TP converter from an Athena converter.
Definition TPCnvElt.h:61
Helper for calling TP converters from an Athena converter.
Definition TPCnvList.h:37
Abstract factory to create the converter.
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition Guid.h:25
T_AthenaPoolCustomCnvWithKey(ISvcLocator *pSvcLocator, const char *name=nullptr)
T_AthenaPoolCustomCnvWithKey< PixelRDOElemLinkVec, typename PixelRDOElemLinkVecCnv_p1::Pers_t > Base
T_AthenaPoolTPCnvCnv(ISvcLocator *svcLoc)
Constructor.
AthenaPoolCnvSvc::TPCnvList< T_AthenaPoolTPCnvCnv, PixelRDOElemLinkVec, TPCNVS... > m_tpcnvs
virtual Pers_t * createPersistentWithKey(TRANS *trans, const std::string &key) override
Convert a transient object to persistent form.
virtual TRANS * createTransientWithKey(const std::string &key) override
Read the persistent object and convert it to transient.