ATLAS Offline Software
RpcCoinDataContainerCnv.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 // Gaudi
8 #include "GaudiKernel/StatusCode.h"
9 #include "GaudiKernel/MsgStream.h"
10 
11 // Athena
12 #include "StoreGate/StoreGateSvc.h"
13 
14 // Id includes
16 
19 {}
20 
22 
24  // Call base clase initialize
25  if( !RpcCoinDataContainerCnvBase::initialize().isSuccess() )
26  return StatusCode::FAILURE;
27 
28  //msgSvc()->setOutputLevel( "RpcCoinDataContainerCnv", MSG::INFO );
29 
30  // Get the messaging service, print where you are
31  MsgStream log(msgSvc(), "RpcCoinDataContainerCnv");
32  if (log.level() <= MSG::DEBUG) log << MSG::INFO << "RpcCoinDataContainerCnv::initialize()" << endmsg;
33 
34  return StatusCode::SUCCESS;
35 }
36 
38  MsgStream log(msgSvc(), "RpcCoinDataContainerCnv" );
39  if (log.level() <= MSG::DEBUG) log<<MSG::DEBUG<<"createPersistent(): main converter"<<endmsg;
41  return rpc_p;
42 }
43 
45  MsgStream log(msgSvc(), "RpcCoinDataContainerCnv" );
46  static const pool::Guid p1_guid("AF0DB103-E825-45E5-9C29-9C32342756DD");
47  if (log.level() <= MSG::DEBUG) log<<MSG::DEBUG<<"createTransient(): main converter"<<endmsg;
48  Muon::RpcCoinDataContainer* p_collection(nullptr);
49  if( compareClassGuid(p1_guid) ) {
50  if (log.level() <= MSG::DEBUG) log<<MSG::DEBUG<<"createTransient(): T/P version 1 detected"<<endmsg;
51  std::unique_ptr< Muon::RpcCoinDataContainerCnv_p1::PERS > col_vect( poolReadObject< Muon::RpcCoinDataContainerCnv_p1::PERS >() );
52  if (log.level() <= MSG::DEBUG) log << MSG::DEBUG << "Delegate TP converter " << endmsg;
53  p_collection = m_converter_p1.createTransient( col_vect.get(), log );
54  } else {
55  throw std::runtime_error("Unsupported persistent version of RpcCoinDataContainer");
56  }
57  return p_collection;
58 }
RpcCoinDataContainer.h
RpcCoinDataContainerCnv::createPersistent
virtual Muon::RpcCoinDataContainerCnv_p1::PERS * createPersistent(Muon::RpcCoinDataContainer *transCont)
Definition: RpcCoinDataContainerCnv.cxx:37
RpcCoinDataContainerCnv::createTransient
virtual Muon::RpcCoinDataContainer * createTransient()
Definition: RpcCoinDataContainerCnv.cxx:44
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
RpcCoinDataContainerCnv.h
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
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
RpcCoinDataContainerCnv::initialize
virtual StatusCode initialize()
Gaudi Service Interface method implementations:
Definition: RpcCoinDataContainerCnv.cxx:23
Muon::MuonCoinDataContainer
Definition: MuonCoinDataContainer.h:32
Muon::MuonPRD_Container_p2
Class to contain the Muon Prep Raw Data.
Definition: MuonPRD_Container_p2.h:26
RpcCoinDataContainerCnv::~RpcCoinDataContainerCnv
virtual ~RpcCoinDataContainerCnv()
RpcCoinDataContainerCnv::m_converter_p1
Muon::RpcCoinDataContainerCnv_p1 m_converter_p1
Definition: RpcCoinDataContainerCnv.h:38
Muon::RpcCoinDataContainerCnv_p1::createTransient
virtual TRANS * createTransient(const PERS *persObj, MsgStream &log)
Definition: RpcCoinDataContainerCnv_p1.cxx:197
DEBUG
#define DEBUG
Definition: page_access.h:11
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
RpcCoinDataContainerCnv::RpcCoinDataContainerCnv
RpcCoinDataContainerCnv(ISvcLocator *svcloc)
Definition: RpcCoinDataContainerCnv.cxx:17
T_AthenaPoolCustCnv::compareClassGuid
virtual bool compareClassGuid(const Guid &clid) const
Compare POOL class GUID with the one of the object being read.
T_AthenaPoolCustCnv::initialize
virtual StatusCode initialize()
Gaudi Service Interface method implementations:
StoreGateSvc.h