ATLAS Offline Software
T_AthenaPoolxAODCnv.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 */
14 #ifndef ATHENAPOOLCNVSVC_T_ATHENAPOOLXAODCNV_H
15 #define ATHENAPOOLCNVSVC_T_ATHENAPOOLXAODCNV_H
16 
17 
21 #include "AthenaPoolCnvSvc/debug.h"
23 #include "AthenaKernel/ClassName.h"
25 
26 
38 template <class XAOD, class ... TPCNVS>
40  : public T_AthenaPoolCustomCnvWithKey<XAOD, XAOD>
41 {
42  friend class CnvFactory< T_AthenaPoolxAODCnv >;
43 
44  template <class CNV, class TPCNV>
46 
47 public:
49 
50 
55  T_AthenaPoolxAODCnv ( ISvcLocator* svcLoc );
56 
57 
65  virtual XAOD* createPersistentWithKey( XAOD* trans,
66  const std::string& key) override;
67 
68 
76  virtual XAOD* createTransientWithKey (const std::string& key) override;
77 
78 
79 private:
81  const Guid m_guid;
82 
85 };
86 
87 
89 
90 
91 #endif // not ATHENAPOOLCNVSVC_T_ATHENAPOOLXAODCNV_H
92 
T_AthenaPoolxAODCnv.icc
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_AthenaPoolxAODCnv::m_tpcnvs
AthenaPoolCnvSvc::TPCnvList< T_AthenaPoolxAODCnv, XAOD, TPCNVS... > m_tpcnvs
List of TP converters.
Definition: T_AthenaPoolxAODCnv.h:84
AuxVectorBase.h
Manage index tracking and synchronization of auxiliary data.
T_AthenaPoolCustomCnvWithKey
This templated class extends T_AthenaPoolCustCnv to provide management of the persistent objects crea...
Definition: T_AthenaPoolCustomCnv.h:35
T_AthenaPoolxAODCnv::createPersistentWithKey
virtual XAOD * createPersistentWithKey(XAOD *trans, const std::string &key) override
Convert a transient object to persistent form.
ClassName.h
An interface for getting the name of a class as a string.
T_AthenaPoolxAODCnv::m_guid
const Guid m_guid
GUID of the object being read.
Definition: T_AthenaPoolxAODCnv.h:81
ClassID_traits.h
a traits class that associates a CLID to a type T It also detects whether T inherits from Gaudi DataO...
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
CnvFactory
Abstract factory to create the converter.
Definition: ToyConverter.h:16
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_AthenaPoolxAODCnv
Athena pool converter for xAOD classes.
Definition: T_AthenaPoolxAODCnv.h:41
exceptions.h
Exceptions that can be thrown from AthenaPoolCnvSvc.
T_AthenaPoolxAODCnv::Base
T_AthenaPoolCustomCnvWithKey< XAOD, XAOD > Base
Definition: T_AthenaPoolxAODCnv.h:48
T_AthenaPoolxAODCnv::createTransientWithKey
virtual XAOD * createTransientWithKey(const std::string &key) override
Read the persistent object and convert it to transient.
T_AthenaPoolxAODCnv::T_AthenaPoolxAODCnv
T_AthenaPoolxAODCnv(ISvcLocator *svcLoc)
Constructor.
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37