ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Event
EventInfo
src
PileUpEventInfo.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
12
#include "GaudiKernel/ClassID.h"
13
#include "GaudiKernel/MsgStream.h"
14
#include "
EventInfo/EventID.h
"
15
#include "
EventInfo/PileUpEventInfo.h
"
16
#include <utility>
17
18
PileUpEventInfo::PileUpEventInfo
() :
19
EventInfo
()
20
{}
21
22
PileUpEventInfo::PileUpEventInfo
(
EventID
*
id
,
EventType
*
type
) :
23
EventInfo
(id,
type
)
24
{}
25
26
PileUpEventInfo::PileUpEventInfo
(
EventID
*
id
,
EventType
*
type
,
27
TriggerInfo
* trig_info) :
28
EventInfo
(id,
type
, trig_info)
29
{}
30
31
PileUpEventInfo::~PileUpEventInfo
()
32
{}
33
34
PileUpEventInfo::SubEvent::SubEvent
()
35
:
36
m_timeIndex
(0),
//FIXME why 0?
37
pSubEvt
(0),
pSubEvtSG
(0)
38
39
{}
40
41
PileUpEventInfo::SubEvent::SubEvent
(
const
SubEvent
& rhs) :
42
m_timeIndex
(rhs.
m_timeIndex
),
43
pSubEvt
(0 == rhs.
pSubEvt
? 0 : new
EventInfo
(*rhs.
pSubEvt
)),
44
pSubEvtSG
(rhs.
pSubEvtSG
)
45
46
{}
47
48
PileUpEventInfo::SubEvent
&
49
PileUpEventInfo::SubEvent::operator = (
const
SubEvent
& rhs) {
50
if
(
this
!= &rhs) {
51
m_timeIndex
= rhs.
m_timeIndex
;
52
pSubEvtSG
= rhs.
pSubEvtSG
;
53
delete
pSubEvt
;
54
pSubEvt
= (0 == rhs.
pSubEvt
? 0 :
new
EventInfo
(*rhs.
pSubEvt
));
55
}
56
return
*
this
;
57
}
58
59
PileUpEventInfo::SubEvent::SubEvent
(
SubEvent
&& rhs) :
60
m_timeIndex
(rhs.
m_timeIndex
),
61
pSubEvt
(rhs.
pSubEvt
),
62
pSubEvtSG
(rhs.
pSubEvtSG
) {
63
rhs.pSubEvt = 0;
64
}
65
66
PileUpEventInfo::SubEvent
&
67
PileUpEventInfo::SubEvent::operator = (
SubEvent
&& rhs) {
68
if
(
this
!= &rhs) {
69
m_timeIndex
= rhs.m_timeIndex;
70
pSubEvtSG
= rhs.pSubEvtSG;
71
delete
pSubEvt
;
72
pSubEvt
= rhs.pSubEvt;
73
rhs.pSubEvt = 0;
74
}
75
return
*
this
;
76
}
77
78
PileUpEventInfo::SubEvent::~SubEvent
() {
79
delete
pSubEvt
;
80
}
81
82
PileUpEventInfo::SubEvent::SubEvent
(
time_type
t,
83
const
EventInfo
* pse,
84
StoreGateSvc
* psg) :
85
m_timeIndex
(t),
86
pSubEvt
(0 == pse ? 0 : new
EventInfo
(*pse)),
87
pSubEvtSG
(psg)
88
{}
89
90
PileUpEventInfo::SubEvent::SubEvent
(
time_type
t,
index_type
index
,
91
const
EventInfo
* pse,
92
StoreGateSvc
* psg) :
93
m_timeIndex
(t,
index
),
94
pSubEvt
(0 == pse ? 0 : new
EventInfo
(*pse)),
95
pSubEvtSG
(psg)
96
{}
97
PileUpEventInfo::SubEvent::SubEvent
(
time_type
t,
index_type
index
,
98
PileUpTimeEventIndex::PileUpType
typ,
99
const
EventInfo
* pse,
100
StoreGateSvc
* psg) :
101
m_timeIndex
(t,
index
, typ),
102
pSubEvt
(0 == pse ? 0 : new
EventInfo
(*pse)),
103
pSubEvtSG
(psg)
104
{}
105
PileUpEventInfo::SubEvent::SubEvent
(
time_type
t,
unsigned
int
BCID
,
106
index_type
index
,
107
PileUpTimeEventIndex::PileUpType
typ,
108
const
EventInfo
& rse,
109
StoreGateSvc
* psg) :
110
m_timeIndex
(t,
index
, typ),
111
pSubEvt
(new
EventInfo
(rse)),
112
pSubEvtSG
(psg) {
113
pSubEvt
->event_ID()->set_bunch_crossing_id(
BCID
);
114
}
115
116
PileUpEventInfo::SubEvent::SubEvent
(
time_type
t,
117
std::unique_ptr<EventInfo> pse,
118
StoreGateSvc
* psg) :
119
m_timeIndex
(t),
120
pSubEvt
(pse.
release
()),
121
pSubEvtSG
(psg)
122
{}
123
124
PileUpEventInfo::SubEvent::SubEvent
(
time_type
t,
index_type
index
,
125
std::unique_ptr<EventInfo> pse,
126
StoreGateSvc
* psg) :
127
m_timeIndex
(t,
index
),
128
pSubEvt
(pse.
release
()),
129
pSubEvtSG
(psg)
130
{}
131
PileUpEventInfo::SubEvent::SubEvent
(
time_type
t,
index_type
index
,
132
PileUpTimeEventIndex::PileUpType
typ,
133
std::unique_ptr<EventInfo> pse,
134
StoreGateSvc
* psg) :
135
m_timeIndex
(t,
index
, typ),
136
pSubEvt
(pse.
release
()),
137
pSubEvtSG
(psg)
138
{}
139
PileUpEventInfo::SubEvent::SubEvent
(
time_type
t,
unsigned
int
BCID
,
140
index_type
index
,
141
PileUpTimeEventIndex::PileUpType
typ,
142
std::unique_ptr<EventInfo> pse,
143
StoreGateSvc
* psg) :
144
m_timeIndex
(t,
index
, typ),
145
pSubEvt
(pse.
release
()),
146
pSubEvtSG
(psg) {
147
pSubEvt
->event_ID()->set_bunch_crossing_id(
BCID
);
148
}
149
150
unsigned
int
151
PileUpEventInfo::SubEvent::BCID
()
const
{
152
// Be sure to call const methods to avoid checker warnings.
153
if
(!
pSubEvt
)
return
0;
154
return
std::as_const(*pSubEvt).event_ID()->bunch_crossing_id();
155
}
EventID.h
This class provides a unique identification for each event, in terms of run/event number and/or a tim...
PileUpEventInfo.h
This class provides information about an overlaid event.
EventID
This class provides a unique identification for each event, in terms of run/event number and/or a tim...
Definition
EventID.h:35
EventInfo::EventInfo
EventInfo()
Definition
EventInfo.cxx:23
EventType
This class represents the "type of event" where the type is given by one or more "characteristics".
Definition
EventType.h:92
PileUpEventInfo::PileUpEventInfo
PileUpEventInfo()
Definition
PileUpEventInfo.cxx:18
PileUpEventInfo::~PileUpEventInfo
virtual ~PileUpEventInfo()
Definition
PileUpEventInfo.cxx:31
StoreGateSvc
The Athena Transient Store API.
Definition
StoreGateSvc.h:120
TriggerInfo
This class contains trigger related information.
Definition
TriggerInfo.h:77
xAOD::EventInfo_v1::SubEvent::SubEvent
SubEvent(int16_t time, uint16_t index, PileUpType type, const ElementLink< EventInfoContainer_v1 > &link)
Constructor giving all relevant information to the object.
Definition
EventInfo_v1.cxx:444
release
static std::string release
Definition
computils.h:50
EventInfo
Definition
EventInfo.py:1
index
Definition
index.py:1
type
PileUpEventInfo::SubEvent
a triple allowing access to a sub-event
Definition
PileUpEventInfo.h:58
PileUpEventInfo::SubEvent::pSubEvt
EventInfo * pSubEvt
redundant but handy e.g. for persist. FIXME OWNED COPY
Definition
PileUpEventInfo.h:62
PileUpEventInfo::SubEvent::m_timeIndex
PileUpTimeEventIndex m_timeIndex
Definition
PileUpEventInfo.h:60
PileUpEventInfo::SubEvent::pSubEvtSG
StoreGateSvc * pSubEvtSG
the sub event store
Definition
PileUpEventInfo.h:63
PileUpEventInfo::SubEvent::BCID
unsigned int BCID() const
Definition
PileUpEventInfo.cxx:151
PileUpEventInfo::SubEvent::time_type
PileUpTimeEventIndex::time_type time_type
Definition
PileUpEventInfo.h:65
PileUpEventInfo::SubEvent::~SubEvent
~SubEvent()
Definition
PileUpEventInfo.cxx:78
PileUpEventInfo::SubEvent::index_type
PileUpTimeEventIndex::index_type index_type
Definition
PileUpEventInfo.h:66
PileUpEventInfo::SubEvent::SubEvent
SubEvent()
Definition
PileUpEventInfo.cxx:34
PileUpTimeEventIndex::PileUpType
PileUpType
Definition
PileUpTimeEventIndex.h:14
Generated on
for ATLAS Offline Software by
1.17.0