ATLAS Offline Software
Loading...
Searching...
No Matches
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
6#include <iostream>
7
8
10 return m_offline2OnlineMap.empty();
11}
12
13std::size_t HGTDMappingData::size() const{
14 return m_offline2OnlineMap.size();
15}
16
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
25std::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
51std::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
std::istream & operator>>(std::istream &is, HGTDMappingData &cabling)
std::ostream & operator<<(std::ostream &os, const HGTDMappingData &cabling)
static const ITkStripOnlineId invalidId
static Double_t ss
Data object containing the offline-online mapping for HGTD (based on ITkPixelCabling package)
HGTDOnlineID onlineId(const Identifier &id) const
bool empty() const
std::unordered_map< Identifier, HGTDOnlineID > m_offline2OnlineMap
std::size_t size() const
Online Identifier for HGTD.
Definition index.py:1