9#include "GaudiKernel/Bootstrap.h"
10#include "GaudiKernel/IMessageSvc.h"
11#include "GaudiKernel/ISvcLocator.h"
12#include "GaudiKernel/MsgStream.h"
14#include "eformat/SourceIdentifier.h"
16using eformat::helper::SourceIdentifier;
30 return StatusCode::SUCCESS;
39 log << MSG::DEBUG <<
"Getting RODId of the Station " << MSG::hex << offlineId << MSG::dec <<
endmsg;
45 log << MSG::ERROR <<
"Null pointer to the read conditions object" <<
endmsg;
49 if (!readCdo->
convert(offlineId, cabling_data)) {
50 log << MSG::ERROR <<
" Invalid identifier given " <<
endmsg;
53 bool online = readCdo->
getOnlineId(cabling_data, log);
56 log << MSG::DEBUG <<
"ROD Id of the Station " << MSG::hex <<
"0x" << offlineId <<
" not found" <<
endmsg;
57 cabling_data.mrod = 0xff;
59 log << MSG::DEBUG <<
"The ROD ID of the station "
60 <<
"is " << MSG::hex <<
"0x" << cabling_data.mrod << MSG::dec <<
endmsg;
63 eformat::SubDetector detid = (eformat::SubDetector)cabling_data.subdetectorId;
79 SourceIdentifier sid(detid, cabling_data.mrod);
81 uint32_t rod_id = sid.code();
89 SourceIdentifier
id = SourceIdentifier(rod_id);
90 SourceIdentifier
id2 = SourceIdentifier(
id.subdetector_id(),
id.module_id());
105 SourceIdentifier id(rob_id);
106 SourceIdentifier
id2(
id.subdetector_id(), 0);
115 SourceIdentifier id(ros_id);
116 SourceIdentifier
id2(
id.subdetector_id(), 0);
#define ATH_CHECK
Evaluate an expression and check for errors.
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
static uint32_t getRosID(uint32_t rob_id)
Make a ROS Source ID from a ROB source ID.
StatusCode set(const MdtIdHelper *mdtId)
intialize the cabling service
MDT_Hid2RESrcID()
constrcutor
const MdtIdHelper * m_mdtIdHelper
static uint32_t getDetID(uint32_t ros_id)
Make a SubDetector ID from ROS source ID.
uint32_t getRodID(const Identifier &offlineId) const
static uint32_t getRobID(uint32_t rod_id)
Make a ROB Source ID from a ROD source ID.
SG::ReadCondHandleKey< MuonMDT_CablingMap > m_readKey
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.
singleton-like access to IMessageSvc via open function and helper
IMessageSvc * getMessageSvc(bool quiet=false)