ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArRawEvent
LArRawEvent
LArRawChannel.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef LArRawChannel_H
6
#define LArRawChannel_H
7
8
#include "
Identifier/HWIdentifier.h
"
9
#include "
CaloIdentifier/CaloGain.h
"
10
#include <stdint.h>
11
12
// Gaudi Class ID
13
14
// static const CLID CLID_LArRawChannel = 2722 ;
15
40
class
LArRawChannel
final{
41
42
public
:
43
45
LArRawChannel
();
47
LArRawChannel
(
const
LArRawChannel
&) =
default
;
48
LArRawChannel
(
LArRawChannel
&&) =
default
;
49
LArRawChannel
&
operator=
(
const
LArRawChannel
&) =
default
;
50
LArRawChannel
&
operator=
(
LArRawChannel
&&) =
default
;
52
~LArRawChannel
() =
default
;
53
54
63
LArRawChannel
(
HWIdentifier
chan_id,
64
int
energy
,
65
int
time
,
66
uint16_t
quality
,
67
uint16_t
provenance
,
68
CaloGain::CaloGain
gain
);
69
70
72
HWIdentifier
identify
()
const
;
73
75
HWIdentifier
channelID
()
const
;
76
const
HWIdentifier
&
hardwareID
()
const
;
77
79
int
energy
()
const
;
80
82
int
time
()
const
;
83
85
uint16_t
quality
()
const
;
86
88
uint16_t
provenance
()
const
;
89
91
CaloGain::CaloGain
gain
()
const
;
92
93
private
:
94
96
HWIdentifier
m_channelID
;
98
int
m_energy
;
100
int
m_time
;
102
103
// Reflex doesn't handle unions completely correctly.
104
// If you have a union as a data member, it will print a warning
105
// at runtime. So, hide the union from reflex. (Only m_quality is used
106
// in inlined code.)
107
#ifdef __REFLEX__
108
int
m_quality
;
109
# define m_qualProv ((uint16_t*)&m_quality)
110
#else
111
union
{
112
int
m_quality
;
113
uint16_t
m_qualProv
[2];
114
};
115
#endif
116
118
CaloGain::CaloGain
m_gain
;
119
120
};
121
122
124
125
inline
126
LArRawChannel::LArRawChannel
()
127
:
128
m_channelID
(0),
129
m_energy
(0),
130
m_time
(0),
131
m_quality
(0),
132
m_gain
(
CaloGain
::
CaloGain
(4))
133
{ }
134
135
inline
136
LArRawChannel::LArRawChannel
(
HWIdentifier
chan_id,
137
int
energy
,
138
int
time
,
139
uint16_t
quality
,
140
uint16_t
provenance
,
141
CaloGain::CaloGain
gain
)
142
:
143
m_channelID
(chan_id),
144
m_energy
(
energy
),
145
m_time
(
time
),
146
m_gain
(
gain
)
147
{
m_qualProv
[0] =
quality
;
148
// cppcheck-suppress objectIndex
149
m_qualProv
[1] =
provenance
;
150
}
151
152
inline
153
HWIdentifier
154
LArRawChannel::identify
()
const
{
return
m_channelID
; }
155
156
inline
157
HWIdentifier
158
LArRawChannel::channelID
()
const
{
return
m_channelID
; }
159
160
inline
161
const
HWIdentifier
&
162
LArRawChannel::hardwareID
()
const
{
return
m_channelID
; }
163
164
inline
165
int
166
LArRawChannel::energy
()
const
{
return
m_energy
; }
167
168
inline
169
int
170
LArRawChannel::time
()
const
{
return
m_time
; }
171
172
inline
173
uint16_t
174
LArRawChannel::quality
()
const
{
return
m_qualProv
[0]; }
175
176
inline
177
uint16_t
178
LArRawChannel::provenance
()
const
179
{
180
// cppcheck-suppress objectIndex
181
return
m_qualProv
[1];
182
}
183
184
inline
185
CaloGain::CaloGain
186
LArRawChannel::gain
()
const
{
return
m_gain
;}
187
188
#endif
189
190
CaloGain.h
HWIdentifier.h
HWIdentifier
Definition
HWIdentifier.h:13
LArRawChannel::provenance
uint16_t provenance() const
Definition
LArRawChannel.h:178
LArRawChannel::identify
HWIdentifier identify() const
Definition
LArRawChannel.h:154
LArRawChannel::LArRawChannel
LArRawChannel(LArRawChannel &&)=default
LArRawChannel::operator=
LArRawChannel & operator=(const LArRawChannel &)=default
LArRawChannel::hardwareID
const HWIdentifier & hardwareID() const
Definition
LArRawChannel.h:162
LArRawChannel::m_gain
CaloGain::CaloGain m_gain
gain information
Definition
LArRawChannel.h:118
LArRawChannel::m_energy
int m_energy
energy in MeV
Definition
LArRawChannel.h:98
LArRawChannel::gain
CaloGain::CaloGain gain() const
Definition
LArRawChannel.h:186
LArRawChannel::time
int time() const
Definition
LArRawChannel.h:170
LArRawChannel::LArRawChannel
LArRawChannel(const LArRawChannel &)=default
Default copy/move ctor/assignment.
LArRawChannel::m_quality
int m_quality
Definition
LArRawChannel.h:112
LArRawChannel::quality
uint16_t quality() const
Definition
LArRawChannel.h:174
LArRawChannel::LArRawChannel
LArRawChannel()
default constructor for persistenty
Definition
LArRawChannel.h:126
LArRawChannel::m_time
int m_time
time in ps
Definition
LArRawChannel.h:100
LArRawChannel::m_qualProv
uint16_t m_qualProv[2]
Definition
LArRawChannel.h:113
LArRawChannel::channelID
HWIdentifier channelID() const
Definition
LArRawChannel.h:158
LArRawChannel::operator=
LArRawChannel & operator=(LArRawChannel &&)=default
LArRawChannel::energy
int energy() const
Definition
LArRawChannel.h:166
LArRawChannel::m_channelID
HWIdentifier m_channelID
online identifier
Definition
LArRawChannel.h:96
LArRawChannel::~LArRawChannel
~LArRawChannel()=default
destructor
CaloGain
Definition
CaloGain.h:10
CaloGain::CaloGain
CaloGain
Definition
CaloGain.h:11
Generated on
for ATLAS Offline Software by
1.17.0