ATLAS Offline Software
MM_RawData.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 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
30 
32  int m_channel;
34  int m_time;
36  int m_charge;
39  //indicator if the charge and time are in counts or physical units
41 
42 
43  public:
44 
47 
48 
49  MM_RawData ( const Identifier& id, const int channel,
50  const int time, const int charge, const uint16_t relBcid, bool timeAndChargeInCounts)
52 
53  MM_RawData() = default;
54  MM_RawData(const MM_RawData&) = default;
55  MM_RawData(MM_RawData&&) = default;
56  MM_RawData& operator=(const MM_RawData&) = default;
58  ~MM_RawData() = default;
59 
60  const Identifier& identify() const { return m_id; }
61 
62  // access functions to the online data
63  int channel() const { return m_channel; }
64  int time() const { return m_time; }
65  uint16_t relBcid() const { return m_relBcid; }
66  int charge() const { return m_charge; }
68 
69 
70  // Lower time bound of digits selected at the end of digitization, excluding the peaktime.
71  // As of June 2022, the main event is assigned to relative_BCID=1, which is set to correspond
72  // to the time interval [-12.5ns, +12.5ns]. The digits within the BC window [0, +7] are kept.
73  // Therefore the lower time bound is -37.5 ns.
74  static constexpr double s_lowerTimeBound{-37.5};
75 
76  // BC window
77  static constexpr int s_BCWindow{8};
78 
79 };
80 }
81 
83 MsgStream& operator << ( MsgStream& sl, const Muon::MM_RawData& coll);
84 
86 std::ostream& operator << ( std::ostream& sl, const Muon::MM_RawData& coll);
87 
88 
89 #endif
90 
91 
92 
93 
94 
95 
96 
Muon::MM_RawDataCnv_p2
Definition: MM_RawDataCnv_p2.h:18
Muon::MM_RawData::relBcid
uint16_t relBcid() const
Definition: MM_RawData.h:65
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::s_lowerTimeBound
static constexpr double s_lowerTimeBound
Definition: MM_RawData.h:74
Muon::MM_RawData::timeAndChargeInCounts
bool timeAndChargeInCounts() const
Definition: MM_RawData.h:67
Muon::MM_RawData::identify
const Identifier & identify() const
Definition: MM_RawData.h:60
Muon::MM_RawData::time
int time() const
Definition: MM_RawData.h:64
Muon::MM_RawDataCnv_p1
Definition: MM_RawDataCnv_p1.h:18
Muon
This class provides conversion from CSC RDO data to CSC Digits.
Definition: TrackSystemController.h:49
Muon::MM_RawData::s_BCWindow
static constexpr int s_BCWindow
Definition: MM_RawData.h:77
Muon::MM_RawData::~MM_RawData
~MM_RawData()=default
Muon::MM_RawData::operator=
MM_RawData & operator=(const MM_RawData &)=default
Muon::MM_RawData::m_charge
int m_charge
adc counts or electrons
Definition: MM_RawData.h:36
Muon::MM_RawDataCnv_p3
Definition: MM_RawDataCnv_p3.h:18
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
Muon::MM_RawData
Temporary class to hold the MM RDO.
Definition: MM_RawData.h:20
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:49
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
Muon::MM_RawData::MM_RawData
MM_RawData(MM_RawData &&)=default
Muon::MM_RawData::operator=
MM_RawData & operator=(MM_RawData &&)=default
Muon::MM_RawData::MM_RawData
MM_RawData()=default
Muon::MM_RawData::channel
int channel() const
Definition: MM_RawData.h:63
Muon::MM_RawData::m_id
Identifier m_id
Definition: MM_RawData.h:29
Muon::MM_RawData::charge
int charge() const
Definition: MM_RawData.h:66
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:191
Muon::MM_RawData::m_channel
int m_channel
channel Id
Definition: MM_RawData.h:32
Muon::MM_RawData::m_time
int m_time
tdc counts or ns
Definition: MM_RawData.h:34
Muon::MM_RawData::MM_RawData
MM_RawData(const MM_RawData &)=default
Muon::MM_RawData::m_relBcid
uint16_t m_relBcid
rel bcid
Definition: MM_RawData.h:38
Muon::MM_RawData::m_timeAndChargeInCounts
bool m_timeAndChargeInCounts
Definition: MM_RawData.h:40
Muon::MM_RawData::MM_RawData
MM_RawData(const Identifier &id)
default constructor
Definition: MM_RawData.h:46