ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonRDO
MuonRDO
MM_RawData.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef MUONRDO_MM_RAWDATA_H
6
#define MUONRDO_MM_RAWDATA_H
7
8
#include <inttypes.h>
9
#include <vector>
10
#include <iosfwd>
11
#include "Identifier/Identifier.h"
12
13
class
MsgStream;
14
15
namespace
Muon
{
16
20
class
MM_RawData
final{
21
22
friend
class
MM_RawDataCnv_p1
;
23
friend
class
MM_RawDataCnv_p2
;
24
friend
class
MM_RawDataCnv_p3
;
25
26
private
:
27
28
// not sure whether the offline identifier is needed
29
Identifier
m_id
{};
30
32
int
m_channel
{0};
34
int
m_time
{0};
36
int
m_charge
{0};
38
uint16_t
m_relBcid
{0};
39
//indicator if the charge and time are in counts or physical units
40
bool
m_timeAndChargeInCounts
{
false
};
41
42
43
public
:
44
45
MM_RawData
(
const
Identifier
&
id
) :
m_id
(id) {}
46
47
MM_RawData
(
const
Identifier
&
id
,
const
int
channel
,
48
const
int
time
,
const
int
charge
,
const
uint16_t
relBcid
,
bool
timeAndChargeInCounts
)
49
:
m_id
(id),
m_channel
(
channel
),
m_time
(
time
),
m_charge
(
charge
),
m_relBcid
(
relBcid
),
m_timeAndChargeInCounts
(
timeAndChargeInCounts
) {}
50
51
MM_RawData
() =
default
;
52
MM_RawData
(
const
MM_RawData
&) =
default
;
53
MM_RawData
(
MM_RawData
&&) =
default
;
54
MM_RawData
&
operator=
(
const
MM_RawData
&) =
default
;
55
MM_RawData
&
operator=
(
MM_RawData
&&) =
default
;
56
~MM_RawData
() =
default
;
57
58
const
Identifier
&
identify
()
const
{
return
m_id
; }
59
60
// access functions to the online data
61
int
channel
()
const
{
return
m_channel
; }
62
int
time
()
const
{
return
m_time
; }
63
uint16_t
relBcid
()
const
{
return
m_relBcid
; }
64
int
charge
()
const
{
return
m_charge
; }
65
bool
timeAndChargeInCounts
()
const
{
return
m_timeAndChargeInCounts
;}
66
67
68
// Lower time bound of digits selected at the end of digitization, excluding the peaktime.
69
// As of June 2022, the main event is assigned to relative_BCID=1, which is set to correspond
70
// to the time interval [-12.5ns, +12.5ns]. The digits within the BC window [0, +7] are kept.
71
// Therefore the lower time bound is -37.5 ns.
72
static
constexpr
double
s_lowerTimeBound
{-37.5};
73
74
// BC window
75
static
constexpr
int
s_BCWindow
{8};
76
77
};
78
}
79
81
MsgStream&
operator <<
( MsgStream& sl,
const
Muon::MM_RawData
& coll);
82
84
std::ostream&
operator <<
( std::ostream& sl,
const
Muon::MM_RawData
& coll);
85
86
87
#endif
88
89
90
91
92
93
94
operator<<
MsgStream & operator<<(MsgStream &sl, const Muon::MM_RawData &coll)
Overload of << operator for MsgStream for debug output.
Definition
MM_RawData.cxx:8
Muon::MM_RawData
Temporary class to hold the MM RDO.
Definition
MM_RawData.h:20
Muon::MM_RawData::s_BCWindow
static constexpr int s_BCWindow
Definition
MM_RawData.h:75
Muon::MM_RawData::MM_RawData
MM_RawData(const Identifier &id)
Definition
MM_RawData.h:45
Muon::MM_RawData::MM_RawData
MM_RawData(const Identifier &id, const int channel, const int time, const int charge, const uint16_t relBcid, bool timeAndChargeInCounts)
Definition
MM_RawData.h:47
Muon::MM_RawData::time
int time() const
Definition
MM_RawData.h:62
Muon::MM_RawData::operator=
MM_RawData & operator=(MM_RawData &&)=default
Muon::MM_RawData::m_relBcid
uint16_t m_relBcid
rel bcid
Definition
MM_RawData.h:38
Muon::MM_RawData::MM_RawDataCnv_p3
friend class MM_RawDataCnv_p3
Definition
MM_RawData.h:24
Muon::MM_RawData::MM_RawData
MM_RawData(const MM_RawData &)=default
Muon::MM_RawData::s_lowerTimeBound
static constexpr double s_lowerTimeBound
Definition
MM_RawData.h:72
Muon::MM_RawData::channel
int channel() const
Definition
MM_RawData.h:61
Muon::MM_RawData::MM_RawDataCnv_p1
friend class MM_RawDataCnv_p1
Definition
MM_RawData.h:22
Muon::MM_RawData::m_id
Identifier m_id
Definition
MM_RawData.h:29
Muon::MM_RawData::MM_RawDataCnv_p2
friend class MM_RawDataCnv_p2
Definition
MM_RawData.h:23
Muon::MM_RawData::m_channel
int m_channel
channel Id
Definition
MM_RawData.h:32
Muon::MM_RawData::identify
const Identifier & identify() const
Definition
MM_RawData.h:58
Muon::MM_RawData::m_timeAndChargeInCounts
bool m_timeAndChargeInCounts
Definition
MM_RawData.h:40
Muon::MM_RawData::relBcid
uint16_t relBcid() const
Definition
MM_RawData.h:63
Muon::MM_RawData::m_time
int m_time
tdc counts or ns
Definition
MM_RawData.h:34
Muon::MM_RawData::timeAndChargeInCounts
bool timeAndChargeInCounts() const
Definition
MM_RawData.h:65
Muon::MM_RawData::charge
int charge() const
Definition
MM_RawData.h:64
Muon::MM_RawData::MM_RawData
MM_RawData(MM_RawData &&)=default
Muon::MM_RawData::~MM_RawData
~MM_RawData()=default
Muon::MM_RawData::m_charge
int m_charge
adc counts or electrons
Definition
MM_RawData.h:36
Muon::MM_RawData::MM_RawData
MM_RawData()=default
Muon::MM_RawData::operator=
MM_RawData & operator=(const MM_RawData &)=default
Identifier
Definition
IdentifierFieldParser.cxx:14
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition
TrackSystemController.h:46
Generated on
for ATLAS Offline Software by
1.17.0