ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
HighGranularityTimingDetector
HGTDMapping
src
HGTDMappingData.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
HGTDMapping/HGTDMappingData.h
"
6
#include <iostream>
7
8
9
bool
HGTDMappingData::empty
()
const
{
10
return
m_offline2OnlineMap
.empty();
11
}
12
13
std::size_t
HGTDMappingData::size
()
const
{
14
return
m_offline2OnlineMap
.size();
15
}
16
17
HGTDOnlineID
HGTDMappingData::onlineId
(
const
Identifier
&
id
)
const
{
18
const
HGTDOnlineID
invalidId
;
19
const
auto
result =
m_offline2OnlineMap
.find(
id
);
20
if
(result ==
m_offline2OnlineMap
.end())
return
invalidId
;
21
return
result->second;
22
}
23
24
// stream extraction to read value from a stream
25
std::istream&
operator>>
(std::istream & is,
HGTDMappingData
& cabling){
26
unsigned
int
onlineInt{}, offlineInt{};
27
std::string line{};
28
int
index
= 0;
29
30
while
(getline(is,line)){
31
if
(line.empty() || line[0] ==
'#'
)
32
continue
;
33
34
std::stringstream
ss
(line);
35
if
(!(
ss
>> offlineInt >> onlineInt))
36
continue
;
37
38
const
Identifier
offlineId(offlineInt);
39
const
HGTDOnlineID
onlineId
(onlineInt);
40
41
// populate MappingData
42
cabling.m_offline2OnlineMap[offlineId] =
onlineId
;
43
cabling.m_hash2OnlineIdArray[
index
++] =
onlineId
;
44
cabling.m_rodIdSet.insert(
onlineId
.rod());
45
}
46
47
return
is;
48
}
49
50
// stream insertion to output cabling map values
51
std::ostream&
operator<<
(std::ostream & os,
const
HGTDMappingData
& cabling){
52
for
(
const
auto
& [offlineId,
onlineId
]:cabling.m_offline2OnlineMap){
53
os<<offlineId<<
", "
<<
onlineId
<<
"\n"
;
54
}
55
os<<std::endl;
56
return
os;
57
}
58
59
60
61
operator>>
std::istream & operator>>(std::istream &is, HGTDMappingData &cabling)
Definition
HGTDMappingData.cxx:25
operator<<
std::ostream & operator<<(std::ostream &os, const HGTDMappingData &cabling)
Definition
HGTDMappingData.cxx:51
HGTDMappingData.h
invalidId
static const ITkStripOnlineId invalidId
Definition
ITkStripCablingTool.cxx:31
ss
static Double_t ss
Definition
LArPhysWaveHECTool.cxx:37
HGTDMappingData
Data object containing the offline-online mapping for HGTD (based on ITkPixelCabling package).
Definition
HGTDMappingData.h:24
HGTDMappingData::onlineId
HGTDOnlineID onlineId(const Identifier &id) const
Definition
HGTDMappingData.cxx:17
HGTDMappingData::empty
bool empty() const
Definition
HGTDMappingData.cxx:9
HGTDMappingData::m_offline2OnlineMap
std::unordered_map< Identifier, HGTDOnlineID > m_offline2OnlineMap
Definition
HGTDMappingData.h:41
HGTDMappingData::size
std::size_t size() const
Definition
HGTDMappingData.cxx:13
HGTDOnlineID
Online Identifier for HGTD.
Definition
HGTDOnlineID.h:16
Identifier
Definition
IdentifierFieldParser.cxx:14
index
Definition
index.py:1
Generated on
for ATLAS Offline Software by
1.17.0