|
ATLAS Offline Software
|
Helper class to convert between offline column, row and hardware chip, column, row coordinates.
More...
#include <PixelModuleHelper.h>
|
static constexpr unsigned int | getChip (unsigned int hardware_coordinates) |
|
static constexpr unsigned int | getRow (unsigned int hardware_coordinates) |
|
static constexpr unsigned int | getColumn (unsigned int hardware_coordinates) |
|
static constexpr bool | isColumnGroupDefect (unsigned int key) |
| Test whether the column group flag is set in the packed hardware coordinate tripplet. More...
|
|
static constexpr bool | inSameColumnGroup (unsigned int key_ref, unsigned int key_test) |
| Test whether the two packed hardware coorindates refer to the same column group. More...
|
|
constexpr static bool | isSameDefect (unsigned int key_ref, unsigned int key_test) |
| Test whether the given packed hardware coordinates refer to the same pixel. More...
|
|
constexpr static bool | isSameDefectWithGroups (unsigned int key_ref, unsigned int key_test) |
| Convenience function to test whether the given packed hardware coordinates refer to overlapping defects. More...
|
|
Helper class to convert between offline column, row and hardware chip, column, row coordinates.
Definition at line 33 of file PixelModuleHelper.h.
◆ PixelModuleHelper()
◆ circuitsPerColumn()
unsigned int InDet::PixelModuleHelper::circuitsPerColumn |
( |
| ) |
const |
|
inline |
◆ circuitsPerRow()
unsigned int InDet::PixelModuleHelper::circuitsPerRow |
( |
| ) |
const |
|
inline |
◆ columnGroupDefect()
unsigned int InDet::PixelModuleHelper::columnGroupDefect |
( |
unsigned int |
row, |
|
|
unsigned int |
column |
|
) |
| const |
|
inline |
Create a "column group" defect for the given offline coordinates.
- Parameters
-
row | offline row aka. phi index of a pixel of the column group |
column | offline column aka. eta index of a pixel of the column group |
- Returns
- packed triplet chip, column, row of the first pixel in the column group and column group flag set Creates packed hardware coordinates for column group aka. ITk pixel core column which is the coordinate of the first pixel of that group and sets the column group flag.
Definition at line 127 of file PixelModuleHelper.h.
◆ columns()
unsigned int InDet::PixelModuleHelper::columns |
( |
| ) |
const |
|
inline |
◆ columnsPerCircuit()
unsigned int InDet::PixelModuleHelper::columnsPerCircuit |
( |
| ) |
const |
|
inline |
◆ getChip()
static constexpr unsigned int InDet::PixelModuleHelper::getChip |
( |
unsigned int |
hardware_coordinates | ) |
|
|
inlinestaticconstexpr |
◆ getColumn()
static constexpr unsigned int InDet::PixelModuleHelper::getColumn |
( |
unsigned int |
hardware_coordinates | ) |
|
|
inlinestaticconstexpr |
◆ getRow()
static constexpr unsigned int InDet::PixelModuleHelper::getRow |
( |
unsigned int |
hardware_coordinates | ) |
|
|
inlinestaticconstexpr |
◆ hardwareCoordinates()
unsigned int InDet::PixelModuleHelper::hardwareCoordinates |
( |
unsigned int |
row, |
|
|
unsigned int |
column |
|
) |
| const |
|
inline |
compute "hardware" coordinates from offline coordinates.
- Parameters
-
row | offline row aka. phi index |
column | offline column aka. eta index |
- Returns
- packed triplet of chip, column, row.
Definition at line 92 of file PixelModuleHelper.h.
◆ inSameColumnGroup()
static constexpr bool InDet::PixelModuleHelper::inSameColumnGroup |
( |
unsigned int |
key_ref, |
|
|
unsigned int |
key_test |
|
) |
| |
|
inlinestaticconstexpr |
Test whether the two packed hardware coorindates refer to the same column group.
Definition at line 158 of file PixelModuleHelper.h.
160 return (key_ref & mask_out_rows_and_cols_per_group)
161 == (key_test & mask_out_rows_and_cols_per_group);
◆ isColumnGroupDefect()
static constexpr bool InDet::PixelModuleHelper::isColumnGroupDefect |
( |
unsigned int |
key | ) |
|
|
inlinestaticconstexpr |
Test whether the column group flag is set in the packed hardware coordinate tripplet.
Definition at line 152 of file PixelModuleHelper.h.
◆ isSameDefect()
constexpr static bool InDet::PixelModuleHelper::isSameDefect |
( |
unsigned int |
key_ref, |
|
|
unsigned int |
key_test |
|
) |
| |
|
inlinestaticconstexpr |
◆ isSameDefectWithGroups()
constexpr static bool InDet::PixelModuleHelper::isSameDefectWithGroups |
( |
unsigned int |
key_ref, |
|
|
unsigned int |
key_test |
|
) |
| |
|
inlinestaticconstexpr |
Convenience function to test whether the given packed hardware coordinates refer to overlapping defects.
- Parameters
-
key_ref | packed hardware coordinates referring either to a single pixel defect or a column group defect |
key_test | packed hardware coordinates referring to a single pixel defect |
- Returns
- true if the defects overlap If key_ref refers to a single pixel defect and key_test refers to a column group defect the defects are only considered as overlapping if the pixel addressed by the two coordinates are identical, not if key_ref only is contained in the column group addressed by key_test. If key_ref and key test both could address exclusively a column group defect use : <verb> isSameDefect(key_ref, key_test) || ( (isColumnGroupDefect(key_ref)|| isColumnGroupDefect(key_test)) && inSameColumnGroup(key_ref, key_test)); </verb> instead.
Definition at line 184 of file PixelModuleHelper.h.
◆ nColumns()
unsigned int InDet::PixelModuleHelper::nColumns |
( |
| ) |
const |
|
inline |
◆ nPixels()
unsigned int InDet::PixelModuleHelper::nPixels |
( |
| ) |
const |
|
inline |
◆ nRows()
unsigned int InDet::PixelModuleHelper::nRows |
( |
| ) |
const |
|
inline |
◆ offlineRange()
std::array<unsigned int,4> InDet::PixelModuleHelper::offlineRange |
( |
unsigned int |
key | ) |
const |
|
inline |
Convenience function to return oflline column and row ranges matching the defect-area of the given key.
- Parameters
-
key | packed hardware coordinates addressing a single pixel or a column group defect |
- Returns
- offline start column, end column, start row, end row, where the end is meant not to be inclusive i.e. [start, end)
Definition at line 192 of file PixelModuleHelper.h.
195 throw std::runtime_error(
"invalid key");
211 column_end =
columns() - column_end -1;
244 return std::array<unsigned int,4>{
row,
row + 1,
◆ operator bool()
InDet::PixelModuleHelper::operator bool |
( |
| ) |
const |
|
inline |
◆ rows()
unsigned int InDet::PixelModuleHelper::rows |
( |
| ) |
const |
|
inline |
◆ rowsPerCircuit()
unsigned int InDet::PixelModuleHelper::rowsPerCircuit |
( |
| ) |
const |
|
inline |
◆ swapOfflineRowsColumns()
bool InDet::PixelModuleHelper::swapOfflineRowsColumns |
( |
| ) |
const |
|
inline |
◆ CHIP_MASK
constexpr unsigned int InDet::PixelModuleHelper::CHIP_MASK = MaskUtils::createMask<24,28>() |
|
staticconstexpr |
◆ CHIP_SHIFT
constexpr unsigned int InDet::PixelModuleHelper::CHIP_SHIFT = 24 |
|
staticconstexpr |
◆ COL_MASK
constexpr unsigned int InDet::PixelModuleHelper::COL_MASK = MaskUtils::createMask<12,24>() |
|
staticconstexpr |
◆ COL_MASK_FOR_GROUP
constexpr unsigned int InDet::PixelModuleHelper::COL_MASK_FOR_GROUP = MaskUtils::createMask<12,3+12>() |
|
staticconstexpr |
◆ COL_SHIFT
constexpr unsigned int InDet::PixelModuleHelper::COL_SHIFT = 12 |
|
staticconstexpr |
◆ COLGROUP_DEFECT_BIT_MASK
constexpr unsigned int InDet::PixelModuleHelper::COLGROUP_DEFECT_BIT_MASK = (1u<<31) |
|
staticconstexpr |
◆ m_circuitsPerColumn
unsigned char InDet::PixelModuleHelper::m_circuitsPerColumn = 0 |
|
private |
◆ m_circuitsPerRow
unsigned char InDet::PixelModuleHelper::m_circuitsPerRow = 0 |
|
private |
◆ m_columns
unsigned short InDet::PixelModuleHelper::m_columns = 0 |
|
private |
◆ m_columnsPerCircuit
unsigned short InDet::PixelModuleHelper::m_columnsPerCircuit = 0 |
|
private |
◆ m_pixelModuleDesign
◆ m_rows
unsigned short InDet::PixelModuleHelper::m_rows = 0 |
|
private |
◆ m_rowsPerCircuit
unsigned short InDet::PixelModuleHelper::m_rowsPerCircuit = 0 |
|
private |
◆ m_swapOfflineRowsColumns
bool InDet::PixelModuleHelper::m_swapOfflineRowsColumns =false |
|
private |
◆ N_COLS_PER_GROUP
constexpr unsigned int InDet::PixelModuleHelper::N_COLS_PER_GROUP = 8 |
|
staticconstexpr |
◆ ROW_MASK
constexpr unsigned int InDet::PixelModuleHelper::ROW_MASK = MaskUtils::createMask<0,12>() |
|
staticconstexpr |
◆ ROW_SHIFT
constexpr unsigned int InDet::PixelModuleHelper::ROW_SHIFT = 0 |
|
staticconstexpr |
The documentation for this class was generated from the following file:
static constexpr bool inSameColumnGroup(unsigned int key_ref, unsigned int key_test)
Test whether the two packed hardware coorindates refer to the same column group.
int columns() const
Number of cell columns per module:
unsigned short m_columnsPerCircuit
static constexpr unsigned int COLGROUP_DEFECT_BIT_MASK
int rows() const
Number of cell rows per module:
bool swapOfflineRowsColumns() const
const InDetDD::PixelModuleDesign * m_pixelModuleDesign
static constexpr unsigned int ROW_MASK
static constexpr unsigned int getColumn(unsigned int hardware_coordinates)
static constexpr unsigned int N_COLS_PER_GROUP
unsigned short m_rowsPerCircuit
static constexpr unsigned int getRow(unsigned int hardware_coordinates)
unsigned char m_circuitsPerRow
int numberOfCircuitsPerColumn() const
Number of circuits per column:
static constexpr unsigned int ROW_SHIFT
static constexpr unsigned int CHIP_SHIFT
unsigned char m_circuitsPerColumn
unsigned int hardwareCoordinates(unsigned int row, unsigned int column) const
compute "hardware" coordinates from offline coordinates.
static constexpr unsigned int getChip(unsigned int hardware_coordinates)
static constexpr unsigned int COL_MASK
int numberOfCircuitsPerRow() const
Number of circuits per row:
static constexpr bool isColumnGroupDefect(unsigned int key)
Test whether the column group flag is set in the packed hardware coordinate tripplet.
bool m_swapOfflineRowsColumns
unsigned int columnsPerCircuit() const
static constexpr unsigned int CHIP_MASK
int rowsPerCircuit() const
Number of cell rows per circuit:
unsigned int rowsPerCircuit() const
static constexpr unsigned int COL_MASK_FOR_GROUP
constexpr static bool isSameDefect(unsigned int key_ref, unsigned int key_test)
Test whether the given packed hardware coordinates refer to the same pixel.
unsigned int circuitsPerRow() const
unsigned int circuitsPerColumn() const
int columnsPerCircuit() const
Number of cell columns per circuit:
unsigned int columns() const
static constexpr unsigned int COL_SHIFT