Loading [MathJax]/jax/input/TeX/config.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef INDET_STRIPMODULEHELPER_H
5 #define INDET_STRIPMODULEHELPER_H
28 static constexpr
unsigned int getStripMask() {
return MaskUtils::createMask<0,ROW_BITS+CHIP_BITS>(); }
30 static constexpr
unsigned int getChipMask() {
return MaskUtils::createMask<ROW_BITS,ROW_BITS+CHIP_BITS>(); }
36 if (stripModuleDesign) {
50 static constexpr
unsigned int columnsPerMask([[maybe_unused]]
unsigned int mask_idx) {
return 1
u;}
92 unsigned int nElements([[maybe_unused]]
unsigned int mask_i)
const {
111 if (mask_index !=0) {
113 throw std::runtime_error(
"invalid key");
129 column_end =
columns() - column_end -1;
162 return std::array<unsigned int,4>{
row,
row + 1,
static constexpr unsigned int columnsPerCircuit()
Helper class to convert between offline column, row and hardware chip, column, row coordinates.
unsigned int nSensorColumns() const
Number of offline columns aka.
static constexpr unsigned short getChip(unsigned short key)
Get the column index from a full key.
static constexpr unsigned int circuitsPerRow()
static constexpr unsigned int N_MASKS
unsigned int nElements([[maybe_unused]] unsigned int mask_i) const
return the maximum number of unique mask (or group) defects per module.
int cells() const
number of readout stips within module side:
@ u
Enums for curvilinear frames.
unsigned int nCells() const
Return the total number strips of this module.
unsigned int rowsPerCircuit() const
static constexpr unsigned short getColumn(unsigned short key)
Get the column index from a full key.
static constexpr unsigned short makeKey(unsigned int mask_sel, unsigned int chip, unsigned int col, unsigned int row=0u)
Create a key from mask, chip, column and row indices.
static constexpr unsigned int circuitsPerColumn()
static constexpr bool swapOfflineRowsColumns()
static constexpr unsigned int getChipMask()
static constexpr unsigned int columnsPerMask([[maybe_unused]] unsigned int mask_idx)
StripModuleHelper(const InDetDD::SiDetectorDesign &design)
std::array< unsigned int, 4 > offlineRange(unsigned int key) const
Convenience function to return offline column and row ranges matching the defect-area of the given ke...
unsigned int nSensorRows() const
Number of offline rows aka.
static constexpr unsigned short getRow(unsigned short key)
Get the row index from a full key.
unsigned int columns() const
static constexpr unsigned int getStripMask()
bool isOverlapping(unsigned short key_ref, unsigned short key_test) const
Test whether a single cell (e.g.
static constexpr unsigned short getMaskIdx(unsigned short key)
Get the mask index from a full key.
Helper class to create keys for defects described by chip, column and row indices,...
unsigned int rows() const
KEY_TYPE hardwareCoordinates(unsigned int row, unsigned int column) const
Compute "hardware" coordinates from offline coordinates.
bool isMatchingDefect(unsigned int key_ref, unsigned int key_test) const
Test whether the given packed hardware coordinates match the given defect.
setBGCode setTAP setLVL2ErrorBits bool