ATLAS Offline Software
T_AthenaPoolCnv.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ATHENAPOOLCNVSVC_T_ATHENAPOOLCNV_H
6 #define ATHENAPOOLCNVSVC_T_ATHENAPOOLCNV_H
7 
19 #include <type_traits>
20 
22 template <class TYPE> class CnvFactory;
23 
24 
35 template <class T>
37 {
38  using type =
39  std::conditional_t<SG::xAODInterfaceSupportingThinning<T>(),
41  std::conditional_t<SG::xAODStoreSupportingThinning<T>(),
44 };
45 
46 
48 template <class DV>
50 {
52 };
53 
54 
58 template <class T>
60  : public T_AthenaPoolFindBase<T>::type
61 {
63 
64 
65 public:
66  using Base::Base;
67 };
68 
69 
70 #endif
T_AthenaPoolCnv
This templated class provides the converter to translate an object to/from its persistent POOL repres...
Definition: T_AthenaPoolCnv.h:61
supportsThinning.h
Metafunctions to test for thinning support.
T_AthenaPoolCnvBase
This templated class provides the converter to translate an object to/from its persistent POOL repres...
Definition: T_AthenaPoolCnvBase.h:24
T_AthenaPoolAuxContainerCnv
Athena pool converter for aux store classes.
Definition: T_AthenaPoolAuxContainerCnv.h:39
T_AthenaPoolCnvBase.h
his file contains the class definition for the templated T_AthenaPoolCnvBase class.
T_AthenaPoolViewVectorCnv
Athena pool converter for a ViewVector class.
Definition: T_AthenaPoolViewVectorCnv.h:51
T_AthenaPoolFindBase< ViewVector< DV > >::type
T_AthenaPoolViewVectorCnv< DV > type
Definition: T_AthenaPoolCnv.h:51
ViewVector
Identify view containers to be made persistent.
Definition: ViewVector.h:67
T_AthenaPoolAuxContainerCnv.h
Athena pool converter for aux store classes.
CnvFactory
Abstract factory to create the converter.
Definition: ToyConverter.h:16
T_AthenaPoolxAODCnv.h
Athena pool converter for xAOD classes.
T_AthenaPoolFindBase
class to find the proper pool converter type for an EDM object.
Definition: T_AthenaPoolCnv.h:37
T_AthenaPoolCnv::Base
T_AthenaPoolFindBase< T >::type Base
Definition: T_AthenaPoolCnv.h:62
T_AthenaPoolFindBase::type
std::conditional_t< SG::xAODInterfaceSupportingThinning< T >(), T_AthenaPoolxAODCnv< T >, std::conditional_t< SG::xAODStoreSupportingThinning< T >(), T_AthenaPoolAuxContainerCnv< T >, T_AthenaPoolCnvBase< T > > > type
Definition: T_AthenaPoolCnv.h:43
T_AthenaPoolxAODCnv
Athena pool converter for xAOD classes.
Definition: T_AthenaPoolxAODCnv.h:41
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
ViewVector.h
Identify view containers to be made persistent.
T_AthenaPoolViewVectorCnv.h
Athena pool converter for a ViewVector class.