ATLAS Offline Software
ClusterSplitProbabilityContainerCnv.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
5 
6 
7 const std::string ClusterSplitProbabilityContainerCnv::s_name("ClusterSplitProbabilityContainerCnv");
8 //-----------------------------------------------------------------------------
9 // Constructor
10 //-----------------------------------------------------------------------------
13 {
14 }
15 
16 
18 {
19  MsgStream log(msgSvc(), s_name );
20  return m_converter.createPersistent( transCont, log );
21 }
22 
23 //-----------------------------------------------------------------------------
24 // Create transient collection
25 //-----------------------------------------------------------------------------
27 {
28  MsgStream log(msgSvc(), s_name );
29  static const pool::Guid p1_guid( "33129502-20bc-44f9-acff-62e5c3670d46" );
30 
31  Trk::ClusterSplitProbabilityContainer *p_collection = nullptr;
32  if( compareClassGuid( p1_guid )){
33  std::unique_ptr<ClusterSplitProbabilityContainer_PERS> pers( poolReadObject< ClusterSplitProbabilityContainer_PERS >() );
34  p_collection = m_converter.createTransient( pers.get(), log );
35  }
36  else
37  throw std::runtime_error( "Unsupported persistent version of Data Collection" );
38  return p_collection;
39 }
TPPolyCnvBase::createTransient
virtual TRANS * createTransient(const PERS *persObj, MsgStream &log)
Create transient representation of a persistent object.
ClusterSplitProbabilityContainerCnv::s_name
static const std::string s_name
Definition: ClusterSplitProbabilityContainerCnv.h:33
Trk::ClusterSplitProbabilityContainer_p1
Definition: ClusterSplitProbabilityContainer_p1.h:12
ClusterSplitProbabilityContainerCnv::ClusterSplitProbabilityContainerCnv
ClusterSplitProbabilityContainerCnv(ISvcLocator *svcloc)
Definition: ClusterSplitProbabilityContainerCnv.cxx:11
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
StdJOSetup.msgSvc
msgSvc
Provide convenience handles for various services.
Definition: StdJOSetup.py:36
T_AthenaPoolCustomCnv
Compatibility for old converter classes that don't get passed the key.
Definition: T_AthenaPoolCustomCnv.h:132
Trk::ClusterSplitProbabilityContainer
Container to associate Cluster with cluster splitting probabilities.
Definition: ClusterSplitProbabilityContainer.h:17
ClusterSplitProbabilityContainerCnv::m_converter
Trk::ClusterSplitProbabilityContainerCnv_p1 m_converter
Definition: ClusterSplitProbabilityContainerCnv.h:32
ClusterSplitProbabilityContainerCnv::createPersistent
virtual ClusterSplitProbabilityContainer_PERS * createPersistent(Trk::ClusterSplitProbabilityContainer *transCont)
Definition: ClusterSplitProbabilityContainerCnv.cxx:17
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
T_AthenaPoolCustCnv::compareClassGuid
virtual bool compareClassGuid(const Guid &clid) const
Compare POOL class GUID with the one of the object being read.
ClusterSplitProbabilityContainerCnv::createTransient
virtual Trk::ClusterSplitProbabilityContainer * createTransient()
Definition: ClusterSplitProbabilityContainerCnv.cxx:26
ClusterSplitProbabilityContainerCnv.h