ATLAS Offline Software
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 
12 #include <iostream>
13 
14 
15 bool
17  return m_offline2OnlineMap.empty();
18 }
19 
20 std::size_t
22  return m_offline2OnlineMap.size();
23 }
24 
27  const ITkPixelOnlineId invalidId;
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
39 std::istream&
40 operator>>(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
52 std::ostream&
53 operator<<(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 
61 void ITkPixelCablingData::addEntryOffOn(const Identifier& offlineId, const ITkPixelOnlineId& onlineId){
63 }
64 
66  m_offline2ModuleInfoMap.insert({offlineId, moduleInfo});
67 }
68 
69 void ITkPixelCablingData::addEntryOnOff(const ITkPixelOnlineId& onlineId, const Identifier& offlineId){
71 }
72 
74  m_online2ModuleInfoMap.insert({onlineId, moduleInfo});
75 }
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 }
operator<<
std::ostream & operator<<(std::ostream &os, const ITkPixelCablingData &cabling)
Definition: ITkPixelCablingData.cxx:53
Undefined
@ Undefined
Definition: MaterialTypes.h:8
get_generator_info.result
result
Definition: get_generator_info.py:21
ITkPixelCablingData::offlineModuleInfo
ITkPixelCabling::ModuleInfo< Identifier > offlineModuleInfo(const ITkPixelOnlineId &id) const
Definition: ITkPixelCablingData.cxx:86
ITkPixelCablingData.h
ITkPixelCablingData::onlineModuleInfo
ITkPixelCabling::ModuleInfo< ITkPixelOnlineId > onlineModuleInfo(const Identifier &id) const
Definition: ITkPixelCablingData.cxx:77
ITkPixelCablingData::m_online2ModuleInfoMap
std::unordered_map< ITkPixelOnlineId, ITkPixelCabling::ModuleInfo< Identifier > > m_online2ModuleInfoMap
Definition: ITkPixelCablingData.h:147
ITkPixelCablingData::m_online2OfflineMap
std::unordered_map< ITkPixelOnlineId, Identifier > m_online2OfflineMap
Definition: ITkPixelCablingData.h:144
ReadCellNoiseFromCool.cabling
cabling
Definition: ReadCellNoiseFromCool.py:154
skel.it
it
Definition: skel.GENtoEVGEN.py:407
ITkPixelCablingData::m_offline2ModuleInfoMap
std::unordered_map< Identifier, ITkPixelCabling::ModuleInfo< ITkPixelOnlineId > > m_offline2ModuleInfoMap
Definition: ITkPixelCablingData.h:141
ITkPixelCablingData::m_offline2OnlineMap
std::unordered_map< Identifier, ITkPixelOnlineId > m_offline2OnlineMap
Definition: ITkPixelCablingData.h:138
ITkPixelCablingData::size
std::size_t size() const
Definition: ITkPixelCablingData.cxx:21
ITkPixelCablingData::empty
bool empty() const
Definition: ITkPixelCablingData.cxx:16
ITkPixelCablingData::print
void print() const
Definition: ITkPixelCablingData.cxx:33
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
operator>>
std::istream & operator>>(std::istream &is, ITkPixelCablingData &cabling)
Definition: ITkPixelCablingData.cxx:40
ITkPixelCablingData
Definition: ITkPixelCablingData.h:105
ITkPixelCablingData::onlineId
ITkPixelOnlineId onlineId(const Identifier &id) const
Definition: ITkPixelCablingData.cxx:26
ITkPixelCabling::ModuleInfo< ITkPixelOnlineId >
ITkPixelCablingData::addEntryOffOn
void addEntryOffOn(const Identifier &idOff, const ITkPixelOnlineId &idOn)
Definition: ITkPixelCablingData.cxx:61
ITkPixelCablingData::offlineId
Identifier offlineId(const ITkPixelOnlineId &id) const
ITkPixelCablingData::addEntryOnOff
void addEntryOnOff(const ITkPixelOnlineId &idOn, const Identifier &idOff)
Definition: ITkPixelCablingData.cxx:69
ITkPixelOnlineId
Definition: ITkPixelOnlineId.h:18
ITkPixelCabling::UndefinedTransform
@ UndefinedTransform
Definition: ITkPixelCablingData.h:42
Identifier
Definition: IdentifierFieldParser.cxx:14