ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonCnv
MuonMDT_CnvTools
src
MdtRDO_Decoder.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
MdtRDO_Decoder.h
"
6
7
using namespace
Muon
;
8
9
MdtRDO_Decoder::MdtRDO_Decoder
(
const
std::string&
type
,
const
std::string& name,
const
IInterface* parent) :
10
AthAlgTool
(
type
, name, parent) {
11
declareInterface<IMDT_RDO_Decoder>(
this
);
12
}
13
14
StatusCode
MdtRDO_Decoder::initialize
() {
15
ATH_CHECK
(
m_idHelperSvc
.retrieve());
16
ATH_CHECK
(
m_readKey
.initialize());
17
return
StatusCode::SUCCESS;
18
}
19
20
std::unique_ptr<MdtDigit>
MdtRDO_Decoder::getDigit
(
const
EventContext&ctx,
21
const
MdtAmtHit
& amtHit,
22
uint16_t subdetId, uint16_t mrodId, uint16_t csmId)
const
{
23
SG::ReadCondHandle<MuonMDT_CablingMap>
readHandle{
m_readKey
, ctx};
24
const
MuonMDT_CablingMap
* readCdo{*readHandle};
25
if
(!readCdo) {
26
ATH_MSG_ERROR
(
"Null pointer to the read conditions object"
);
27
return
nullptr
;
28
}
29
MuonMDT_CablingMap::CablingData
cabling_data{};
30
cabling_data.tdcId = amtHit.
tdcId
();
31
cabling_data.channelId = amtHit.
channelId
();
32
cabling_data.subdetectorId = subdetId;
33
cabling_data.mrod = mrodId;
34
cabling_data.csm = csmId;
35
36
uint16_t coarse = amtHit.
coarse
();
37
uint16_t fine = amtHit.
fine
();
38
int
width
=
static_cast<
int
>
(amtHit.
width
());
39
40
if
(!readCdo->
getOfflineId
(cabling_data, msgStream()))
return
nullptr
;
41
Identifier
chanId;
42
if
(!readCdo->
convert
(cabling_data, chanId,
false
))
return
nullptr
;
43
int
tdcCounts = coarse * 32 + fine;
44
return
std::make_unique<MdtDigit>(chanId, tdcCounts,
width
, amtHit.
isMasked
());
45
}
46
ATH_CHECK
#define ATH_CHECK
Evaluate an expression and check for errors.
Definition
AthCheckMacros.h:40
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x,...)
Definition
AthMsgStreamMacros.h:47
MdtRDO_Decoder.h
width
const double width
Definition
TTileTripReader.cxx:24
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
MdtAmtHit
MDT RDO's : data from a single channel of an AMT Atlas Muon TDC.
Definition
MdtAmtHit.h:20
MdtAmtHit::fine
uint16_t fine() const
Definition
MdtAmtHit.h:73
MdtAmtHit::width
uint16_t width() const
Definition
MdtAmtHit.h:74
MdtAmtHit::tdcId
uint16_t tdcId() const
Definition
MdtAmtHit.h:70
MdtAmtHit::isMasked
bool isMasked() const
Definition
MdtAmtHit.h:76
MdtAmtHit::channelId
uint16_t channelId() const
Definition
MdtAmtHit.h:71
MdtAmtHit::coarse
uint16_t coarse() const
Definition
MdtAmtHit.h:72
MuonMDT_CablingMap
Definition
MuonMDT_CablingMap.h:28
MuonMDT_CablingMap::CablingData
MdtCablingData CablingData
Definition
MuonMDT_CablingMap.h:79
MuonMDT_CablingMap::getOfflineId
bool getOfflineId(CablingData &cabling_data, MsgStream &log) const
return the offline id given the online id
Definition
MuonMDT_CablingMap.cxx:252
MuonMDT_CablingMap::convert
bool convert(const CablingData &cabling_data, Identifier &id, bool check_valid=true) const
converts the cabling data into an identifier.
Definition
MuonMDT_CablingMap.cxx:44
Muon::MdtRDO_Decoder::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition
MdtRDO_Decoder.h:38
Muon::MdtRDO_Decoder::getDigit
std::unique_ptr< MdtDigit > getDigit(const EventContext &ctx, const MdtAmtHit &amtHit, uint16_t subdetId, uint16_t mrodId, uint16_t csmId) const override final
Definition
MdtRDO_Decoder.cxx:20
Muon::MdtRDO_Decoder::MdtRDO_Decoder
MdtRDO_Decoder(const std::string &type, const std::string &name, const IInterface *parent)
Definition
MdtRDO_Decoder.cxx:9
Muon::MdtRDO_Decoder::m_readKey
SG::ReadCondHandleKey< MuonMDT_CablingMap > m_readKey
Definition
MdtRDO_Decoder.h:39
Muon::MdtRDO_Decoder::initialize
StatusCode initialize() override final
Definition
MdtRDO_Decoder.cxx:14
SG::ReadCondHandle
Definition
ReadCondHandle.h:39
Identifier
Definition
IdentifierFieldParser.cxx:14
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition
TrackSystemController.h:46
type
Generated on
for ATLAS Offline Software by
1.17.0