ATLAS Offline Software
Loading...
Searching...
No Matches
ITkPixelCablingData.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
10
12#include <iostream>
13
14
15bool
17 return m_offline2OnlineMap.empty();
18}
19
20std::size_t
22 return m_offline2OnlineMap.size();
23}
24
28 const auto result = m_offline2OnlineMap.find(id);
29 if (result == m_offline2OnlineMap.end()) return invalidId;
30 return result->second;
31}
32
34 std::cout << "Online -> Offline ModuleInfo map " << m_online2ModuleInfoMap.size() << "\n";
35 std::cout << "Offline -> Online ModuleInfo map " << m_offline2ModuleInfoMap.size() << "\n";
36}
37
38//stream extraction to read value from stream into ITkPixelCablingData
39std::istream&
40operator>>(std::istream & is, ITkPixelCablingData & cabling){
41 unsigned int onlineInt{}, offlineInt{};
42 //very primitive, should refine with regex and value range checking
43 while(is>>offlineInt>>onlineInt){
44 const Identifier offlineId(offlineInt);
45 const ITkPixelOnlineId onlineId(onlineInt);
46 cabling.m_offline2OnlineMap[offlineId] = onlineId;
47 }
48 return is;
49}
50
51//stream insertion to output cabling map values
52std::ostream&
53operator<<(std::ostream & os, const ITkPixelCablingData & cabling){
54 for (const auto & [offlineId, onlineId]:cabling.m_offline2OnlineMap){
55 os<<offlineId<<", "<<onlineId<<"\n";
56 }
57 os<<std::endl;
58 return os;
59}
60
64
68
72
76
78 std::unordered_map<Identifier, ITkPixelCabling::ModuleInfo<ITkPixelOnlineId>>::const_iterator it = m_offline2ModuleInfoMap.find(id);
79 if (it == m_offline2ModuleInfoMap.end()){
81 }
82
83 return it->second;
84}
85
87 std::unordered_map<ITkPixelOnlineId, ITkPixelCabling::ModuleInfo<Identifier>>::const_iterator it = m_online2ModuleInfoMap.find(id);
88 if (it == m_online2ModuleInfoMap.end()){
90 }
91
92 return it->second;
93}
std::ostream & operator<<(std::ostream &os, const ITkPixelCablingData &cabling)
std::istream & operator>>(std::istream &is, ITkPixelCablingData &cabling)
static const ITkStripOnlineId invalidId
ITkPixelOnlineId onlineId(const Identifier &id) const
ITkPixelCabling::ModuleInfo< ITkPixelOnlineId > onlineModuleInfo(const Identifier &id) const
Identifier offlineId(const ITkPixelOnlineId &id) const
std::unordered_map< ITkPixelOnlineId, ITkPixelCabling::ModuleInfo< Identifier > > m_online2ModuleInfoMap
void addEntryOnOff(const ITkPixelOnlineId &idOn, const Identifier &idOff)
std::size_t size() const
std::unordered_map< Identifier, ITkPixelOnlineId > m_offline2OnlineMap
std::unordered_map< Identifier, ITkPixelCabling::ModuleInfo< ITkPixelOnlineId > > m_offline2ModuleInfoMap
std::unordered_map< ITkPixelOnlineId, Identifier > m_online2OfflineMap
ITkPixelCabling::ModuleInfo< Identifier > offlineModuleInfo(const ITkPixelOnlineId &id) const
void addEntryOffOn(const Identifier &idOff, const ITkPixelOnlineId &idOn)