ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
DetectorDescription
ReadoutGeometryBase
ReadoutGeometryBase
PixelMultipleConnection1D.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// PixelMultipleConnection1D.h
8
// (c) ATLAS Pixel Detector software
10
11
12
#ifndef READOUTGEOMETRYBASE_PIXELMULTIPLECONNECTION1D_H
13
#define READOUTGEOMETRYBASE_PIXELMULTIPLECONNECTION1D_H
14
15
#include <vector>
16
17
namespace
InDetDD
{
18
26
27
class
PixelMultipleConnection1D
{
28
30
// Public methods:
32
public
:
33
34
PixelMultipleConnection1D
();
35
40
PixelMultipleConnection1D
(
const
int
lowerIndex,
const
std::vector<int> &connections);
41
42
43
void
set
(
const
int
lowerIndex,
const
std::vector<int> &connections);
44
45
47
// Const methods:
49
51
bool
outsideReadout
(
const
int
index
)
const
;
52
54
bool
outsideDiode
(
const
int
cell)
const
;
55
57
int
numberOfConnectedCells
(
const
int
index
)
const
;
58
62
int
connectedCell
(
const
int
index
,
unsigned
int
number
)
const
;
63
65
int
readoutOfDiode
(
const
int
index
)
const
;
66
69
int
gangedCell
(
const
int
index
)
const
;
70
72
// Private data:
74
private
:
75
int
m_lowerDiode
;
76
int
m_upperDiode
;
77
int
m_lowerReadout
;
78
int
m_upperReadout
;
79
std::vector< std::vector<int> >
m_readoutToDiode
;
80
std::vector<int>
m_diodeToReadout
;
81
std::vector<int>
m_diodeGanged
;
82
84
// Private methods:
86
void
debugPrintout
();
87
88
};
89
91
// Inline methods:
93
94
inline
bool
PixelMultipleConnection1D::outsideReadout
(
const
int
readout)
const
95
{
96
return
(readout<m_lowerReadout || readout>
m_upperReadout
);
97
}
98
99
100
inline
bool
PixelMultipleConnection1D::outsideDiode
(
const
int
diode)
const
101
{
102
return
(diode<m_lowerDiode || diode>
m_upperDiode
);
103
}
104
105
106
inline
int
PixelMultipleConnection1D::numberOfConnectedCells
(
const
int
index
)
const
107
{
108
return
m_readoutToDiode
[
index
-
m_lowerReadout
].size();
109
}
110
111
inline
int
PixelMultipleConnection1D::connectedCell
(
const
int
index
,
unsigned
int
number
)
const
112
{
113
return
m_readoutToDiode
[
index
-
m_lowerReadout
][
number
];
114
}
115
116
inline
int
PixelMultipleConnection1D::readoutOfDiode
(
const
int
index
)
const
117
{
118
return
m_diodeToReadout
[
index
-
m_lowerDiode
];
119
}
120
121
inline
int
PixelMultipleConnection1D::gangedCell
(
const
int
index
)
const
122
{
123
return
m_diodeGanged
[
index
-
m_lowerReadout
];
124
}
125
126
}
// namespace InDetDD
127
128
#endif
// READOUTGEOMETRYBASE_PIXELMULTIPLECONNECTION1D_H
InDetDD::PixelMultipleConnection1D::m_lowerDiode
int m_lowerDiode
lower diode index to which it applies
Definition
PixelMultipleConnection1D.h:75
InDetDD::PixelMultipleConnection1D::gangedCell
int gangedCell(const int index) const
If the diode is gnaged return the other diode.
Definition
PixelMultipleConnection1D.h:121
InDetDD::PixelMultipleConnection1D::outsideReadout
bool outsideReadout(const int index) const
Check if the readout cell is in the range; Also for index of gangedCell.
Definition
PixelMultipleConnection1D.h:94
InDetDD::PixelMultipleConnection1D::m_diodeGanged
std::vector< int > m_diodeGanged
connection table diode -> other diode.
Definition
PixelMultipleConnection1D.h:81
InDetDD::PixelMultipleConnection1D::outsideDiode
bool outsideDiode(const int cell) const
Check if the diode is in the range:
Definition
PixelMultipleConnection1D.h:100
InDetDD::PixelMultipleConnection1D::m_upperReadout
int m_upperReadout
upper cell to which it applies
Definition
PixelMultipleConnection1D.h:78
InDetDD::PixelMultipleConnection1D::set
void set(const int lowerIndex, const std::vector< int > &connections)
Definition
PixelMultipleConnection1D.cxx:39
InDetDD::PixelMultipleConnection1D::debugPrintout
void debugPrintout()
Definition
PixelMultipleConnection1D.cxx:111
InDetDD::PixelMultipleConnection1D::m_upperDiode
int m_upperDiode
upper diode index to which it applies
Definition
PixelMultipleConnection1D.h:76
InDetDD::PixelMultipleConnection1D::m_readoutToDiode
std::vector< std::vector< int > > m_readoutToDiode
connection table readout -> diodes
Definition
PixelMultipleConnection1D.h:79
InDetDD::PixelMultipleConnection1D::connectedCell
int connectedCell(const int index, unsigned int number) const
Return the diode index corresponding the this readout.
Definition
PixelMultipleConnection1D.h:111
InDetDD::PixelMultipleConnection1D::PixelMultipleConnection1D
PixelMultipleConnection1D()
Definition
PixelMultipleConnection1D.cxx:31
InDetDD::PixelMultipleConnection1D::m_lowerReadout
int m_lowerReadout
lower cell to which it applies
Definition
PixelMultipleConnection1D.h:77
InDetDD::PixelMultipleConnection1D::numberOfConnectedCells
int numberOfConnectedCells(const int index) const
Return the number of diodes that are connected to this readout cell, Must check outsideReadout first.
Definition
PixelMultipleConnection1D.h:106
InDetDD::PixelMultipleConnection1D::readoutOfDiode
int readoutOfDiode(const int index) const
Return readout cell id of this diode, Must check outsideDiode first.
Definition
PixelMultipleConnection1D.h:116
InDetDD::PixelMultipleConnection1D::m_diodeToReadout
std::vector< int > m_diodeToReadout
connection table diode -> readout
Definition
PixelMultipleConnection1D.h:80
InDetDD
Message Stream Member.
Definition
FakeTrackBuilder.h:8
index
Definition
index.py:1
number
std::string number(const double &d, const std::string &s)
Definition
utils.cxx:186
Generated on
for ATLAS Offline Software by
1.17.0