#include <ITkPixelReadoutManager.h>
|
| PixelReadoutManager (const std::string &name, ISvcLocator *svc) |
|
virtual StatusCode | initialize () override final |
|
virtual PixelModuleType | getModuleType (Identifier id) const override final |
|
virtual PixelDiodeType | getDiodeType (Identifier id) const override final |
|
virtual Identifier | getPixelIdfromHash (IdentifierHash offlineIdHash, uint32_t FE, uint32_t row, uint32_t column) const override final |
|
virtual Identifier | getPixelId (Identifier offlineId, uint32_t FE, uint32_t row, uint32_t column) const override final |
|
virtual uint32_t | getFE (Identifier diodeId, Identifier offlineId) const override final |
|
virtual uint32_t | getColumn (Identifier diodeId, Identifier offlineId) const override final |
|
virtual uint32_t | getRow (Identifier diodeId, Identifier offlineId) const override final |
|
Definition at line 23 of file ITkPixelReadoutManager.h.
◆ PixelReadoutManager()
InDetDD::ITk::PixelReadoutManager::PixelReadoutManager |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
svc |
|
) |
| |
◆ getColumn()
uint32_t InDetDD::ITk::PixelReadoutManager::getColumn |
( |
Identifier |
diodeId, |
|
|
Identifier |
offlineId |
|
) |
| const |
|
finaloverridevirtual |
Definition at line 212 of file ITkPixelReadoutManager.cxx.
216 const PixelModuleDesign *p_design =
static_cast<const PixelModuleDesign *
>(&element->design());
218 ATH_MSG_ERROR(
"Non-RD53 readout technologies not supported!");
222 unsigned int columnsPerFE = p_design->columnsPerCircuit();
238 if (
column >= columnsPerFE) {
239 ATH_MSG_ERROR(
"Computed column number exceeds maximum value: col = " <<
column <<
" (max = " << columnsPerFE <<
")");
◆ getDiodeType()
Definition at line 60 of file ITkPixelReadoutManager.cxx.
64 const PixelModuleDesign *p_design =
static_cast<const PixelModuleDesign *
>(&element->design());
66 ATH_MSG_ERROR(
"Non-RD53 readout technologies not supported!");
77 unsigned int FEs = p_design->numberOfCircuits();
78 unsigned int rowsPerFE = p_design->rowsPerCircuit();
79 unsigned int columnsPerFE = p_design->columnsPerCircuit();
85 if (
row > rowsPerFE - 3 &&
col < columnsPerFE - 2) {
88 if (
col > columnsPerFE - 3 &&
row < rowsPerFE - 2) {
92 if (
row > rowsPerFE - 3 &&
col > columnsPerFE - 3) {
95 }
else if (FEs != 1) {
96 ATH_MSG_WARNING(
"Module with a number of circuits which is not 1 or 4.");
◆ getFE()
uint32_t InDetDD::ITk::PixelReadoutManager::getFE |
( |
Identifier |
diodeId, |
|
|
Identifier |
offlineId |
|
) |
| const |
|
finaloverridevirtual |
Definition at line 169 of file ITkPixelReadoutManager.cxx.
173 const PixelModuleDesign *p_design =
static_cast<const PixelModuleDesign *
>(&element->design());
175 ATH_MSG_ERROR(
"Non-RD53 readout technologies not supported!");
179 unsigned int FEsPerRow = p_design->numberOfCircuitsPerRow();
180 unsigned int rowsPerFE = p_design->rowsPerCircuit();
181 unsigned int columnsPerFE = p_design->columnsPerCircuit();
193 if (module_phi % 2 == 0) {
194 phi_index = FEsPerRow * rowsPerFE - phi_index - 1;
202 unsigned int FErow =
static_cast<unsigned int>(std::floor(phi_index / rowsPerFE));
203 unsigned int FEcol =
static_cast<unsigned int>(std::floor(
eta_index / columnsPerFE));
◆ getModuleType()
Definition at line 38 of file ITkPixelReadoutManager.cxx.
42 const PixelModuleDesign *p_design =
static_cast<const PixelModuleDesign *
>(&element->design());
44 ATH_MSG_ERROR(
"Non-RD53 readout technologies not supported!");
◆ getPixelId()
Identifier InDetDD::ITk::PixelReadoutManager::getPixelId |
( |
Identifier |
offlineId, |
|
|
uint32_t |
FE, |
|
|
uint32_t |
row, |
|
|
uint32_t |
column |
|
) |
| const |
|
finaloverridevirtual |
Definition at line 113 of file ITkPixelReadoutManager.cxx.
119 const PixelModuleDesign *p_design =
static_cast<const PixelModuleDesign *
>(&element->design());
121 ATH_MSG_ERROR(
"Non-RD53 readout technologies not supported!");
125 unsigned int FEs = p_design->numberOfCircuits();
126 unsigned int FEsPerRow = p_design->numberOfCircuitsPerRow();
127 unsigned int rowsPerFE = p_design->rowsPerCircuit();
128 unsigned int columnsPerFE = p_design->columnsPerCircuit();
133 if (
row >= rowsPerFE ||
column >= columnsPerFE || FE >= FEs) {
134 ATH_MSG_DEBUG(
"Illegal pixel requested OfflineID: " << std::hex << offlineId << std::dec <<
" FE: " << FE <<
" row: " <<
row <<
" column: " <<
column);
135 ATH_MSG_DEBUG(
"Limits are: FE < " << FEs <<
", row < " << rowsPerFE <<
", column < " << columnsPerFE);
144 phi_index = 2 * rowsPerFE - 1 -
row;
159 if (module_phi % 2 == 0) {
160 phi_index = FEsPerRow * rowsPerFE - phi_index - 1;
161 ATH_MSG_DEBUG(
"Even disk module found, phi module: " << module_phi <<
" swapped phi index to : " << phi_index);
◆ getPixelIdfromHash()
Identifier InDetDD::ITk::PixelReadoutManager::getPixelIdfromHash |
( |
IdentifierHash |
offlineIdHash, |
|
|
uint32_t |
FE, |
|
|
uint32_t |
row, |
|
|
uint32_t |
column |
|
) |
| const |
|
finaloverridevirtual |
◆ getRow()
uint32_t InDetDD::ITk::PixelReadoutManager::getRow |
( |
Identifier |
diodeId, |
|
|
Identifier |
offlineId |
|
) |
| const |
|
finaloverridevirtual |
Definition at line 247 of file ITkPixelReadoutManager.cxx.
251 const PixelModuleDesign *p_design =
static_cast<const PixelModuleDesign *
>(&element->design());
253 ATH_MSG_ERROR(
"Non-RD53 readout technologies not supported!");
257 unsigned int FEsPerRow = p_design->numberOfCircuitsPerRow();
258 unsigned int rowsPerFE = p_design->rowsPerCircuit();
266 if (module_phi % 2 == 0) {
267 phi_index = FEsPerRow * rowsPerFE - phi_index - 1;
275 if (phi_index >= rowsPerFE) {
276 row = 2 * rowsPerFE - phi_index - 1;
284 if (
row >= rowsPerFE) {
285 ATH_MSG_ERROR(
"Computed row number exceeds maximum value: row = " <<
row <<
"(max = " << rowsPerFE <<
")");
◆ initialize()
StatusCode InDetDD::ITk::PixelReadoutManager::initialize |
( |
| ) |
|
|
finaloverridevirtual |
◆ m_detectorName
Gaudi::Property<std::string> InDetDD::ITk::PixelReadoutManager::m_detectorName {this, "DetectorName", "ITkPixel", "Pixel detector name"} |
|
private |
◆ m_detManager
◆ m_detStore
◆ m_idHelper
const PixelID* InDetDD::ITk::PixelReadoutManager::m_idHelper {} |
|
private |
◆ m_pixelIDName
Gaudi::Property<std::string> InDetDD::ITk::PixelReadoutManager::m_pixelIDName {this, "PixelIDName", "PixelID", "Pixel ID name"} |
|
private |
The documentation for this class was generated from the following files:
Identifier pixel_id(int barrel_ec, int layer_disk, int phi_module, int eta_module, int phi_index, int eta_index) const
For an individual pixel.