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

#include <RPC_Hid2RESrcID.h>

Collaboration diagram for RPC_Hid2RESrcID:

Public Member Functions

 RPC_Hid2RESrcID ()
 RPC_Hid2RESrcID (int specialROBNumber)
void set (const RpcIdHelper *rpdId)
uint32_t getRodID (const Identifier &offlineId, const RpcCablingCondData *readCdo) const

Static Public Member Functions

static uint32_t getRodID (const int &side, const int &slogic, const int &padId, const RpcCablingCondData *readCdo)
static uint32_t getRodID (const int &sector)
static uint32_t getRodID (const uint16_t &side, const uint16_t &rodIndex)
static uint32_t getRobID (const uint32_t rod_id)
 mapping SrcID from ROD to ROB (called in ByteStreamCnvSvcBase/FullEventAssembler.icc)
static uint32_t getRosID (const uint32_t rob_id)
 mapping SrcID from ROB to ROS
static uint32_t getDetID (const uint32_t ros_id)
 mapping SrcID from ROS to Det

Private Attributes

const RpcIdHelperm_rpcIdHelper
int m_specialROBNumber

Detailed Description

Definition at line 16 of file RPC_Hid2RESrcID.h.

Constructor & Destructor Documentation

◆ RPC_Hid2RESrcID() [1/2]

RPC_Hid2RESrcID::RPC_Hid2RESrcID ( )

Definition at line 18 of file RPC_Hid2RESrcID.cxx.

18: m_rpcIdHelper(nullptr), m_specialROBNumber(-1) {}
const RpcIdHelper * m_rpcIdHelper

◆ RPC_Hid2RESrcID() [2/2]

RPC_Hid2RESrcID::RPC_Hid2RESrcID ( int specialROBNumber)

Definition at line 20 of file RPC_Hid2RESrcID.cxx.

20: m_rpcIdHelper(nullptr), m_specialROBNumber(specialROBNumber) {}

Member Function Documentation

◆ getDetID()

uint32_t RPC_Hid2RESrcID::getDetID ( const uint32_t ros_id)
static

mapping SrcID from ROS to Det

Definition at line 119 of file RPC_Hid2RESrcID.cxx.

119 {
120 // ROS to DET
121 SourceIdentifier id(ros_id);
122 SourceIdentifier id2(id.subdetector_id(), 0);
123 return id2.code();
124}
HWIdentifier id2

◆ getRobID()

uint32_t RPC_Hid2RESrcID::getRobID ( const uint32_t rod_id)
static

mapping SrcID from ROD to ROB (called in ByteStreamCnvSvcBase/FullEventAssembler.icc)

Definition at line 106 of file RPC_Hid2RESrcID.cxx.

106{ return rod_id; }

◆ getRodID() [1/4]

uint32_t RPC_Hid2RESrcID::getRodID ( const Identifier & offlineId,
const RpcCablingCondData * readCdo ) const

Definition at line 25 of file RPC_Hid2RESrcID.cxx.

25 {
26 // this method returns a RESrcID for the ROD, for a
27 // given RPC pad ID offline ID
28
29 unsigned short int RODid;
30 unsigned short int Iside;
31 unsigned short int SLid;
32
33 if (readCdo->give_RODid(offlineId, RODid) && readCdo->give_side(offlineId, Iside) && readCdo->give_SLid(offlineId, SLid)) {
34 uint8_t rodIndex = (uint8_t)RODid;
35 uint16_t side = Iside;
36
37 eformat::SubDetector detid =
38 (side == eformat::MUON_RPC_BARREL_A_SIDE) ? eformat::MUON_RPC_BARREL_A_SIDE : eformat::MUON_RPC_BARREL_C_SIDE;
39
40 SourceIdentifier sid(detid, rodIndex);
41 uint32_t rod_id = sid.code();
42
43 // TEMP FIXME temp fix for the sector 13 pulse tests ---- added fix for M3
44 if ((m_specialROBNumber > 0)) {
45 if (side == 0x65 && (SLid == 23 || SLid == 24)) {
46 // rod_id=0x650001;
47 rod_id = m_specialROBNumber;
48 } else if (side == 0x65 && SLid == 7) {
49 rod_id = 0x650001;
50 } else if (side == 0x65 && SLid == 8) {
51 rod_id = 0x650002;
52 if (m_specialROBNumber == 0x650001) rod_id = 0x650001; // fix for M3 with runnumber up to 11533 (SFI)
53 } else {
54 rod_id = 0xffffffff;
55 }
56 }
57
58 return rod_id;
59 }
60
61 return 0xffffffff;
62}
bool give_RODid(const Identifier &compactID, unsigned short int &id) const
bool give_side(const Identifier &compactID, unsigned short int &id) const
bool give_SLid(const Identifier &compactID, unsigned short int &id) const
setWord1 uint16_t
setEventNumber uint32_t

