ATLAS Offline Software
Loading...
Searching...
No Matches
MDT_Hid2RESrcID Class Reference

#include <MDT_Hid2RESrcID.h>

Collaboration diagram for MDT_Hid2RESrcID:

Public Member Functions

 MDT_Hid2RESrcID ()
 constrcutor
StatusCode set (const MdtIdHelper *mdtId)
 intialize the cabling service
void setSpecialROBNumber (int specialROBNumber)
 TMP method for sector 13 data.
uint32_t getRodID (const Identifier &offlineId) const

Static Public Member Functions

static uint32_t getRobID (uint32_t rod_id)
 Make a ROB Source ID from a ROD source ID.
static uint32_t getRosID (uint32_t rob_id)
 Make a ROS Source ID from a ROB source ID.
static uint32_t getDetID (uint32_t ros_id)
 Make a SubDetector ID from ROS source ID.

Private Attributes

const MdtIdHelperm_mdtIdHelper
int m_specialROBNumber
SG::ReadCondHandleKey< MuonMDT_CablingMapm_readKey

Detailed Description

Definition at line 30 of file MDT_Hid2RESrcID.h.

Constructor & Destructor Documentation

◆ MDT_Hid2RESrcID()

MDT_Hid2RESrcID::MDT_Hid2RESrcID ( )

constrcutor

Definition at line 24 of file MDT_Hid2RESrcID.cxx.

24: m_mdtIdHelper(nullptr), m_specialROBNumber(0), m_readKey("MuonMDT_CablingMap") {}
const MdtIdHelper * m_mdtIdHelper
SG::ReadCondHandleKey< MuonMDT_CablingMap > m_readKey

Member Function Documentation

◆ getDetID()

uint32_t MDT_Hid2RESrcID::getDetID ( uint32_t ros_id)
static

Make a SubDetector ID from ROS source ID.

mapping SrcID from ROS to Det

Definition at line 112 of file MDT_Hid2RESrcID.cxx.

112 {
113 // ROS to DET
114
115 SourceIdentifier id(ros_id);
116 SourceIdentifier id2(id.subdetector_id(), 0);
117 return id2.code();
118}
HWIdentifier id2

◆ getRobID()

uint32_t MDT_Hid2RESrcID::getRobID ( uint32_t rod_id)
static

Make a ROB Source ID from a ROD source ID.

mapping SrcID from ROD to ROB

Definition at line 88 of file MDT_Hid2RESrcID.cxx.

88 {
89 SourceIdentifier id = SourceIdentifier(rod_id);
90 SourceIdentifier id2 = SourceIdentifier(id.subdetector_id(), id.module_id());
91 // return id2.code();
92
93 // FIXME ! the rob ID in the first data taken is wrong !
94 // return 0x610003;
95
96 // After data will be fixed the correct version should be:
97 return rod_id;
98}

◆ getRodID()

uint32_t MDT_Hid2RESrcID::getRodID ( const Identifier & offlineId) const

Definition at line 33 of file MDT_Hid2RESrcID.cxx.

