ATLAS Offline Software
TGC_Hid2RESrcID.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "TGC_Hid2RESrcID.h"
6 
7 #include "MuonRDO/TgcRdo.h"
9 
10 #include "MuonRDO/TgcRdoIdHash.h"
11 
12 #include "eformat/SourceIdentifier.h"
13 using eformat::helper::SourceIdentifier;
14 
15 // get source ID for a RDO
17 {
18  // get Source ID
19  SourceIdentifier sid(static_cast<eformat::SubDetector>(rdo->subDetectorId()),
20  static_cast<uint16_t>(rdo->rodId()));
21 
22  // return Source ID
23  return sid.code();
24 }
25 
26 // get source ID for a RDO
28 {
29  // get Source ID
30  SourceIdentifier sid(static_cast<eformat::SubDetector>(subDetectorId), rodId);
31 
32  // return Source ID
33  return sid.code();
34 }
35 
36 // get source ID for an TgcDigitCollection
39 {
40  int subDetectorId;
41  int rodId;
42  cabling->getReadoutIDfromElementID(offlineId,subDetectorId,rodId);
43 
44  // get Source ID
45  SourceIdentifier sid(static_cast<eformat::SubDetector>(subDetectorId),
46  static_cast<uint16_t>(rodId));
47 
48  // return Source ID
49  return sid.code();
50 }
51 
52 // mapping SrcID from ROD to ROB
54 {
55  // return Source ID.
56  // ROD source ID and ROB source ID are identical for TGC.
57  return rod_id;
58 }
59 
60 // mapping SrcID from ROB to ROS
62 {
63  // Change Module Type to ROS, moduleid = 0
64  SourceIdentifier id(rob_id);
65  SourceIdentifier id2(id.subdetector_id(),0);
66 
67  // return Source ID
68  return id2.code();
69 }
70 
71 // mapping SrcID from ROS to Det
73 {
74  // ROS to DET
75  SourceIdentifier id(ros_id);
76  SourceIdentifier id2(id.subdetector_id(),0);
77 
78  // return Source ID
79  return id2.code();
80 }
81 
82 // fill all the ROB IDs
84 {
85  TgcRdoIdHash rdoIdHash;
86  int rdoIdHash_max = rdoIdHash.max();
87  for(int i=0; i<rdoIdHash_max; i++) {
88  SourceIdentifier sid(static_cast<eformat::SubDetector>(rdoIdHash.subDetectorId(i)),
89  rdoIdHash.rodId(i));
90 
91  m_robIDs.push_back(getRobID(sid.simple_code()));
92  }
93 }
Muon::TGC_Hid2RESrcID::getRodID
static uint32_t getRodID(const TgcRdo *rdo)
Make a ROD Source ID for TGC RDO.
Definition: TGC_Hid2RESrcID.cxx:16
MuonTGC_CablingSvc.h
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
ReadCellNoiseFromCool.cabling
cabling
Definition: ReadCellNoiseFromCool.py:154
Muon::TGC_Hid2RESrcID::fillAllRobIds
void fillAllRobIds()
Fill all the ROB IDs.
Definition: TGC_Hid2RESrcID.cxx:83
Muon::TGC_Hid2RESrcID::getRosID
static uint32_t getRosID(uint32_t rob_id)
Make a ROS Source ID from a ROB source ID.
Definition: TGC_Hid2RESrcID.cxx:61
TgcRdoIdHash::subDetectorId
uint16_t subDetectorId(int i) const
reverse conversion for SubDetectorID and ROD ID
Definition: TgcRdoIdHash.cxx:59
TgcRdoIdHash
Definition: TgcRdoIdHash.h:18
TgcRdo::subDetectorId
uint16_t subDetectorId() const
Definition: TgcRdo.h:134
id2
HWIdentifier id2
Definition: LArRodBlockPhysicsV0.cxx:564
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
lumiFormat.i
int i
Definition: lumiFormat.py:92
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
TgcRdo.h
TGC_Hid2RESrcID.h
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:194
TgcRdoIdHash::rodId
uint16_t rodId(int i) const
reverse conversion : ROD ID
Definition: TgcRdoIdHash.cxx:70
Muon::TGC_Hid2RESrcID::getRobID
static uint32_t getRobID(uint32_t rod_id)
Make a ROB Source ID from a ROD source ID.
Definition: TGC_Hid2RESrcID.cxx:53
TgcRdoIdHash.h
TgcRdo
Definition: TgcRdo.h:22
MuonTGC_CablingSvc
Definition: MuonTGC_CablingSvc.h:31
TgcRdoIdHash::max
int max() const
return maximum number of IDs
Definition: TgcRdoIdHash.h:30
TgcRdo::rodId
uint16_t rodId() const
Definition: TgcRdo.h:138
Muon::TGC_Hid2RESrcID::getDetID
static uint32_t getDetID(uint32_t ros_id)
Make a SubDetector ID from ROS source ID.
Definition: TGC_Hid2RESrcID.cxx:72