ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Event
EventTPCnv
src
PileUpEventInfoCnv_p1.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
EventInfo/PileUpEventInfo.h
"
6
#include "
EventTPCnv/PileUpEventInfoCnv_p1.h
"
7
#include "
EventTPCnv/EventInfoCnv_p1.h
"
8
9
static
const
EventInfoCnv_p1
evInfoConv
;
10
11
namespace
{
12
const
int
MODULO(100000);
13
const
double
MINTIME(-2000.0);
//ns
14
}
15
16
void
PileUpEventInfoCnv_p1::transToPers
(
const
PileUpEventInfo
* trans,
PileUpEventInfo_p1
* pers, MsgStream &log)
const
{
17
evInfoConv
.transToPers(trans, pers, log);
18
19
PileUpEventInfo::SubEvent::const_iterator sub_iter = trans->
beginSubEvt
();
20
size_t
sub_ev_n = std::distance (sub_iter, trans->
endSubEvt
());
21
pers->
m_subEvents
.resize(sub_ev_n);
22
PileUpEventInfo_p1::SubEvVect_t::iterator p_sub_iter = pers->
m_subEvents
.begin();
23
while
( sub_iter!=trans->
endSubEvt
() ) {
24
short
time = sub_iter->time();
25
short
index
= sub_iter->index();
26
p_sub_iter->m_timeIndex = (time - MINTIME) + MODULO *
index
;
27
evInfoConv
.transToPers(sub_iter->pSubEvt, &p_sub_iter->m_subEventInfo, log);
28
++p_sub_iter; ++sub_iter;
29
}
30
}
31
32
void
PileUpEventInfoCnv_p1::persToTrans
(
const
PileUpEventInfo_p1
* pers,
PileUpEventInfo
* trans, MsgStream &log)
const
33
{
34
*trans =
PileUpEventInfo
();
35
evInfoConv
.persToTrans(pers, trans, log);
36
37
PileUpEventInfo_p1::SubEvVect_t::const_iterator p_sub_iter = pers->
m_subEvents
.begin();
38
while
( p_sub_iter != pers->
m_subEvents
.end() ) {
39
short
index1 =
static_cast<
short
>
( (p_sub_iter->m_timeIndex)*(1./MODULO) );
40
unsigned
long
index
= MODULO*index1;
41
42
trans->
addSubEvt
(
static_cast<
short
>
( MINTIME+(p_sub_iter->m_timeIndex-
index
) ),
43
//index1
44
PileUpTimeEventIndex::Unknown
,
45
std::unique_ptr<EventInfo>
46
(
evInfoConv
.createTransientConst(&p_sub_iter->m_subEventInfo, log)),
47
nullptr
);
48
++p_sub_iter;
49
}
50
}
EventInfoCnv_p1.h
PileUpEventInfo
Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Old PileUpEventInfo
Definition
EventTPCnv.cxx:87
evInfoConv
static const EventInfoCnv_p1 evInfoConv
Definition
PileUpEventInfoCnv_p1.cxx:9
PileUpEventInfoCnv_p1.h
PileUpEventInfo.h
This class provides information about an overlaid event.
EventInfoCnv_p1
Definition
EventInfoCnv_p1.h:13
PileUpEventInfoCnv_p1::persToTrans
virtual void persToTrans(const PileUpEventInfo_p1 *persObj, PileUpEventInfo *transObj, MsgStream &log) const override
Definition
PileUpEventInfoCnv_p1.cxx:32
PileUpEventInfoCnv_p1::transToPers
virtual void transToPers(const PileUpEventInfo *transObj, PileUpEventInfo_p1 *persObj, MsgStream &log) const override
Definition
PileUpEventInfoCnv_p1.cxx:16
PileUpEventInfo_p1
Definition
PileUpEventInfo_p1.h:20
PileUpEventInfo_p1::m_subEvents
SubEvVect_t m_subEvents
Definition
PileUpEventInfo_p1.h:32
PileUpEventInfo
This class provides information about an overlaid event.
Definition
PileUpEventInfo.h:38
PileUpEventInfo::addSubEvt
void addSubEvt(time_type t, PileUpTimeEventIndex::PileUpType puType, const EventInfo *pse, StoreGateSvc *psg)
setter for the subEvt collection t=0(ns) for the original event
Definition
PileUpEventInfo.h:110
PileUpEventInfo::endSubEvt
SubEvent::iterator endSubEvt()
Definition
PileUpEventInfo.h:138
PileUpEventInfo::beginSubEvt
SubEvent::iterator beginSubEvt()
Definition
PileUpEventInfo.h:137
index
Definition
index.py:1
PileUpTimeEventIndex::Unknown
@ Unknown
Definition
PileUpTimeEventIndex.h:15
Generated on
for ATLAS Offline Software by
1.17.0