ATLAS Offline Software
ITPCnvSvc.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // ITPCnvSvc.h
8 // Header file for class ITPCnvSvc
9 // Author: S.Binet<binet@cern.ch>
11 #ifndef ATHENAKERNEL_ITPCNVSVC_H
12 #define ATHENAKERNEL_ITPCNVSVC_H 1
13 
19 #include "GaudiKernel/IService.h"
20 #include "GaudiKernel/ClassID.h"
21 #include <string>
22 
23 
24 class ITPCnvBase;
25 
26 
27 class ITPCnvSvc
28  : virtual public ::IService
29 {
31  // Public methods:
33  public:
35 
36 
39  virtual ~ITPCnvSvc();
40 
45  virtual
46  ITPCnvBase*
47  load_tpcnv(const std::string& cls) = 0;
48 
52  virtual
53  ITPCnvBase*
54  t2p_cnv(const std::string& transClassName,
56 
60  virtual
61  ITPCnvBase*
62  t2p_cnv(const CLID& transClid,
64 
68  virtual
69  ITPCnvBase*
70  p2t_cnv(const std::string& persClassName,
72 
76  virtual
77  std::unique_ptr<ITPCnvBase>
78  t2p_cnv_unique(const std::string& transClassName) const = 0;
79 
84  virtual
85  std::unique_ptr<ITPCnvBase>
86  t2p_cnv_unique(const CLID transClid) const = 0;
87 };
88 
89 #endif //> !ATHENAKERNEL_ITPCNVSVC_H
TPCnvFactory.h
Set up plugin loading of TP converters.
ITPCnvSvc::t2p_cnv_unique
virtual std::unique_ptr< ITPCnvBase > t2p_cnv_unique(const std::string &transClassName) const =0
return the T/P converter for a transient class (NULL if failure) Ownership is returned to the caller.
Athena::TPCnvType::Value
Value
Definition: TPCnvFactory.h:122
ITPCnvSvc::~ITPCnvSvc
virtual ~ITPCnvSvc()
Destructor:
Definition: ITPCnvSvc.cxx:20
CaloClusterListBadChannel.cls
cls
Definition: CaloClusterListBadChannel.py:8
ITPCnvSvc::t2p_cnv_unique
virtual std::unique_ptr< ITPCnvBase > t2p_cnv_unique(const CLID transClid) const =0
Return the T/P converter for a transient class.
ITPCnvSvc::DeclareInterfaceID
DeclareInterfaceID(ITPCnvSvc, 1, 0)
Athena::TPCnvType::Athena
@ Athena
Definition: TPCnvFactory.h:123
ITPCnvSvc::t2p_cnv
virtual ITPCnvBase * t2p_cnv(const std::string &transClassName, Athena::TPCnvType::Value type=Athena::TPCnvType::Athena)=0
return the T/P converter for a transient class (NULL if failure) ITPCnvSvc owns the ITPCnvBase pointe...
ITPCnvSvc::p2t_cnv
virtual ITPCnvBase * p2t_cnv(const std::string &persClassName, Athena::TPCnvType::Value type=Athena::TPCnvType::Athena)=0
return the T/P converter for a persistent class (NULL if failure) ITPCnvSvc owns the ITPCnvBase point...
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
ITPCnvSvc::t2p_cnv
virtual ITPCnvBase * t2p_cnv(const CLID &transClid, Athena::TPCnvType::Value type=Athena::TPCnvType::Athena)=0
return the T/P converter for a transient class (NULL if failure) ITPCnvSvc owns the ITPCnvBase pointe...
ITPCnvSvc::load_tpcnv
virtual ITPCnvBase * load_tpcnv(const std::string &cls)=0
load the T/P converter class named cls return NULL on failure.
ITPCnvBase
Definition: ITPCnvBase.h:24
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
ITPCnvSvc
Definition: ITPCnvSvc.h:29