ATLAS Offline Software
Loading...
Searching...
No Matches
CscSimDataCnv_p2.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
7
8void CscSimDataCnv_p2::persToTrans(const Muon::CscSimData_p2 * persObj, CscSimData * transObj, MsgStream & log){
9 log << MSG::DEBUG << "CscSimDataCnv_p2::persToTrans" << endmsg;
10
11 std::vector<CscSimData::Deposit> deposits;
12 deposits.reserve(persObj->m_deposits.size());
13 for (const std::pair<HepMcParticleLink_p2, Muon::CscMcData_p1>& p :
14 persObj->m_deposits)
15 {
16 HepMcParticleLink transMcPartLink;
17 m_mcpartlinkCnv.persToTrans(&p.first, &transMcPartLink, log);
18 CscMcData transMcData;
19 m_mcdataCnv.persToTrans(&p.second, &transMcData, log);
20 deposits.emplace_back(transMcPartLink, transMcData);
21 }
22
23 *transObj = CscSimData (std::move(deposits),
24 persObj->m_word);
25}
26
27void CscSimDataCnv_p2::transToPers( const CscSimData * transObj, Muon::CscSimData_p2 * persObj, MsgStream & log){
28 log << MSG::DEBUG << "CscSimDataCnv_p2::transToPers" << endmsg;
29 persObj->m_word = transObj->word();
30 log << MSG::VERBOSE << "\tconverting m_word:\t" << transObj->word() << "\tto\t" << persObj->m_word << endmsg;
31 persObj->m_deposits.clear();
32 persObj->m_deposits.reserve(transObj->getdeposits().size());
33 for (const CscSimData::Deposit& d : transObj->getdeposits()) {
34 HepMcParticleLink_p2 persMcPartLink;
35 m_mcpartlinkCnv.transToPers(&d.first, &persMcPartLink, log);
36 Muon::CscMcData_p1 persMcData;
37 m_mcdataCnv.transToPers(&d.second, &persMcData, log);
38 persObj->m_deposits.emplace_back (persMcPartLink, persMcData);
39 }
40}
#define endmsg
void transToPers(const CscSimData *transObj, Muon::CscSimData_p2 *persObj, MsgStream &log)
CscMcDataCnv_p1 m_mcdataCnv
HepMcParticleLinkCnv_p2 m_mcpartlinkCnv
void persToTrans(const Muon::CscSimData_p2 *persObj, CscSimData *transObj, MsgStream &log)
int word() const
Definition CscSimData.h:63
const std::vector< Deposit > & getdeposits() const
Definition CscSimData.h:67
std::pair< HepMcParticleLink, CscMcData > Deposit
Definition CscSimData.h:47
std::vector< std::pair< HepMcParticleLink_p2, CscMcData_p1 > > m_deposits