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