ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCnv
MuonEventTPCnv
src
MuonDigitContainer
MuonSimDataCnv_p1.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
MuonSimData/MuonSimData.h
"
6
#include "
MuonEventTPCnv/MuonDigitContainer/MuonSimDataCnv_p1.h
"
7
8
void
MuonSimDataCnv_p1::persToTrans
(
const
Muon::MuonSimData_p1
* persObj,
MuonSimData
* transObj, MsgStream & log){
9
log << MSG::DEBUG <<
"MuonSimDataCnv_p1::persToTrans"
<<
endmsg
;
10
//log << MSG::VERBOSE << "\tconverting m_word:\t" << persObj->m_word << "\tto\t" << transObj->m_word << endmsg;
11
//log << MSG::VERBOSE << "\tconverting x:\t" << persObj->x << "\tto\t" << transObj->x << endmsg;
12
//log << MSG::VERBOSE << "\tconverting y:\t" << persObj->y << "\tto\t" << transObj->y << endmsg;
13
//log << MSG::VERBOSE << "\tconverting z:\t" << persObj->z << "\tto\t" << transObj->z << endmsg;
14
15
std::vector<MuonSimData::Deposit> deposits;
16
deposits.reserve(persObj->
m_deposits
.size());
17
HepMcParticleLink
transMcPartLink;
18
for
(
const
std::pair<HepMcParticleLink_p1, Muon::MuonMCData_p1>& p :
19
persObj->
m_deposits
)
20
{
21
m_mcpartlinkCnv
.persToTrans(&p.first, &transMcPartLink, log);
22
MuonMCData
transMcData;
23
m_mcdataCnv
.persToTrans(&p.second, &transMcData, log);
24
deposits.emplace_back(transMcPartLink, transMcData);
25
}
26
27
*transObj =
MuonSimData
(std::move(deposits),
28
persObj->
m_word
);
29
30
Amg::Vector3D
pos (persObj->
x
, persObj->
y
, persObj->
z
);
31
transObj->
setPosition
(pos);
32
transObj->
setTime
(persObj->
t
);
33
}
34
35
void
MuonSimDataCnv_p1::transToPers
(
const
MuonSimData
* transObj,
Muon::MuonSimData_p1
* persObj, MsgStream & log){
36
log << MSG::DEBUG <<
"MuonSimDataCnv_p1::TransToPers"
<<
endmsg
;
37
persObj->
m_word
= transObj->
word
();
38
Amg::Vector3D
pos = transObj->
globalPosition
();
39
persObj->
x
= pos.x();
40
persObj->
y
= pos.y();
41
persObj->
z
= pos.z();
42
persObj->
t
= transObj->
getTime
();
43
//log << MSG::VERBOSE << "\tconverting m_word:\t" << transObj->m_word << "\tto\t" << persObj->m_word << endmsg;
44
//log << MSG::VERBOSE << "\tconverting x:\t" << transObj->x << "\tto\t" << persObj->x << endmsg;
45
//log << MSG::VERBOSE << "\tconverting y:\t" << transObj->y << "\tto\t" << persObj->y << endmsg;
46
//log << MSG::VERBOSE << "\tconverting z:\t" << transObj->z << "\tto\t" << persObj->z << endmsg;
47
persObj->
m_deposits
.clear();
48
persObj->
m_deposits
.reserve(transObj->
getdeposits
().size());
49
for
(
const
MuonSimData::Deposit
& d : transObj->
getdeposits
()) {
50
HepMcParticleLink_p1
persMcPartLink;
51
m_mcpartlinkCnv
.transToPers(&d.first, &persMcPartLink, log);
52
Muon::MuonMCData_p1
persMcData;
53
m_mcdataCnv
.transToPers(&d.second, &persMcData, log);
54
persObj->
m_deposits
.emplace_back(persMcPartLink, persMcData);
55
}
56
}
endmsg
#define endmsg
Definition
AnalysisConfig_Ntuple.cxx:54
MuonSimDataCnv_p1.h
MuonSimData.h
HepMcParticleLink_p1
Definition
HepMcParticleLink_p1.h:21
HepMcParticleLink
a link optimized in size for a GenParticle in a McEventCollection
Definition
HepMcParticleLink.h:72
MuonMCData
Definition
MuonSimData.h:42
MuonSimDataCnv_p1::transToPers
void transToPers(const MuonSimData *transObj, Muon::MuonSimData_p1 *persObj, MsgStream &log)
Definition
MuonSimDataCnv_p1.cxx:35
MuonSimDataCnv_p1::m_mcpartlinkCnv
HepMcParticleLinkCnv_p1 m_mcpartlinkCnv
Definition
MuonSimDataCnv_p1.h:24
MuonSimDataCnv_p1::persToTrans
void persToTrans(const Muon::MuonSimData_p1 *persObj, MuonSimData *transObj, MsgStream &log)
Definition
MuonSimDataCnv_p1.cxx:8
MuonSimDataCnv_p1::m_mcdataCnv
MuonMCDataCnv_p1 m_mcdataCnv
Definition
MuonSimDataCnv_p1.h:25
MuonSimData
Definition
MuonSimData.h:62
MuonSimData::word
int word() const
Definition
MuonSimData.h:89
MuonSimData::getdeposits
const std::vector< Deposit > & getdeposits() const
Definition
MuonSimData.h:94
MuonSimData::setTime
void setTime(const float &time)
Definition
MuonSimData.h:119
MuonSimData::globalPosition
const Amg::Vector3D globalPosition() const
Definition
MuonSimData.h:113
MuonSimData::Deposit
std::pair< HepMcParticleLink, MuonMCData > Deposit
Definition
MuonSimData.h:66
MuonSimData::setPosition
void setPosition(const Amg::Vector3D &pos)
Definition
MuonSimData.h:106
MuonSimData::getTime
float getTime() const
Definition
MuonSimData.h:124
Muon::MuonMCData_p1
Definition
MuonMCData_p1.h:9
Muon::MuonSimData_p1
Definition
MuonSimData_p1.h:13
Muon::MuonSimData_p1::x
float x
Definition
MuonSimData_p1.h:20
Muon::MuonSimData_p1::t
float t
Definition
MuonSimData_p1.h:23
Muon::MuonSimData_p1::y
float y
Definition
MuonSimData_p1.h:21
Muon::MuonSimData_p1::m_deposits
std::vector< std::pair< HepMcParticleLink_p1, MuonMCData_p1 > > m_deposits
Definition
MuonSimData_p1.h:19
Muon::MuonSimData_p1::z
float z
Definition
MuonSimData_p1.h:22
Muon::MuonSimData_p1::m_word
int m_word
Definition
MuonSimData_p1.h:18
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
Generated on
for ATLAS Offline Software by
1.17.0