ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonRDO
MuonRDO
STGC_RawData.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef MUONRDO_STGCRAWDATA_H
6
#define MUONRDO_STGCRAWDATA_H
7
8
9
#include "Identifier/Identifier.h"
10
#include <iosfwd>
11
#include <cstdint>
12
class
MsgStream;
13
14
namespace
Muon
{
15
class
STGC_RawData
final{
16
friend
class
STGC_RawDataCnv_p1
;
17
friend
class
STGC_RawDataCnv_p2
;
18
friend
class
STGC_RawDataCnv_p3
;
19
20
private
:
21
22
// offline identifier
23
Identifier
m_id
{};
24
25
// readout data
26
// keeping time in two variables: a float and an int. The float variable is kept for backward compatibility
27
float
m_time
{0};
28
unsigned
int
m_tdo
{0};
// time converted to TDC counts
29
unsigned
int
m_charge
{0};
30
uint16_t
m_bcTag
{0};
31
32
bool
m_isDead
{
false
};
33
bool
m_timeAndChargeInCounts
{
false
};
34
35
36
public
:
37
STGC_RawData
(
const
Identifier
id
);
38
STGC_RawData
() =
default
;
39
STGC_RawData
(
const
STGC_RawData
&) =
default
;
40
STGC_RawData
(
STGC_RawData
&&) =
default
;
41
STGC_RawData
&
operator=
(
const
STGC_RawData
&) =
default
;
42
STGC_RawData
&
operator=
(
STGC_RawData
&&) =
default
;
43
~STGC_RawData
() =
default
;
44
45
STGC_RawData
(
const
Identifier
id
,
const
uint16_t
bcTag
,
const
float
time
,
46
const
unsigned
int
charge
,
const
bool
isDead
,
47
const
bool
timeAndChargeInCounts
);
48
49
STGC_RawData
(
const
Identifier
id
,
const
uint16_t
bcTag
,
const
float
time
,
const
unsigned
int
tdo
,
50
const
unsigned
int
charge
,
const
bool
isDead
,
const
bool
timeAndChargeInCounts
);
51
52
53
const
Identifier
identify
()
const
{
return
m_id
; }
54
55
// access functions
56
float
time
()
const
{
return
m_time
;}
57
unsigned
int
tdo
()
const
{
return
m_tdo
;}
58
unsigned
int
charge
()
const
{
return
m_charge
;}
59
uint16_t
bcTag
()
const
{
return
m_bcTag
;}
60
61
bool
isDead
()
const
{
return
m_isDead
;}
62
bool
timeAndChargeInCounts
()
const
{
return
m_timeAndChargeInCounts
;}
63
64
// Lower time bound of digits selected at the end of digitization.
65
// As of June 2022, the main event is assigned to relative_BCID=3, which is set to correspond
66
// to the time interval [-12.5ns, +12.5ns]. The digits within the BC window [-3, +4] are kept.
67
// Therefore the lower time bound is -87.5 ns.
68
static
constexpr
double
s_lowerTimeBound
{-87.5};
69
70
// BC window
71
static
constexpr
int
s_BCWindow
{8};
72
73
// A Simple constant to convert time to TDC counts in the absence of time calibration.
74
// This constant should be used only to preserve backward compatibility, since it doesn't have
75
// physical meaning and the value is arbitrary. The value is chosen to be greater than
76
// 25 ns plus the absolute value of the time corresponding to the first bunch crossing defined in
77
// sTGC_Digitization/python/sTGC_DigitizationConfig.py, which is -100ns as of 2022-05-01.
78
// Therefore, after time-tdo conversion, the resulting TDC count is positive.
79
static
constexpr
int
s_timeTdoShift
{200};
80
};
81
}
82
84
MsgStream&
operator <<
( MsgStream& sl,
const
Muon::STGC_RawData
& coll);
85
87
std::ostream&
operator <<
( std::ostream& sl,
const
Muon::STGC_RawData
& coll);
88
89
#endif
90
operator<<
MsgStream & operator<<(MsgStream &sl, const Muon::STGC_RawData &coll)
Overload of << operator for MsgStream for debug output.
Definition
STGC_RawData.cxx:31
Muon::STGC_RawData
Definition
STGC_RawData.h:15
Muon::STGC_RawData::m_bcTag
uint16_t m_bcTag
Definition
STGC_RawData.h:30
Muon::STGC_RawData::STGC_RawData
STGC_RawData(const STGC_RawData &)=default
Muon::STGC_RawData::timeAndChargeInCounts
bool timeAndChargeInCounts() const
Definition
STGC_RawData.h:62
Muon::STGC_RawData::s_BCWindow
static constexpr int s_BCWindow
Definition
STGC_RawData.h:71
Muon::STGC_RawData::s_lowerTimeBound
static constexpr double s_lowerTimeBound
Definition
STGC_RawData.h:68
Muon::STGC_RawData::charge
unsigned int charge() const
Definition
STGC_RawData.h:58
Muon::STGC_RawData::STGC_RawData
STGC_RawData(STGC_RawData &&)=default
Muon::STGC_RawData::m_isDead
bool m_isDead
Definition
STGC_RawData.h:32
Muon::STGC_RawData::m_charge
unsigned int m_charge
Definition
STGC_RawData.h:29
Muon::STGC_RawData::bcTag
uint16_t bcTag() const
Definition
STGC_RawData.h:59
Muon::STGC_RawData::identify
const Identifier identify() const
Definition
STGC_RawData.h:53
Muon::STGC_RawData::tdo
unsigned int tdo() const
Definition
STGC_RawData.h:57
Muon::STGC_RawData::STGC_RawDataCnv_p1
friend class STGC_RawDataCnv_p1
Definition
STGC_RawData.h:16
Muon::STGC_RawData::STGC_RawData
STGC_RawData(const Identifier id)
Definition
STGC_RawData.cxx:13
Muon::STGC_RawData::m_id
Identifier m_id
Definition
STGC_RawData.h:23
Muon::STGC_RawData::operator=
STGC_RawData & operator=(STGC_RawData &&)=default
Muon::STGC_RawData::m_time
float m_time
Definition
STGC_RawData.h:27
Muon::STGC_RawData::STGC_RawData
STGC_RawData()=default
Muon::STGC_RawData::STGC_RawDataCnv_p3
friend class STGC_RawDataCnv_p3
Definition
STGC_RawData.h:18
Muon::STGC_RawData::~STGC_RawData
~STGC_RawData()=default
Muon::STGC_RawData::s_timeTdoShift
static constexpr int s_timeTdoShift
Definition
STGC_RawData.h:79
Muon::STGC_RawData::STGC_RawDataCnv_p2
friend class STGC_RawDataCnv_p2
Definition
STGC_RawData.h:17
Muon::STGC_RawData::time
float time() const
Definition
STGC_RawData.h:56
Muon::STGC_RawData::operator=
STGC_RawData & operator=(const STGC_RawData &)=default
Muon::STGC_RawData::m_timeAndChargeInCounts
bool m_timeAndChargeInCounts
Definition
STGC_RawData.h:33
Muon::STGC_RawData::isDead
bool isDead() const
Definition
STGC_RawData.h:61
Muon::STGC_RawData::m_tdo
unsigned int m_tdo
Definition
STGC_RawData.h:28
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