ATLAS Offline Software
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$
16 #ifndef ATHENAPOOLCNVSVC_T_ATHENAPOOLTPCNVCNV_H
17 #define ATHENAPOOLCNVSVC_T_ATHENAPOOLTPCNVCNV_H
18 
19 
24 #include "AthenaPoolCnvSvc/debug.h"
25 #include "AthenaKernel/ClassName.h"
27 
28 
37 template <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 
46 public:
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 
79 private:
82 
84  TPCNV_CUR m_tpcnv_cur;
85 
88 };
89 
90 
92 
93 
94 #endif // not ATHENAPOOLCNVSVC_T_ATHENAPOOLTPCNVCNV_H
95 
TPCnvList.h
Helper for calling TP converters from an Athena converter.
AthenaPoolCnvSvc::TPCnvElt
Helper for calling a TP converter from an Athena converter.
Definition: TPCnvElt.h:61
T_AthenaPoolTPCnvCnv::createTransientWithKey
virtual TRANS * createTransientWithKey(const std::string &key) override
Read the persistent object and convert it to transient.
T_AthenaPoolCustomCnvWithKey
This templated class extends T_AthenaPoolCustCnv to provide management of the persistent objects crea...
Definition: T_AthenaPoolCustomCnv.h:35
T_AthenaPoolTPCnvCnv::m_tpcnv_cur
TPCNV_CUR m_tpcnv_cur
TP converter for current persistent class version.
Definition: T_AthenaPoolTPCnvCnv.h:84
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...
T_AthenaPoolTPCnvCnv::m_guid
Guid m_guid
GUID of the object being read.
Definition: T_AthenaPoolTPCnvCnv.h:81
T_AthenaPoolTPCnvCnv::m_tpcnvs
AthenaPoolCnvSvc::TPCnvList< T_AthenaPoolTPCnvCnv, TRANS, TPCNVS... > m_tpcnvs
List of TP converters for older versions.
Definition: T_AthenaPoolTPCnvCnv.h:87
T_AthenaPoolTPCnvCnv
Athena pool converter for a class using TP separation.
Definition: T_AthenaPoolTPCnvCnv.h:40
T_AthenaPoolCustomCnv.h
his file contains the class definition for the templated T_AthenaPoolCustomCnv class.
AthenaPoolCnvSvc::TPCnvList
Helper for calling TP converters from an Athena converter.
Definition: TPCnvList.h:37
T_AthenaPoolTPCnvCnv::createPersistentWithKey
virtual Pers_t * createPersistentWithKey(TRANS *trans, const std::string &key) override
Convert a transient object to persistent form.
CnvFactory
Abstract factory to create the converter.
Definition: ToyConverter.h:16
T_AthenaPoolTPCnvCnv::Pers_t
TPCNV_CUR::Pers_t Pers_t
Definition: T_AthenaPoolTPCnvCnv.h:48
debug.h
A couple hooks for debugging.
Guid
This class provides a encapsulation of a GUID/UUID/CLSID/IID data structure (128 bit number).
Definition: Guid.h:20
T_AthenaPoolTPCnvCnv::Base
T_AthenaPoolCustomCnvWithKey< TRANS, typename TPCNV_CUR::Pers_t > Base
Definition: T_AthenaPoolTPCnvCnv.h:47
exceptions.h
Exceptions that can be thrown from AthenaPoolCnvSvc.
T_AthenaPoolCreateFuncs.h
Helpers for calling TP converters.
T_AthenaPoolTPCnvCnv.icc
T_AthenaPoolTPCnvCnv::T_AthenaPoolTPCnvCnv
T_AthenaPoolTPCnvCnv(ISvcLocator *svcLoc)
Constructor.
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37