ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonRDO
src
CscRawDataCollectionIdHash.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
AthenaKernel/errorcheck.h
"
6
#include "
CSCcabling/CSCcablingSvc.h
"
7
#include "
MuonRDO/CscRawDataCollectionIdHash.h
"
8
#include "
MuonRDO/CscRawDataCollection.h
"
9
10
// default contructor
11
CscRawDataCollectionIdHash::CscRawDataCollectionIdHash
()
12
{
13
// initialize RPC cabling service
14
ServiceHandle<CSCcablingSvc>
cabling{
"CSCcablingSvc"
,
"CscRawDataCollectionIdHash"
};
15
if
(cabling.retrieve().isFailure()) {
16
REPORT_MESSAGE_WITH_CONTEXT
(MSG::ERROR,
"CscRawDataCollectionIdHash"
)
17
<<
"Cannot get CSC cabling Service "
<<
endmsg
;
18
}
19
20
// loop over all RODs
21
for
(uint16_t
id
=0;
id
<cabling->maxId(); ++id)
22
{
23
// map
24
m_lookup
[id]=
m_size
;
25
m_int2id
.push_back(
id
);
26
// ROD ID
27
m_int2rodId
.push_back(
id
%cabling->nROD() );
28
++
m_size
;
29
30
// SubDetectorID
31
if
( id < cabling->nROD() )
// C-side
32
m_int2subDetectorId
.push_back(0x6A);
33
else
// A-side
34
m_int2subDetectorId
.push_back(0x69);
35
}
36
}
37
38
40
CscRawDataCollectionIdHash::ID
CscRawDataCollectionIdHash::identifier
(
int
index
)
const
41
{
42
if
(
index
>=0 &&
index
<
m_size
)
43
return
m_int2id
[
index
];
44
45
// if invalid index
46
return
INVALID_ID
;
47
}
48
49
51
uint16_t
CscRawDataCollectionIdHash::subDetectorId
(
int
index
)
const
52
{
53
if
(
index
>=0 &&
index
<
m_size
)
54
return
m_int2subDetectorId
[
index
];
55
56
// if invalid index
57
return
INVALID_ID
;
58
}
59
60
62
uint16_t
CscRawDataCollectionIdHash::rodId
(
unsigned
int
index
)
const
63
{
64
//if (index>=0 && index < m_size)
65
// return m_int2rodId[index];
66
67
if
(
index
<
m_int2rodId
.size())
68
return
m_int2rodId
.at(
index
);
69
// if invalid index
70
return
INVALID_ID
;
71
}
72
73
75
int
CscRawDataCollectionIdHash::operator()
(
const
ID
&
id
)
const
76
{
77
std::map<ID,int>::const_iterator it =
m_lookup
.find(
id
);
78
if
(it!=
m_lookup
.end())
79
return
it->second;
80
81
// if invalid ID
82
return
INVALID_ID
;
83
}
84
endmsg
#define endmsg
Definition
AnalysisConfig_Ntuple.cxx:54
CSCcablingSvc.h
errorcheck.h
Helpers for checking error return status codes and reporting errors.
REPORT_MESSAGE_WITH_CONTEXT
#define REPORT_MESSAGE_WITH_CONTEXT(LVL, CONTEXT_NAME)
Report a message, with an explicitly specified context name.
Definition
Control/AthenaKernel/AthenaKernel/errorcheck.h:345
CscRawDataCollectionIdHash.h
CscRawDataCollection.h
CscRawDataCollectionIdHash::m_int2subDetectorId
std::vector< uint16_t > m_int2subDetectorId
reverse lookup for SubDetectorID and ROD ID
Definition
CscRawDataCollectionIdHash.h:55
CscRawDataCollectionIdHash::operator()
int operator()(const ID &id) const
Convert ID to int.
Definition
CscRawDataCollectionIdHash.cxx:75
CscRawDataCollectionIdHash::identifier
ID identifier(int i) const
reverse conversion
Definition
CscRawDataCollectionIdHash.cxx:40
CscRawDataCollectionIdHash::CscRawDataCollectionIdHash
CscRawDataCollectionIdHash()
Definition
CscRawDataCollectionIdHash.cxx:11
CscRawDataCollectionIdHash::m_int2id
std::vector< ID > m_int2id
reverse lookup
Definition
CscRawDataCollectionIdHash.h:51
CscRawDataCollectionIdHash::rodId
uint16_t rodId(unsigned int i) const
reverse conversion : ROD ID
Definition
CscRawDataCollectionIdHash.cxx:62
CscRawDataCollectionIdHash::ID
uint16_t ID
Definition
CscRawDataCollectionIdHash.h:20
CscRawDataCollectionIdHash::m_lookup
std::map< ID, int > m_lookup
lookup table
Definition
CscRawDataCollectionIdHash.h:47
CscRawDataCollectionIdHash::m_size
int m_size
total number of IDs
Definition
CscRawDataCollectionIdHash.h:43
CscRawDataCollectionIdHash::INVALID_ID
@ INVALID_ID
Definition
CscRawDataCollectionIdHash.h:39
CscRawDataCollectionIdHash::m_int2rodId
std::vector< uint16_t > m_int2rodId
Definition
CscRawDataCollectionIdHash.h:56
CscRawDataCollectionIdHash::subDetectorId
uint16_t subDetectorId(int i) const
reverse conversion for SubDetectorID and ROD ID
Definition
CscRawDataCollectionIdHash.cxx:51
ServiceHandle
Definition
ClusterMakerTool.h:36
index
Definition
index.py:1
Generated on
for ATLAS Offline Software by
1.17.0