ATLAS Offline Software
Loading...
Searching...
No Matches
PileUpEventInfoCnv_p3.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
8
10
11void PileUpEventInfoCnv_p3::transToPers(const PileUpEventInfo* trans, PileUpEventInfo_p3* pers, MsgStream &log) const {
12 evInfoConv.transToPers(trans, pers, log);
13
14 PileUpEventInfo::SubEvent::const_iterator sub_iter = trans->beginSubEvt();
15 size_t sub_ev_n = std::distance (sub_iter, trans->endSubEvt());
16 pers->m_subEvents.resize(sub_ev_n);
17 PileUpEventInfo_p3::SubEvVect_t::iterator p_sub_iter = pers->m_subEvents.begin();
18 while( sub_iter!=trans->endSubEvt() ) {
19 p_sub_iter->m_time = sub_iter->time();
20 p_sub_iter->m_index = sub_iter->index();
21 p_sub_iter->m_type = static_cast<short>(sub_iter->type());
22 evInfoConv.transToPers(sub_iter->pSubEvt, &p_sub_iter->m_subEventInfo, log);
23 ++p_sub_iter; ++sub_iter;
24 }
25}
26
27void PileUpEventInfoCnv_p3::persToTrans(const PileUpEventInfo_p3* pers, PileUpEventInfo* trans, MsgStream &log) const
28{
29 *trans = PileUpEventInfo();
30 evInfoConv.persToTrans(pers, trans, log);
31
32 PileUpEventInfo_p3::SubEvVect_t::const_iterator p_sub_iter = pers->m_subEvents.begin();
33 while( p_sub_iter != pers->m_subEvents.end() ) {
34 trans->addSubEvt (p_sub_iter->m_time,
35 //p_sub_iter->m_index,
36 static_cast<PileUpTimeEventIndex::PileUpType>(p_sub_iter->m_type),
37 std::unique_ptr<EventInfo>
38 (evInfoConv.createTransientConst(&p_sub_iter->m_subEventInfo, log)),
39 nullptr);
40 ++p_sub_iter;
41 }
42}
Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Old PileUpEventInfo
static const EventInfoCnv_p1 evInfoConv
This class provides information about an overlaid event.
virtual void persToTrans(const PileUpEventInfo_p3 *persObj, PileUpEventInfo *transObj, MsgStream &log) const override
virtual void transToPers(const PileUpEventInfo *transObj, PileUpEventInfo_p3 *persObj, MsgStream &log) const override
This class provides information about an overlaid event.
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
SubEvent::iterator endSubEvt()
SubEvent::iterator beginSubEvt()