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_offline2OnlineMap
.empty();
18
}
19
20
std::size_t
21
ITkPixelCablingData::size
()
const
{
22
return
m_offline2OnlineMap
.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::addEntryOnOff
(
const
ITkPixelOnlineId
&
onlineId
,
const
Identifier
&
offlineId
){
70
m_online2OfflineMap
.insert({
onlineId
,
offlineId
});
71
}
72
73
void
ITkPixelCablingData::addEntryOnOff
(
const
ITkPixelOnlineId
&
onlineId
,
const
ITkPixelCabling::ModuleInfo<Identifier>
& moduleInfo){
74
m_online2ModuleInfoMap
.insert({
onlineId
, moduleInfo});
75
}
76
77
ITkPixelCabling::ModuleInfo<ITkPixelOnlineId>
ITkPixelCablingData::onlineModuleInfo
(
const
Identifier
&
id
)
const
{
78
std::unordered_map<Identifier, ITkPixelCabling::ModuleInfo<ITkPixelOnlineId>>
::const_iterator
it =
m_offline2ModuleInfoMap
.find(
id
);
79
if
(it ==
m_offline2ModuleInfoMap
.end()){
80
return
{
ITkPixelOnlineId
(0),
ITkPixelCabling::ModuleType::Undefined
,
ITkPixelCabling::TransformType::UndefinedTransform
};
81
}
82
83
return
it->second;
84
}
85
86
ITkPixelCabling::ModuleInfo<Identifier>
ITkPixelCablingData::offlineModuleInfo
(
const
ITkPixelOnlineId
&
id
)
const
{
87
std::unordered_map<ITkPixelOnlineId, ITkPixelCabling::ModuleInfo<Identifier>>
::const_iterator
it =
m_online2ModuleInfoMap
.find(
id
);
88
if
(it ==
m_online2ModuleInfoMap
.end()){
89
return
{
Identifier
(0),
ITkPixelCabling::ModuleType::Undefined
,
ITkPixelCabling::TransformType::UndefinedTransform
};
90
}
91
92
return
it->second;
93
}
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:105
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:77
ITkPixelCablingData::offlineId
Identifier offlineId(const ITkPixelOnlineId &id) const
ITkPixelCablingData::m_online2ModuleInfoMap
std::unordered_map< ITkPixelOnlineId, ITkPixelCabling::ModuleInfo< Identifier > > m_online2ModuleInfoMap
Definition
ITkPixelCablingData.h:147
ITkPixelCablingData::addEntryOnOff
void addEntryOnOff(const ITkPixelOnlineId &idOn, const Identifier &idOff)
Definition
ITkPixelCablingData.cxx:69
ITkPixelCablingData::size
std::size_t size() const
Definition
ITkPixelCablingData.cxx:21
ITkPixelCablingData::m_offline2OnlineMap
std::unordered_map< Identifier, ITkPixelOnlineId > m_offline2OnlineMap
Definition
ITkPixelCablingData.h:138
ITkPixelCablingData::empty
bool empty() const
Definition
ITkPixelCablingData.cxx:16
ITkPixelCablingData::m_offline2ModuleInfoMap
std::unordered_map< Identifier, ITkPixelCabling::ModuleInfo< ITkPixelOnlineId > > m_offline2ModuleInfoMap
Definition
ITkPixelCablingData.h:141
ITkPixelCablingData::m_online2OfflineMap
std::unordered_map< ITkPixelOnlineId, Identifier > m_online2OfflineMap
Definition
ITkPixelCablingData.h:144
ITkPixelCablingData::offlineModuleInfo
ITkPixelCabling::ModuleInfo< Identifier > offlineModuleInfo(const ITkPixelOnlineId &id) const
Definition
ITkPixelCablingData.cxx:86
ITkPixelCablingData::addEntryOffOn
void addEntryOffOn(const Identifier &idOff, const ITkPixelOnlineId &idOn)
Definition
ITkPixelCablingData.cxx:61
ITkPixelCablingData::print
void print() const
Definition
ITkPixelCablingData.cxx:33
ITkPixelOnlineId
Definition
ITkPixelOnlineId.h:18
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