ATLAS Offline Software
CscSimDataCollectionCnv.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 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 
16 
19 {
20 }
21 
23 
25  MsgStream log(msgSvc(), "CscSimDataCollectionCnv" );
26  ATH_MSG_DEBUG("createPersistent(): main converter");
28  return pixdc_p;
29 }
30 
32  MsgStream log(msgSvc(), "CscSimDataCollectionCnv" );
33  static const pool::Guid p0_guid("250EC949-F98B-4F74-9034-178847D1B622");
34  static const pool::Guid p1_guid("DD2A8397-4435-4DA2-AD14-ADD7294694B2");
35  static const pool::Guid p2_guid("023993E1-BAAA-4F36-8CD4-8F03E3983E8D");
36  static const pool::Guid p3_guid("018F5280-E75C-7B27-9881-75B356B2A282");
37  ATH_MSG_DEBUG("createTransient(): main converter");
38  CscSimDataCollection* p_collection(nullptr);
39  if( compareClassGuid(p3_guid) ) {
40  ATH_MSG_DEBUG("createTransient(): T/P version 3 detected");
41  std::unique_ptr< Muon::CscSimDataCollection_p3 > col_vect( this->poolReadObject< Muon::CscSimDataCollection_p3 >() );
42  p_collection = m_TPConverter_p3.createTransient( col_vect.get(), log );
43  }
44  //----------------------------------------------------------------
45  else if( compareClassGuid(p2_guid) ) {
46  ATH_MSG_DEBUG("createTransient(): T/P version 2 detected");
47  std::unique_ptr< Muon::CscSimDataCollection_p2 > col_vect( this->poolReadObject< Muon::CscSimDataCollection_p2 >() );
48  p_collection = m_TPConverter_p2.createTransient( col_vect.get(), log );
49  }
50  //----------------------------------------------------------------
51  else if( compareClassGuid(p1_guid) ) {
52  ATH_MSG_DEBUG("createTransient(): T/P version 1 detected");
53  std::unique_ptr< Muon::CscSimDataCollection_p1 > col_vect( this->poolReadObject< Muon::CscSimDataCollection_p1 >() );
54  p_collection = m_TPConverter_p1.createTransient( col_vect.get(), log );
55  }
56  //----------------------------------------------------------------
57  else if( compareClassGuid(p0_guid) ){
58  if (log.level() <= MSG::DEBUG) log<<MSG::DEBUG<<"createTransient(): Old input file"<<std::endl;
59  std::unique_ptr< CscSimDataCollection > col_vect( poolReadObject< CscSimDataCollection >() );
60  p_collection = col_vect.release();
61  }
62  //----------------------------------------------------------------
63  else {
64  throw std::runtime_error("Unsupported persistent version of CscSimDataCollection");
65 
66  }
67  return p_collection;
68 }
CscSimDataCollection_p1.h
TPPolyCnvBase::createTransient
virtual TRANS * createTransient(const PERS *persObj, MsgStream &log)
Create transient representation of a persistent object.
CscSimDataCollection.h
CscSimDataCollectionCnv::m_TPConverter_p3
CscSimDataCollectionCnv_p3 m_TPConverter_p3
Definition: CscSimDataCollectionCnv.h:36
CscSimDataCollectionCnv::~CscSimDataCollectionCnv
virtual ~CscSimDataCollectionCnv()
TPAbstractPolyCnvBase::createPersistent
virtual PERS * createPersistent(const TRANS *transObj, MsgStream &log)
Create persistent representation of a transient object.
CscSimDataCollectionCnv::m_TPConverter_p2
CscSimDataCollectionCnv_p2 m_TPConverter_p2
Definition: CscSimDataCollectionCnv.h:35
pool::Guid
::Guid Guid
Definition: T_AthenaPoolCustCnv.h:19
CscSimDataCollectionCnv::m_TPConverter_p1
CscSimDataCollectionCnv_p1 m_TPConverter_p1
Definition: CscSimDataCollectionCnv.h:34
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
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
CscSimDataCollection
Definition: CscSimDataCollection.h:29
CscSimDataCollectionCnv.h
Muon::CscSimDataCollection_p2
Definition: CscSimDataCollection_p2.h:13
CscSimDataCollectionCnv::createPersistent
virtual CscSimDataCollection_PERS * createPersistent(CscSimDataCollection *transCont)
Definition: CscSimDataCollectionCnv.cxx:24
DEBUG
#define DEBUG
Definition: page_access.h:11
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.
StoreGateSvc.h
CscSimDataCollectionCnv::CscSimDataCollectionCnv
CscSimDataCollectionCnv(ISvcLocator *svcloc)
Definition: CscSimDataCollectionCnv.cxx:17
CscSimDataCollectionCnv::createTransient
virtual CscSimDataCollection * createTransient()
Definition: CscSimDataCollectionCnv.cxx:31