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

Data object containing the offline-online mapping for HGTD (based on ITkPixelCabling package) More...

#include <HGTDMappingData.h>

Collaboration diagram for HGTDMappingData:

Public Types

enum  { NUMBER_OF_HASHES =8032 }

Public Member Functions

bool empty () const
std::size_t size () const
HGTDOnlineID onlineId (const Identifier &id) const

Private Attributes

std::unordered_map< Identifier, HGTDOnlineIDm_offline2OnlineMap
std::set< std::uint32_t > m_rodIdSet
 Set of robIds.
std::array< HGTDOnlineID, NUMBER_OF_HASHESm_hash2OnlineIdArray
 Array for hash to onlineId; hash goes from 0-49536.

Friends

std::istream & operator>> (std::istream &is, HGTDMappingData &mapping)
std::ostream & operator<< (std::ostream &os, const HGTDMappingData &mapping)
 stream insertion for debugging

Detailed Description

Data object containing the offline-online mapping for HGTD (based on ITkPixelCabling package)

Author
Yassine El Ghazali
Date
23 January 2026

Definition at line 24 of file HGTDMappingData.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
NUMBER_OF_HASHES 

Definition at line 37 of file HGTDMappingData.h.

37{NUMBER_OF_HASHES=8032}; // In HGTD, we have 16064 chips.

Member Function Documentation

◆ empty()

bool HGTDMappingData::empty ( ) const

Definition at line 9 of file HGTDMappingData.cxx.

9 {
10 return m_offline2OnlineMap.empty();
11}
std::unordered_map< Identifier, HGTDOnlineID > m_offline2OnlineMap

◆ onlineId()

HGTDOnlineID HGTDMappingData::onlineId ( const Identifier & id) const

Definition at line 17 of file HGTDMappingData.cxx.

17 {
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}
static const ITkStripOnlineId invalidId

◆ size()

std::size_t HGTDMappingData::size ( ) const

Definition at line 13 of file HGTDMappingData.cxx.

13 {
14 return m_offline2OnlineMap.size();
15}

◆ operator<<

std::ostream & operator<< ( std::ostream & os,
const HGTDMappingData & mapping )
friend

stream insertion for debugging

Definition at line 51 of file HGTDMappingData.cxx.

51 {
52 for (const auto & [offlineId, onlineId]:cabling.m_offline2OnlineMap){
53 os<<offlineId<<", "<<onlineId<<"\n";
54 }
55 os<<std::endl;
56 return os;
57}
HGTDOnlineID onlineId(const Identifier &id) const

◆ operator>>

std::istream & operator>> ( std::istream & is,
HGTDMappingData & mapping )
friend

Definition at line 25 of file HGTDMappingData.cxx.

25 {
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}
static Double_t ss
str index
Definition DeMoScan.py:362

Member Data Documentation

◆ m_hash2OnlineIdArray

std::array<HGTDOnlineID, NUMBER_OF_HASHES> HGTDMappingData::m_hash2OnlineIdArray
private

Array for hash to onlineId; hash goes from 0-49536.

Definition at line 43 of file HGTDMappingData.h.

◆ m_offline2OnlineMap

std::unordered_map<Identifier, HGTDOnlineID> HGTDMappingData::m_offline2OnlineMap
private

Definition at line 41 of file HGTDMappingData.h.

◆ m_rodIdSet

std::set<std::uint32_t> HGTDMappingData::m_rodIdSet
private

Set of robIds.

Definition at line 42 of file HGTDMappingData.h.


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