ATLAS Offline Software
HGTD_ALTIROC_RDO_ContainerCnv.cxx
Go to the documentation of this file.
1 
11 #include "GaudiKernel/MsgStream.h"
12 
13 #include <memory>
14 
17 
19 
20  static const pool::Guid p1_guid(
21  "2EE1819F-7EFE-ACB8-5D5F-9EFBFAEBC11E"); // with HGTD_ALTIROC_RDO_p1
22  ATH_MSG_DEBUG("createTransient(): main converter");
23 
24  HGTD_ALTIROC_RDO_Container* trans_cont(0);
25  if (compareClassGuid(p1_guid)) {
26  ATH_MSG_DEBUG("createTransient(): T/P version 1 detected");
27  std::unique_ptr<HGTD_ALTIROC_RDO_Container_PERS_t> pers_cont(
28  poolReadObject<HGTD_ALTIROC_RDO_Container_PERS_t>());
29 
30  trans_cont = m_converter.createTransient(pers_cont.get(), msg());
31 
32  } else {
33  throw std::runtime_error(
34  "Unsupported persistent version of HGTD_ALTIROC_RDO_Container");
35  }
36  return trans_cont;
37 }
38 
41 
43  m_converter.createPersistent(trans_cont, msg());
44 
45  return pers_cont;
46 }
HGTD_ALTIROC_RDO_ContainerCnv::m_converter
HGTD_ALTIROC_RDO_ContainerCNV_t m_converter
Definition: HGTD_ALTIROC_RDO_ContainerCnv.h:45
HGTD_ALTIROC_RDO_ContainerCnv.h
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration.
HGTD_ALTIROC_RDO_ContainerCnv::HGTD_ALTIROC_RDO_ContainerCnv
HGTD_ALTIROC_RDO_ContainerCnv(ISvcLocator *svcloc)
Definition: HGTD_ALTIROC_RDO_ContainerCnv.cxx:15
HGTD_ALTIROC_RDO_Container
Definition: HGTD_ALTIROC_RDO_Container.h:18
TPAbstractPolyCnvBase::createPersistent
virtual PERS * createPersistent(const TRANS *transObj, MsgStream &log)
Create persistent representation of a transient object.
pool::Guid
::Guid Guid
Definition: T_AthenaPoolCustCnv.h:19
HGTD_ALTIROC_RDO_ContainerCnv_p1::createTransient
virtual Trans_t * createTransient(const Pers_t *persistent_container, MsgStream &log)
Definition: HGTD_ALTIROC_RDO_ContainerCnv_p1.cxx:157
T_AthenaPoolCustomCnv
Compatibility for old converter classes that don't get passed the key.
Definition: T_AthenaPoolCustomCnv.h:132
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
HGTD_ALTIROC_RDO_Container_p1
Definition: HGTD_ALTIROC_RDO_Container_p1.h:18
AthMessaging::msg
MsgStream & msg() const
The standard message stream.
Definition: AthMessaging.h:164
HGTD_ALTIROC_RDO_ContainerCnv::createTransient
virtual HGTD_ALTIROC_RDO_Container * createTransient() override
Definition: HGTD_ALTIROC_RDO_ContainerCnv.cxx:18
T_AthenaPoolCustCnv::compareClassGuid
virtual bool compareClassGuid(const Guid &clid) const
Compare POOL class GUID with the one of the object being read.
HGTD_ALTIROC_RDO_ContainerCnv::createPersistent
virtual HGTD_ALTIROC_RDO_Container_PERS_t * createPersistent(HGTD_ALTIROC_RDO_Container *trans) override
Definition: HGTD_ALTIROC_RDO_ContainerCnv.cxx:40