ATLAS Offline Software
Loading...
Searching...
No Matches
InDetSimDataCnv_p3.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#include "MsgUtil.h"
7
8// Persistent class and converter header file
10#include "InDetSimDataCnv_p3.h"
12
13
14using depositIterator = std::vector<InDetSimData::Deposit>::const_iterator;
15
20
21
22void
23InDetSimDataCnv_p3::persToTrans(const InDetSimData_p3* persObj, InDetSimData* transObj, MsgStream &log)
24{
25 MSG_VERBOSE(log,"InDetSimDataCnv_p3::persToTrans called ");
26 std::vector<InDetSimData::Deposit> deposits;
27 const unsigned int ndeposits = persObj->m_enDeposits.size();
28 deposits.reserve( ndeposits );
29 for (unsigned int icount=0; icount < ndeposits; icount++) {
30 HepMcParticleLink mcLink (m_sg);
31 HepMcPLCnv.persToTrans(&(persObj->m_links[icount]),&mcLink, log);
32 deposits.emplace_back (mcLink, persObj->m_enDeposits[icount]);
33 }
34
35 *transObj = InDetSimData (std::move(deposits),
36 persObj->m_word);
37}
38
39void
40InDetSimDataCnv_p3::transToPers(const InDetSimData* transObj, InDetSimData_p3* persObj, MsgStream &log)
41{
42 MSG_VERBOSE(log,"InDetSimDataCnv_p3::transToPers called ");
44
45 persObj->m_word = transObj->word();
46 const std::vector<InDetSimData::Deposit> &dep(transObj->getdeposits());
47 const unsigned int ndeposits = dep.size();
48 persObj->m_links.resize(ndeposits);
49 persObj->m_enDeposits.resize(ndeposits);
50 for (unsigned int icount(0); icount < ndeposits; ++icount) {
51 HepMcPLCnv.transToPers(&(dep[icount].first), &(persObj->m_links[icount]), log);
52 persObj->m_enDeposits[icount] = dep[icount].second;
53 }
54}
55
57{
58 m_sg = store;
59}
std::vector< InDetSimData::Deposit >::const_iterator depositIterator
#define MSG_VERBOSE(log, x)
Definition MsgUtil.h:17
virtual void persToTrans(const InDetSimData_p3 *persObj, InDetSimData *transObj, MsgStream &log)
void setCurrentStore(IProxyDict *store)
HepMcParticleLinkCnv_p3 HepMcPLCnv
virtual void transToPers(const InDetSimData *transObj, InDetSimData_p3 *persObj, MsgStream &log)
unsigned int m_word
std::vector< float > m_enDeposits
std::vector< HepMcParticleLink_p3 > m_links
int word() const
const std::vector< Deposit > & getdeposits() const