◆ getRodID() [2/4]

uint32_t RPC_Hid2RESrcID::getRodID ( const int & sector)
static

Definition at line 83 of file RPC_Hid2RESrcID.cxx.

83 {
84 // this method returns a RESrcID for the ROD, for a given RPC pad ID
85 uint8_t rodIndex = (uint8_t)((sector % 32) / 2);
86 int side = (sector < 32) ? 0 : 1;
87
88 eformat::SubDetector detid = (side == 1) ? eformat::MUON_RPC_BARREL_A_SIDE : eformat::MUON_RPC_BARREL_C_SIDE;
89
90 SourceIdentifier sid(detid, rodIndex);
91 uint32_t rod_id = sid.code();
92
93 return rod_id;
94}

◆ getRodID() [3/4]

uint32_t RPC_Hid2RESrcID::getRodID ( const int & side,
const int & slogic,
const int & padId,
const RpcCablingCondData * readCdo )
static

Definition at line 64 of file RPC_Hid2RESrcID.cxx.

64 {
65 // this method returns a RESrcID for the ROD, for a given RPC pad ID
66 const RpcCablingCondData::RDOmap& pad_map = readCdo->give_RDOs();
67 int key = side * 10000 + slogic * 100 + padId;
68 auto pPair = pad_map.find(key);
69 if (pPair == pad_map.end()) {
70 return 0xffffffff;
71 }
72 RDOindex index = pPair->second;
73 uint8_t rodIndex = (uint8_t)index.RODid();
74
75 eformat::SubDetector detid = (side == 1) ? eformat::MUON_RPC_BARREL_A_SIDE : eformat::MUON_RPC_BARREL_C_SIDE;
76
77 SourceIdentifier sid(detid, rodIndex);
78 uint32_t rod_id = sid.code();
79
80 return rod_id;
81}
std::map< int, RDOindex, std::less< int > > RDOmap
const RDOmap & give_RDOs(void) const
str index
Definition DeMoScan.py:362

◆ getRodID() [4/4]

uint32_t RPC_Hid2RESrcID::getRodID ( const uint16_t & side,
const uint16_t & rodIndex )
static

Definition at line 96 of file RPC_Hid2RESrcID.cxx.

96 {
97 // this method returns a RESrcID for the ROD, for a given RPC pad ID
98 eformat::SubDetector detid = (side == 1) ? eformat::MUON_RPC_BARREL_A_SIDE : eformat::MUON_RPC_BARREL_C_SIDE;
99 SourceIdentifier sid(detid, rodIndex);
100 uint32_t rod_id = sid.code();
101 return rod_id;
102}

◆ getRosID()

uint32_t RPC_Hid2RESrcID::getRosID ( const uint32_t rob_id)
static

mapping SrcID from ROB to ROS

Definition at line 110 of file RPC_Hid2RESrcID.cxx.

110 {
111 // Change Module Type to ROS, moduleid = 0
112 SourceIdentifier id(rob_id);
113 SourceIdentifier id2(id.subdetector_id(), 0);
114 return id2.code();
115}

◆ set()

void RPC_Hid2RESrcID::set ( const RpcIdHelper * rpdId)

Definition at line 22 of file RPC_Hid2RESrcID.cxx.

22{ m_rpcIdHelper = rpdId; }

Member Data Documentation

◆ m_rpcIdHelper

const RpcIdHelper* RPC_Hid2RESrcID::m_rpcIdHelper
private

Definition at line 36 of file RPC_Hid2RESrcID.h.

◆ m_specialROBNumber

int RPC_Hid2RESrcID::m_specialROBNumber
private

Definition at line 38 of file RPC_Hid2RESrcID.h.


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