33 {
34 // this method returns a RESrcID for the ROD, for a
35 // given MDT ID offline ID
36
37 MsgStream log(Athena::getMessageSvc(), "MDT_Hid2RESrcID::getRodID");
38
39 log << MSG::DEBUG << "Getting RODId of the Station " << MSG::hex << offlineId << MSG::dec << endmsg;
40
41 SG::ReadCondHandle<MuonMDT_CablingMap> readHandle{m_readKey};
42 const MuonMDT_CablingMap* readCdo{*readHandle};
43 if (!readCdo) {
44 // ATH_MSG_ERROR("Null pointer to the read conditions object");
45 log << MSG::ERROR << "Null pointer to the read conditions object" << endmsg;
46 return 0;
47 }
49 if (!readCdo->convert(offlineId, cabling_data)) {
50 log << MSG::ERROR << " Invalid identifier given " << endmsg;
51 return 0;
52 }
53 bool online = readCdo->getOnlineId(cabling_data, log);
54
55 if (!online) {
56 log << MSG::DEBUG << "ROD Id of the Station " << MSG::hex << "0x" << offlineId << " not found" << endmsg;
57 cabling_data.mrod = 0xff;
58 } else {
59 log << MSG::DEBUG << "The ROD ID of the station "
60 << "is " << MSG::hex << "0x" << cabling_data.mrod << MSG::dec << endmsg;
61 }
62
63 eformat::SubDetector detid = (eformat::SubDetector)cabling_data.subdetectorId;
64
65 // if (SubsystemId == eformat::MUON_MDT_BARREL_A_SIDE) {
66 // detid = eformat::MUON_MDT_BARREL_A_SIDE;
67 //}
68 // else if (SubsystemId == eformat::MUON_MDT_BARREL_C_SIDE) {
69 // detid = eformat::MUON_MDT_BARREL_C_SIDE;
70 //}
71 // else if (SubsystemId == eformat::MUON_MDT_ENDCAP_A_SIDE) {
72 // detid = eformat::MUON_MDT_ENDCAP_A_SIDE;
73 //}
74 // else if (SubsystemId == eformat::MUON_MDT_ENDCAP_C_SIDE) {
75 // detid = eformat::MUON_MDT_ENDCAP_C_SIDE;
76 //}
77
78 // uint8_t m = (uint8_t) MrodId;
79 SourceIdentifier sid(detid, cabling_data.mrod);
80
81 uint32_t rod_id = sid.code();
82
83 return rod_id;
84}
#define endmsg
MdtCablingData CablingData
bool getOnlineId(CablingData &cabling_data, MsgStream &log) const
return the online id given the offline id
bool convert(const CablingData &cabling_data, Identifier &id, bool check_valid=true) const
converts the cabling data into an identifier.
IMessageSvc * getMessageSvc(bool quiet=false)
setEventNumber uint32_t

◆ getRosID()

uint32_t MDT_Hid2RESrcID::getRosID ( uint32_t rob_id)
static

Make a ROS Source ID from a ROB source ID.

mapping SrcID from ROB to ROS

Definition at line 102 of file MDT_Hid2RESrcID.cxx.

102 {
103 // Change Module Type to ROS, moduleid = 0
104
105 SourceIdentifier id(rob_id);
106 SourceIdentifier id2(id.subdetector_id(), 0);
107 return id2.code();
108}

◆ set()

StatusCode MDT_Hid2RESrcID::set ( const MdtIdHelper * mdtId)

intialize the cabling service

Definition at line 26 of file MDT_Hid2RESrcID.cxx.

26 {
27 // Initialize the cabling Service
28 m_mdtIdHelper = mdtId;
29 ATH_CHECK(m_readKey.initialize());
30 return StatusCode::SUCCESS;
31}
#define ATH_CHECK
Evaluate an expression and check for errors.

◆ setSpecialROBNumber()

void MDT_Hid2RESrcID::setSpecialROBNumber ( int specialROBNumber)
inline

TMP method for sector 13 data.

Definition at line 41 of file MDT_Hid2RESrcID.h.

41{ m_specialROBNumber = specialROBNumber; }

Member Data Documentation

◆ m_mdtIdHelper

const MdtIdHelper* MDT_Hid2RESrcID::m_mdtIdHelper
private

Definition at line 59 of file MDT_Hid2RESrcID.h.

◆ m_readKey

SG::ReadCondHandleKey<MuonMDT_CablingMap> MDT_Hid2RESrcID::m_readKey
private

Definition at line 63 of file MDT_Hid2RESrcID.h.

◆ m_specialROBNumber

int MDT_Hid2RESrcID::m_specialROBNumber
private

Definition at line 61 of file MDT_Hid2RESrcID.h.


The documentation for this class was generated from the following files: