ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
MDT_Hid2RESrcID Class Reference

#include <MDT_Hid2RESrcID.h>

Collaboration diagram for MDT_Hid2RESrcID:

Public Member Functions

 MDT_Hid2RESrcID ()
 constrcutor More...
 
StatusCode set (const MdtIdHelper *mdtId)
 intialize the cabling service More...
 
void setSpecialROBNumber (int specialROBNumber)
 TMP method for sector 13 data. More...
 
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. More...
 
static uint32_t getRosID (uint32_t rob_id)
 Make a ROS Source ID from a ROB source ID. More...
 
static uint32_t getDetID (uint32_t ros_id)
 Make a SubDetector ID from ROS source ID. More...
 

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") {}

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 }

◆ 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 
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 }

◆ 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;
30  return StatusCode::SUCCESS;
31 }

◆ 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:
MDT_Hid2RESrcID::m_specialROBNumber
int m_specialROBNumber
Definition: MDT_Hid2RESrcID.h:61
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
createCablingJSON.cabling_data
dictionary cabling_data
Definition: createCablingJSON.py:46
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
TileSynchronizeBch.online
online
Definition: TileSynchronizeBch.py:88
MuonMDT_CablingMap
Definition: MuonMDT_CablingMap.h:28
id2
HWIdentifier id2
Definition: LArRodBlockPhysicsV0.cxx:562
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
MDT_Hid2RESrcID::m_readKey
SG::ReadCondHandleKey< MuonMDT_CablingMap > m_readKey
Definition: MDT_Hid2RESrcID.h:63
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
MdtCablingData
Definition: MdtCablingData.h:82
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:227
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
DEBUG
#define DEBUG
Definition: page_access.h:11
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
MDT_Hid2RESrcID::m_mdtIdHelper
const MdtIdHelper * m_mdtIdHelper
Definition: MDT_Hid2RESrcID.h:59