ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkEventCnv
TrkTruthTPCnv
src
SubDetHitStatisticsCnv_p0.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// T/P converter for SubDetHitStatistics.
6
7
// Andrei Gaponenko <agaponenko@lbl.gov>, 2007
8
9
#include "
TrkTruthTPCnv/SubDetHitStatisticsCnv_p0.h
"
10
#include "
TrkTruthTPCnv/SubDetHitStatistics_p0.h
"
11
#include "
TrkTruthData/SubDetHitStatistics.h
"
12
13
#include "
TrackTruthCollectionAccessor.h
"
14
15
#include <algorithm>
16
#include "
CxxUtils/copy_bounded.h
"
17
18
#define ARY_SIZE(x) (sizeof(x)/sizeof(x[0]))
19
20
21
void
SubDetHitStatisticsCnv_p0::persToTrans
(
const
Trk::SubDetHitStatistics_p0
* pers,
22
SubDetHitStatistics
* trans,
23
MsgStream&
/*msg*/
)
const
24
{
25
unsigned
char
*phits(
TrackTruthCollectionAccessor::numPRDs
(trans));
26
unsigned
char
* p =
27
CxxUtils::copy_bounded
(pers->
numPRDs
,
28
pers->
numPRDs
+
ARY_SIZE
(pers->
numPRDs
),
29
phits,
30
phits +
SubDetHitStatistics::NUM_SUBDETECTORS
);
31
std::fill (p, phits +
SubDetHitStatistics::NUM_SUBDETECTORS
, 0);
32
}
33
34
void
SubDetHitStatisticsCnv_p0::transToPers
(
const
SubDetHitStatistics
* trans,
35
Trk::SubDetHitStatistics_p0
* pers,
36
MsgStream&
/*msg*/
)
const
37
{
38
const
unsigned
char
*phits(
TrackTruthCollectionAccessor::numPRDs
(trans));
39
unsigned
char
* p =
40
CxxUtils::copy_bounded
(phits,
41
phits +
SubDetHitStatistics::NUM_SUBDETECTORS
,
42
pers->
numPRDs
,
43
pers->
numPRDs
+
ARY_SIZE
(pers->
numPRDs
));
44
std::fill (p, pers->
numPRDs
+
ARY_SIZE
(pers->
numPRDs
), 0);
45
}
ARY_SIZE
#define ARY_SIZE(x)
Definition
SubDetHitStatisticsCnv_p0.cxx:18
SubDetHitStatisticsCnv_p0.h
SubDetHitStatistics.h
A struture to keep per-subdetector numbers of hits for truth matching.
SubDetHitStatistics_p0.h
TrackTruthCollectionAccessor.h
SubDetHitStatisticsCnv_p0::transToPers
virtual void transToPers(const SubDetHitStatistics *transObj, Trk::SubDetHitStatistics_p0 *persObj, MsgStream &msg) const override
Method creating the persistent representation SubDetHitStatistics_p0 from its transient representatio...
Definition
SubDetHitStatisticsCnv_p0.cxx:34
SubDetHitStatisticsCnv_p0::persToTrans
virtual void persToTrans(const Trk::SubDetHitStatistics_p0 *persObj, SubDetHitStatistics *transObj, MsgStream &msg) const override
Method creating the transient representation of Analysis::SubDetHitStatistics from its persistent rep...
Definition
SubDetHitStatisticsCnv_p0.cxx:21
SubDetHitStatistics
Definition
SubDetHitStatistics.h:34
SubDetHitStatistics::NUM_SUBDETECTORS
@ NUM_SUBDETECTORS
Definition
SubDetHitStatistics.h:74
TrackTruthCollectionAccessor::numPRDs
static unsigned char * numPRDs(SubDetHitStatistics *stat)
Definition
TrackTruthCollectionAccessor.h:48
Trk::SubDetHitStatistics_p0
Definition
SubDetHitStatistics_p0.h:17
Trk::SubDetHitStatistics_p0::numPRDs
unsigned char numPRDs[SubDetHitStatistics::NUM_SUBDETECTORS]
Definition
SubDetHitStatistics_p0.h:20
copy_bounded.h
Copy a range with bounds restriction.
CxxUtils::copy_bounded
OutputIterator copy_bounded(InputIterator begi, InputIterator endi, OutputIterator bego, OutputIterator endo)
Copy a range with bounds restriction.
Definition
copy_bounded.h:79
Generated on
for ATLAS Offline Software by
1.17.0