ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetDetDescr
ITkPixelCabling
src
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
11
#include "
ITkPixelCabling/ITkPixelCablingData.h
"
12
#include <iostream>
13
14
15
bool
16
ITkPixelCablingData::empty
()
const
{
17
return
(
m_offlineDetectorResourceID2OnlineIdMap
.empty());
18
}
19
20
std::size_t
21
ITkPixelCablingData::size
()
const
{
22
return
m_offline2OnlineMap
.size() +
m_offlineDetectorResourceID2OnlineIdMap
.size();
23
}
24
25
ITkPixelOnlineId
26
ITkPixelCablingData::onlineId
(
const
Identifier
&
id
)
const
{
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
33
void
ITkPixelCablingData::print
()
const
{
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
){
62
m_offline2OnlineMap
.insert({
offlineId
,
onlineId
});
63
}
64
65
void
ITkPixelCablingData::addEntryOffOn
(
const
Identifier
&
offlineId
,
const
ITkPixelCabling::ModuleInfo<ITkPixelOnlineId>
& moduleInfo){
66
m_offline2ModuleInfoMap
.insert({
offlineId
, moduleInfo});
67
}
68
69
void
ITkPixelCablingData::addEntryOffOn
(
const
uint32_t& offlineDetectorResourceID,
const
ITkPixelOnlineId
&
onlineId
){
70
m_offlineDetectorResourceID2OnlineIdMap
.insert({offlineDetectorResourceID,
onlineId
});
71
}
72
73
void
ITkPixelCablingData::addSourceID
(
const
uint32_t& sourceID){
74
m_sourceIDs
.push_back(sourceID);
75
}
76
77
void
ITkPixelCablingData::addEntryOnOff
(
const
ITkPixelOnlineId
&
onlineId
,
const
Identifier
&
offlineId
){
78
m_online2OfflineMap
.insert({
onlineId
,
offlineId
});
79
}
80
81
void
ITkPixelCablingData::addEntryOnOff
(
const
ITkPixelOnlineId
&
onlineId
,
const
ITkPixelCabling::ModuleInfo<Identifier>
& moduleInfo){
82
m_online2ModuleInfoMap
.insert({
onlineId
, moduleInfo});
83
}
84
85
void
ITkPixelCablingData::addTransformType
(
const
uint32_t& moduleID,
const
ITkPixelCabling::TransformType
& transform){
86
m_module2TransformTypeMap
.insert({moduleID, transform});
87
}
88
89
ITkPixelCabling::ModuleInfo<ITkPixelOnlineId>
ITkPixelCablingData::onlineModuleInfo
(
const
Identifier
&
id
)
const
{
90
std::unordered_map<Identifier, ITkPixelCabling::ModuleInfo<ITkPixelOnlineId>>
::const_iterator
it =
m_offline2ModuleInfoMap
.find(
id
);
91
if
(it ==
m_offline2ModuleInfoMap
.end()){
92
return
{
ITkPixelOnlineId
(0),
ITkPixelCabling::ModuleType::Undefined
,
ITkPixelCabling::TransformType::UndefinedTransform
};
93
}
94
95
return
it->second;
96
}
97
98
ITkPixelCabling::ModuleInfo<Identifier>
ITkPixelCablingData::offlineModuleInfo
(
const
ITkPixelOnlineId
&
id
)
const
{
99
std::unordered_map<ITkPixelOnlineId, ITkPixelCabling::ModuleInfo<Identifier>>
::const_iterator
it =
m_online2ModuleInfoMap
.find(
id
);
100
if
(it ==
m_online2ModuleInfoMap
.end()){
101
return
{
Identifier
(0),
ITkPixelCabling::ModuleType::Undefined
,
ITkPixelCabling::TransformType::UndefinedTransform
};
102
}
103
104
return
it->second;
105
}
106
107
ITkPixelOnlineId
ITkPixelCablingData::onlineId
(
const
uint32_t& offlineDetectorResourceID)
const
{
108
std::unordered_map<uint32_t, ITkPixelOnlineId>::const_iterator it =
m_offlineDetectorResourceID2OnlineIdMap
.find(offlineDetectorResourceID);
109
if
(it ==
m_offlineDetectorResourceID2OnlineIdMap
.end()){
110
return
ITkPixelOnlineId
();
111
}
112
113
return
it->second;
114
}
115
116
ITkPixelCabling::TransformType
ITkPixelCablingData::transformType
(
const
uint32_t& moduleID)
const
{
117
std::unordered_map<uint32_t, ITkPixelCabling::TransformType>::const_iterator it =
m_module2TransformTypeMap
.find(moduleID);
118
if
(it ==
m_module2TransformTypeMap
.end()){
119
return
ITkPixelCabling::TransformType::UndefinedTransform
;
120
}
121
122
return
it->second;
123
}
operator<<
std::ostream & operator<<(std::ostream &os, const ITkPixelCablingData &cabling)
Definition
ITkPixelCablingData.cxx:53
operator>>
std::istream & operator>>(std::istream &is, ITkPixelCablingData &cabling)
Definition
ITkPixelCablingData.cxx:40
ITkPixelCablingData.h
invalidId
static const ITkStripOnlineId invalidId
Definition
ITkStripCablingTool.cxx:31
const_iterator
ITkPixelCablingData
Definition
ITkPixelCablingData.h:127
ITkPixelCablingData::m_sourceIDs
std::vector< uint32_t > m_sourceIDs
Definition
ITkPixelCablingData.h:201
ITkPixelCablingData::onlineId
ITkPixelOnlineId onlineId(const Identifier &id) const
Definition
ITkPixelCablingData.cxx:26
ITkPixelCablingData::onlineModuleInfo
ITkPixelCabling::ModuleInfo< ITkPixelOnlineId > onlineModuleInfo(const Identifier &id) const
Definition
ITkPixelCablingData.cxx:89
ITkPixelCablingData::offlineId
Identifier offlineId(const ITkPixelOnlineId &id) const
ITkPixelCablingData::m_online2ModuleInfoMap
std::unordered_map< ITkPixelOnlineId, ITkPixelCabling::ModuleInfo< Identifier > > m_online2ModuleInfoMap
Definition
ITkPixelCablingData.h:189
ITkPixelCablingData::m_module2TransformTypeMap
std::unordered_map< uint32_t, ITkPixelCabling::TransformType > m_module2TransformTypeMap
Definition
ITkPixelCablingData.h:204
ITkPixelCablingData::m_offlineDetectorResourceID2OnlineIdMap
std::unordered_map< uint32_t, ITkPixelOnlineId > m_offlineDetectorResourceID2OnlineIdMap
Definition
ITkPixelCablingData.h:198
ITkPixelCablingData::transformType
ITkPixelCabling::TransformType transformType(const uint32_t &moduleID) const
Definition
ITkPixelCablingData.cxx:116
ITkPixelCablingData::addEntryOnOff
void addEntryOnOff(const ITkPixelOnlineId &idOn, const Identifier &idOff)
Definition
ITkPixelCablingData.cxx:77
ITkPixelCablingData::size
std::size_t size() const
Definition
ITkPixelCablingData.cxx:21
ITkPixelCablingData::m_offline2OnlineMap
std::unordered_map< Identifier, ITkPixelOnlineId > m_offline2OnlineMap
Definition
ITkPixelCablingData.h:180
ITkPixelCablingData::empty
bool empty() const
Definition
ITkPixelCablingData.cxx:16
ITkPixelCablingData::m_offline2ModuleInfoMap
std::unordered_map< Identifier, ITkPixelCabling::ModuleInfo< ITkPixelOnlineId > > m_offline2ModuleInfoMap
Definition
ITkPixelCablingData.h:183
ITkPixelCablingData::addTransformType
void addTransformType(const uint32_t &moduleID, const ITkPixelCabling::TransformType &transform)
Definition
ITkPixelCablingData.cxx:85
ITkPixelCablingData::m_online2OfflineMap
std::unordered_map< ITkPixelOnlineId, Identifier > m_online2OfflineMap
Definition
ITkPixelCablingData.h:186
ITkPixelCablingData::offlineModuleInfo
ITkPixelCabling::ModuleInfo< Identifier > offlineModuleInfo(const ITkPixelOnlineId &id) const
Definition
ITkPixelCablingData.cxx:98
ITkPixelCablingData::addEntryOffOn
void addEntryOffOn(const Identifier &idOff, const ITkPixelOnlineId &idOn)
Definition
ITkPixelCablingData.cxx:61
ITkPixelCablingData::addSourceID
void addSourceID(const uint32_t &sourceID)
Definition
ITkPixelCablingData.cxx:73
ITkPixelCablingData::print
void print() const
Definition
ITkPixelCablingData.cxx:33
ITkPixelOnlineId
Definition
ITkPixelOnlineId.h:60
ITkPixelCabling::TransformType
TransformType
Definition
ITkPixelCablingData.h:38
ITkPixelCabling::UndefinedTransform
@ UndefinedTransform
Definition
ITkPixelCablingData.h:42
ITkPixelCabling::Undefined
@ Undefined
Definition
ITkPixelCablingData.h:31
Identifier
Definition
IdentifierFieldParser.cxx:14
ITkPixelCabling::ModuleInfo
Definition
ITkPixelCablingData.h:49
Generated on
for ATLAS Offline Software by
1.17.0