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
19
20std::size_t
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
69void ITkPixelCablingData::addEntryOffOn(const uint32_t& offlineDetectorResourceID, const ITkPixelOnlineId& onlineId){
70 m_offlineDetectorResourceID2OnlineIdMap.insert({offlineDetectorResourceID, onlineId});
71}
72
73void ITkPixelCablingData::addSourceID(const uint32_t& sourceID){
74 m_sourceIDs.push_back(sourceID);
75}
76
80
84
85void ITkPixelCablingData::addTransformType(const uint32_t& moduleID, const ITkPixelCabling::TransformType& transform){
86 m_module2TransformTypeMap.insert({moduleID, transform});
87}
88
90 std::unordered_map<Identifier, ITkPixelCabling::ModuleInfo<ITkPixelOnlineId>>::const_iterator it = m_offline2ModuleInfoMap.find(id);
91 if (it == m_offline2ModuleInfoMap.end()){
93 }
94
95 return it->second;
96}
97
99 std::unordered_map<ITkPixelOnlineId, ITkPixelCabling::ModuleInfo<Identifier>>::const_iterator it = m_online2ModuleInfoMap.find(id);
100 if (it == m_online2ModuleInfoMap.end()){
102 }
103
104 return it->second;
105}
106
107ITkPixelOnlineId ITkPixelCablingData::onlineId(const uint32_t& offlineDetectorResourceID) const {
108 std::unordered_map<uint32_t, ITkPixelOnlineId>::const_iterator it = m_offlineDetectorResourceID2OnlineIdMap.find(offlineDetectorResourceID);
110 return ITkPixelOnlineId();
111 }
112
113 return it->second;
114}
115
117 std::unordered_map<uint32_t, ITkPixelCabling::TransformType>::const_iterator it = m_module2TransformTypeMap.find(moduleID);
118 if (it == m_module2TransformTypeMap.end()){
120 }
121
122 return it->second;
123}
std::ostream & operator<<(std::ostream &os, const ITkPixelCablingData &cabling)
std::istream & operator>>(std::istream &is, ITkPixelCablingData &cabling)
static const ITkStripOnlineId invalidId
std::vector< uint32_t > m_sourceIDs
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
std::unordered_map< uint32_t, ITkPixelCabling::TransformType > m_module2TransformTypeMap
std::unordered_map< uint32_t, ITkPixelOnlineId > m_offlineDetectorResourceID2OnlineIdMap
ITkPixelCabling::TransformType transformType(const uint32_t &moduleID) const
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
void addTransformType(const uint32_t &moduleID, const ITkPixelCabling::TransformType &transform)
std::unordered_map< ITkPixelOnlineId, Identifier > m_online2OfflineMap
ITkPixelCabling::ModuleInfo< Identifier > offlineModuleInfo(const ITkPixelOnlineId &id) const
void addEntryOffOn(const Identifier &idOff, const ITkPixelOnlineId &idOn)
void addSourceID(const uint32_t &sourceID)