ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
egamma
egammaEventTPCnv
src
CaloRingsCnv_p1.cxx
Go to the documentation of this file.
1
2
3
/*
4
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
// CaloRingsCnv_p1.cxx
8
// Implementation file for class CaloRingsCnv_p1
9
// Author: D.E.Ferreira de Lima<dferreir@mail.cern.ch>
11
12
13
// STL includes
14
15
// egammaEvent includes
16
#include "
egammaEvent/CaloRings.h
"
17
18
#include "GaudiKernel/GaudiException.h"
19
20
// egammaEventTPCnv includes
21
#include "
egammaEventTPCnv/CaloRingsCnv_p1.h
"
22
23
void
CaloRingsCnv_p1::persToTrans
(
const
CaloRings_p1
* pers,
24
CaloRings
* trans,
25
MsgStream&
/*msg*/
)
26
{
27
if
( (!trans) || (!pers) ) {
28
throw
GaudiException(
"CaloRingsCnv_p1::persToTrans called with NULL pers or trans!"
,
"CaloRingsCnv_p1::persToTrans"
, StatusCode::FAILURE);
29
return
;
30
}
31
32
33
trans->
clear
();
34
unsigned
int
layerNumber = 0;
35
unsigned
int
ringNumber = 0;
36
// for each ringset
37
for
(
unsigned
int
i = 0; i < pers->
m_nRings
.size(); ++i) {
38
// translate layer information
39
std::vector<CaloCell_ID::CaloSample> layers;
40
for
(
unsigned
int
j = 0; j < pers->
m_nLayers
[i]; ++j) {
41
layers.push_back((
CaloCell_ID::CaloSample
) pers->
m_layers
[layerNumber++]);
42
}
43
// insert configuration
44
trans->
addRingSet
(pers->
m_nRings
[i], layers, pers->
m_deltaEta
[i], pers->
m_deltaPhi
[i]);
45
// copy ring values
46
for
(
unsigned
int
k = 0; k < pers->
m_nRings
[i]; ++k){
47
trans->
at
(i).
at
(k) = pers->
m_rings
[ringNumber++];
48
}
49
}
50
51
}
52
53
void
CaloRingsCnv_p1::transToPers
(
const
CaloRings
* trans,
54
CaloRings_p1
* pers,
55
MsgStream&
/*msg*/
)
56
{
57
if
( (!trans) || (!pers) ) {
58
throw
GaudiException(
"CaloRingsCnv_p1::transToPers called with NULL pers or trans!"
,
"CaloRingsCnv_p1::transToPers"
, StatusCode::FAILURE);
59
return
;
60
}
61
62
pers->
m_nRings
.clear();
63
pers->
m_rings
.clear();
64
pers->
m_nLayers
.clear();
65
pers->
m_layers
.clear();
66
pers->
m_deltaEta
.clear();
67
pers->
m_deltaPhi
.clear();
68
69
for
(
unsigned
int
i = 0; i < trans->
size
(); ++i) {
70
pers->
m_nRings
.push_back(trans->
at
(i).
m_rings
.size());
71
for
(
unsigned
int
j = 0; j < trans->
at
(i).m_rings.
size
(); ++j) {
72
pers->
m_rings
.push_back(trans->
at
(i).
m_rings
[j]);
73
}
74
pers->
m_nLayers
.push_back(trans->
at
(i).
m_layers
.size());
75
for
(
unsigned
int
k = 0; k < trans->
at
(i).m_layers.
size
(); ++k) {
76
pers->
m_layers
.push_back((
int
) trans->
at
(i).
m_layers
[k]);
77
}
78
pers->
m_deltaEta
.push_back(trans->
at
(i).
m_deltaEta
);
79
pers->
m_deltaPhi
.push_back(trans->
at
(i).
m_deltaPhi
);
80
}
81
}
CaloRingsCnv_p1.h
CaloRings.h
CaloCell_ID::CaloSample
CaloSampling::CaloSample CaloSample
Definition
CaloCell_ID.h:53
CaloRingsCnv_p1::persToTrans
virtual void persToTrans(const CaloRings_p1 *persObj, CaloRings *transObj, MsgStream &msg)
Method creating the transient representation of CaloRings from its persistent representation CaloRing...
Definition
CaloRingsCnv_p1.cxx:23
CaloRingsCnv_p1::transToPers
virtual void transToPers(const CaloRings *transObj, CaloRings_p1 *persObj, MsgStream &msg)
Method creating the persistent representation CaloRings_p1 from its transient representation CaloRing...
Definition
CaloRingsCnv_p1.cxx:53
CaloRings_p1
Definition
CaloRings_p1.h:25
CaloRings_p1::m_rings
std::vector< float > m_rings
Ring information.
Definition
CaloRings_p1.h:52
CaloRings_p1::m_nRings
std::vector< unsigned int > m_nRings
Definition
CaloRings_p1.h:53
CaloRings_p1::m_nLayers
std::vector< unsigned int > m_nLayers
Definition
CaloRings_p1.h:56
CaloRings_p1::m_layers
std::vector< int > m_layers
Definition
CaloRings_p1.h:55
CaloRings_p1::m_deltaEta
std::vector< float > m_deltaEta
Definition
CaloRings_p1.h:58
CaloRings_p1::m_deltaPhi
std::vector< float > m_deltaPhi
Definition
CaloRings_p1.h:59
CaloRings
Definition
Reconstruction/egamma/egammaEvent/egammaEvent/CaloRings.h:58
CaloRings::size
size_t size() const
Definition
CaloRings.cxx:139
CaloRings::at
RingSet & at(unsigned int i)
Definition
CaloRings.cxx:164
CaloRings::addRingSet
void addRingSet(unsigned int numberOfRings, std::vector< CaloCell_ID::CaloSample > &layers, float deltaEta, float deltaPhi)
Definition
CaloRings.cxx:118
CaloRings::clear
void clear()
Definition
CaloRings.cxx:134
RingSet::size
size_t size() const
Definition
CaloRings.cxx:33
RingSet::at
float & at(unsigned int i)
RingSet ///.
Definition
CaloRings.cxx:11
RingSet::m_deltaEta
float m_deltaEta
Definition
Reconstruction/egamma/egammaEvent/egammaEvent/CaloRings.h:23
RingSet::m_layers
std::vector< CaloCell_ID::CaloSample > m_layers
Definition
Reconstruction/egamma/egammaEvent/egammaEvent/CaloRings.h:19
RingSet::m_deltaPhi
float m_deltaPhi
Definition
Reconstruction/egamma/egammaEvent/egammaEvent/CaloRings.h:24
RingSet::m_rings
std::vector< float > m_rings
Definition
Reconstruction/egamma/egammaEvent/egammaEvent/CaloRings.h:17
Generated on
for ATLAS Offline Software by
1.17.0