ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Event
EventTPCnv
src
EventInfoCnv_p2.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/EventInfo.h"
6
#include "
EventInfo/EventID.h
"
7
#include "
EventInfo/EventType.h
"
8
#include "
EventInfo/TriggerInfo.h
"
9
10
#include "
EventTPCnv/EventInfoCnv_p2.h
"
11
#include "
EventTPCnv/EventIDCnv_p1.h
"
12
#include "
EventTPCnv/EventTypeCnv_p1.h
"
13
#include "
EventTPCnv/TriggerInfoCnv_p2.h
"
14
15
16
static
const
EventIDCnv_p1
idConv
;
17
static
const
EventTypeCnv_p1
typeConv
;
18
static
const
TriggerInfoCnv_p2
trigInfoCnv
;
19
20
21
void
EventInfoCnv_p2::transToPers
(
const
EventInfo
*
trans
,
EventInfo_p2
* pers, MsgStream &log)
const
{
22
idConv
.transToPers(
trans
->event_ID(), &pers->
m_event_ID
, log);
23
typeConv
.transToPers(
trans
->event_type(), &pers->
m_event_type
, log);
24
if
(
trans
->trigger_info() ) {
25
trigInfoCnv
.transToPers(
trans
->trigger_info(), &pers->
m_trigger_info
, log);
26
}
27
// Don't write out event flags if they are all == 0
28
const
std::vector<unsigned int>& event_flags =
trans
->eventFlags();
29
if
(event_flags.size()) {
30
bool
copy =
false
;
31
for
(
unsigned
int
i = 0; i < event_flags.size(); ++i) {
32
if
(event_flags[i]) { copy =
true
;
break
; }
33
}
34
if
(copy) pers->
m_event_flags
= event_flags;
35
}
36
}
37
38
void
EventInfoCnv_p2::persToTrans
(
const
EventInfo_p2
* pers,
EventInfo
*
trans
, MsgStream &log)
const
{
39
trans
->setEventID (
idConv
.createTransientConst(&pers->
m_event_ID
, log));
40
trans
->setEventType (
typeConv
.createTransientConst(&pers->
m_event_type
, log));
41
trans
->setTriggerInfo (
trigInfoCnv
.createTransientConst(&pers->
m_trigger_info
, log));
42
if
(pers->
m_event_flags
.size())
trans
->m_event_flags = pers->
m_event_flags
;
43
}
44
45
// work around the default constructor of EventInfo allocating memory
46
EventInfo
*
EventInfoCnv_p2::createTransientConst
(
const
EventInfo_p2
* persObj, MsgStream &log)
const
{
47
std::unique_ptr<EventInfo>
trans
(
new
EventInfo
(0,0,0) );
48
persToTrans
(persObj,
trans
.get(), log);
49
return
(
trans
.release());
50
}
EventIDCnv_p1.h
EventID.h
This class provides a unique identification for each event, in terms of run/event number and/or a tim...
trigInfoCnv
static const TriggerInfoCnv_p1 trigInfoCnv
Definition
EventInfoCnv_p1.cxx:18
typeConv
static const EventTypeCnv_p1 typeConv
Definition
EventInfoCnv_p1.cxx:17
idConv
static const EventIDCnv_p1 idConv
Definition
EventInfoCnv_p1.cxx:16
EventInfoCnv_p2.h
EventInfo
EventInfo
Definition
EventTPCnv.cxx:47
EventTypeCnv_p1.h
EventType.h
This class provides general information about an event.
TriggerInfoCnv_p2.h
TriggerInfo.h
This class contains trigger related information.
EventIDCnv_p1
Definition
EventIDCnv_p1.h:14
EventInfoCnv_p2::persToTrans
virtual void persToTrans(const EventInfo_p2 *persObj, EventInfo *transObj, MsgStream &log) const override
Definition
EventInfoCnv_p2.cxx:38
EventInfoCnv_p2::transToPers
virtual void transToPers(const EventInfo *transObj, EventInfo_p2 *persObj, MsgStream &log) const override
Definition
EventInfoCnv_p2.cxx:21
EventInfoCnv_p2::createTransientConst
virtual EventInfo * createTransientConst(const EventInfo_p2 *persObj, MsgStream &log) const override
Definition
EventInfoCnv_p2.cxx:46
EventInfo_p2
Definition
EventInfo_p2.h:18
EventInfo_p2::m_trigger_info
TriggerInfo_p2 m_trigger_info
Definition
EventInfo_p2.h:24
EventInfo_p2::m_event_flags
std::vector< unsigned int > m_event_flags
Definition
EventInfo_p2.h:25
EventInfo_p2::m_event_type
EventType_p1 m_event_type
Definition
EventInfo_p2.h:23
EventInfo_p2::m_event_ID
EventID_p1 m_event_ID
Definition
EventInfo_p2.h:22
EventInfo
This class provides general information about an event.
Definition
EventInfo/EventInfo/EventInfo.h:43
EventTypeCnv_p1
Definition
EventTypeCnv_p1.h:13
TriggerInfoCnv_p2
Definition
TriggerInfoCnv_p2.h:13
trans
TH1F * trans(TH1F *h, bool t=false)
Definition
comparitor.cxx:199
Generated on
for ATLAS Offline Software by
1.17.0