Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Static Protected Member Functions | Protected Attributes | Private Attributes | List of all members
InDet::StripModuleHelper Class Reference

Helper class to convert between offline column, row and hardware chip, column, row coordinates. More...

#include <StripModuleHelper.h>

Inheritance diagram for InDet::StripModuleHelper:
Collaboration diagram for InDet::StripModuleHelper:

Public Types

using KEY_TYPE = unsigned short
 

Public Member Functions

 StripModuleHelper (const InDetDD::SiDetectorDesign &design)
 
 operator bool () const
 
unsigned int columns () const
 
unsigned int rows () const
 
unsigned int rowsPerCircuit () const
 
KEY_TYPE hardwareCoordinates (unsigned int row, unsigned int column) const
 Compute "hardware" coordinates from offline coordinates. More...
 
unsigned int nCells () const
 Return the total number strips of this module. More...
 
unsigned int nSensorColumns () const
 Number of offline columns aka. More...
 
unsigned int nSensorRows () const
 Number of offline rows aka. More...
 
unsigned int nElements ([[maybe_unused]] unsigned int mask_i) const
 return the maximum number of unique mask (or group) defects per module. More...
 
bool isMatchingDefect (unsigned int key_ref, unsigned int key_test) const
 Test whether the given packed hardware coordinates match the given defect. More...
 
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 key (for histogramming. More...
 
unsigned short getMask (unsigned short key) const
 Get the mask specified by the full key. More...
 
unsigned int maskedKey ([[maybe_unused]] unsigned int mask_idx, unsigned int chip, unsigned int col, unsigned int row=0u) const
 Create a key for a group defect. More...
 
unsigned int maskedKey (unsigned int mask_idx, unsigned int key) const
 Turn a single cell (e.g. More...
 
bool isOverlapping (unsigned short key_ref, unsigned short key_test) const
 Test whether a single cell (e.g. More...
 

Static Public Member Functions

static constexpr unsigned int getStripMask ()
 
static constexpr unsigned int getChipMask ()
 
static constexpr unsigned int columnsPerCircuit ()
 
static constexpr unsigned int circuitsPerColumn ()
 
static constexpr unsigned int circuitsPerRow ()
 
static constexpr unsigned int columnsPerMask ([[maybe_unused]] unsigned int mask_idx)
 
static constexpr bool swapOfflineRowsColumns ()
 
static constexpr unsigned short getColumn (unsigned short key)
 Get the column index from a full key. More...
 
static constexpr unsigned short getRow (unsigned short key)
 Get the row index from a full key. More...
 
static constexpr unsigned short getChip (unsigned short key)
 Get the column index from a full key. More...
 
static constexpr unsigned short getMaskIdx (unsigned short key)
 Get the mask index from a full key. More...
 
static constexpr unsigned int nMasks ()
 Get the number of possible masks. More...
 

Static Public Attributes

static constexpr unsigned int ROW_BITS
 
static constexpr unsigned int COL_BITS
 
static constexpr unsigned int CHIP_BITS
 
static constexpr unsigned int MASK_SEL_BITS
 
static constexpr unsigned int N_MASKS
 
static constexpr unsigned short ROW_SHIFT
 
static constexpr unsigned short COL_SHIFT
 
static constexpr unsigned short CHIP_SHIFT
 
static constexpr unsigned short MASK_SEL_SHIFT
 
static constexpr unsigned short ROW_MASK
 
static constexpr unsigned short COL_MASK
 
static constexpr unsigned short CHIP_MASK
 
static constexpr unsigned short MASK_SEL_MASK
 
static constexpr unsigned int MASKS_SIZE
 

Static Protected Member Functions

static constexpr unsigned short makeKeyPart ([[maybe_unused]] unsigned short val)
 Convenience method to create part of a key. More...
 
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. More...
 

Protected Attributes

std::conditional<(N_MASKS >0), std::array< unsigned short, MASKS_SIZE >, Empty >::type m_masks
 the masks for this helper. More...
 

Private Attributes

unsigned short m_rows = 0
 
unsigned short m_columns = 0
 

Detailed Description

Helper class to convert between offline column, row and hardware chip, column, row coordinates.

Definition at line 17 of file StripModuleHelper.h.

Member Typedef Documentation

◆ KEY_TYPE

using InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::KEY_TYPE = unsigned short
inherited

Definition at line 62 of file ModuleKeyHelper.h.

Constructor & Destructor Documentation

◆ StripModuleHelper()

InDet::StripModuleHelper::StripModuleHelper ( const InDetDD::SiDetectorDesign design)
inline

Definition at line 33 of file StripModuleHelper.h.

34  {
35  const InDetDD::SCT_ModuleSideDesign *stripModuleDesign = dynamic_cast<const InDetDD::SCT_ModuleSideDesign *>(&design);
36  if (stripModuleDesign) {
37  m_rows = stripModuleDesign->cells(); // strips
38  m_columns=1u;
39  }
40  }

Member Function Documentation

◆ circuitsPerColumn()

static constexpr unsigned int InDet::StripModuleHelper::circuitsPerColumn ( )
inlinestaticconstexpr

Definition at line 47 of file StripModuleHelper.h.

47 { return 1u; }

◆ circuitsPerRow()

static constexpr unsigned int InDet::StripModuleHelper::circuitsPerRow ( )
inlinestaticconstexpr

Definition at line 48 of file StripModuleHelper.h.

48 { return 1u; }

◆ columns()

unsigned int InDet::StripModuleHelper::columns ( ) const
inline

Definition at line 43 of file StripModuleHelper.h.

43 { return m_columns; }

◆ columnsPerCircuit()

static constexpr unsigned int InDet::StripModuleHelper::columnsPerCircuit ( )
inlinestaticconstexpr

Definition at line 45 of file StripModuleHelper.h.

45 { return 1u; }

◆ columnsPerMask()

static constexpr unsigned int InDet::StripModuleHelper::columnsPerMask ( [[maybe_unused] ] unsigned int  mask_idx)
inlinestaticconstexpr

Definition at line 50 of file StripModuleHelper.h.

50 { return 1u;}

◆ getChip()

static constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::getChip ( unsigned short  key)
inlinestaticconstexprinherited

Get the column index from a full key.

Definition at line 107 of file ModuleKeyHelper.h.

107 { return (key & CHIP_MASK) >> CHIP_SHIFT; }

◆ getChipMask()

static constexpr unsigned int InDet::StripModuleHelper::getChipMask ( )
inlinestaticconstexpr

Definition at line 30 of file StripModuleHelper.h.

30 { return MaskUtils::createMask<ROW_BITS,ROW_BITS+CHIP_BITS>(); }

◆ getColumn()

static constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::getColumn ( unsigned short  key)
inlinestaticconstexprinherited

Get the column index from a full key.

Definition at line 99 of file ModuleKeyHelper.h.

99 { return (key & COL_MASK) >> COL_SHIFT; }

◆ getMask()

unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::getMask ( unsigned short  key) const
inlineinherited

Get the mask specified by the full key.

Parameters
keya full defect key.

The mask index must be smaller than the total number of masks available in this helper. The result will be undefined otherwise.

Definition at line 134 of file ModuleKeyHelper.h.

134  {
135  if constexpr(N_MASKS>0) {
136  unsigned int idx;
137  if constexpr(N_MASKS==1) {
138  idx=0u;
139  }
140  else {
141  idx = getMaskIdx(key);
142  }
143  assert( idx < m_masks.size());
144  return m_masks[idx];
145  }
146  else {
147  return static_cast<T>(1u);
148  }
149  }

◆ getMaskIdx()

static constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::getMaskIdx ( unsigned short  key)
inlinestaticconstexprinherited

Get the mask index from a full key.

Definition at line 111 of file ModuleKeyHelper.h.

111 { return (key & MASK_SEL_MASK) >> MASK_SEL_SHIFT; }

◆ getRow()

static constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::getRow ( unsigned short  key)
inlinestaticconstexprinherited

Get the row index from a full key.

Definition at line 103 of file ModuleKeyHelper.h.

103 { return (key & ROW_MASK) >> ROW_SHIFT; }

◆ getStripMask()

static constexpr unsigned int InDet::StripModuleHelper::getStripMask ( )
inlinestaticconstexpr

Definition at line 28 of file StripModuleHelper.h.

28 { return MaskUtils::createMask<0,ROW_BITS+CHIP_BITS>(); }

◆ hardwareCoordinates()

KEY_TYPE InDet::StripModuleHelper::hardwareCoordinates ( unsigned int  row,
unsigned int  column 
) const
inline

Compute "hardware" coordinates from offline coordinates.

Parameters
rowoffline row aka. phi index
columnoffline column aka. eta index
Returns
packed triplet of chip, column, row.

Definition at line 57 of file StripModuleHelper.h.

57  {
58  unsigned int chip =0;
59  if (circuitsPerColumn()>1) {
60  chip += (row/rowsPerCircuit()) * circuitsPerRow();
61  row = row % rowsPerCircuit();
62  if (chip>0) {
63  row = rowsPerCircuit() - row -1;
64  column = columns() - column -1;
65  }
66  }
67  if (circuitsPerRow()>1) {
68  chip += column/columnsPerCircuit();
70  }
71  return makeKey(0u, chip, column, row);
72  }

◆ isMatchingDefect()

bool InDet::StripModuleHelper::isMatchingDefect ( unsigned int  key_ref,
unsigned int  key_test 
) const
inline

Test whether the given packed hardware coordinates match the given defect.

Parameters
key_refthe packed "coordinates" of the defect
key_testthe packed coordinates of a strip.

Definition at line 101 of file StripModuleHelper.h.

101  {
102  return isOverlapping(key_ref, key_test);
103  }

◆ isOverlapping()

bool InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::isOverlapping ( unsigned short  key_ref,
unsigned short  key_test 
) const
inlineinherited

Test whether a single cell (e.g.

pixel or strip) key is compatible with a defect key

Parameters
key_refa defect key
key_testa single cell (e.g. pixel or strip) key. The defect key can be either the key of a single cell (e.g. pixel or strip) or the first cell (e.g. pixel or strip) of a group, which is fully identified by this key and the mask also specified by the key and which can be obtained by getMask.

Definition at line 195 of file ModuleKeyHelper.h.

195  {
196  if constexpr(N_MASKS>0) {
197  unsigned int mask = getMask(key_ref);
198  return (key_ref & mask) == (key_test & mask);
199  }
200  else {
201  return key_ref == key_test;
202  }
203  }

◆ makeKey()

static constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::makeKey ( unsigned int  mask_sel,
unsigned int  chip,
unsigned int  col,
unsigned int  row = 0u 
)
inlinestaticconstexprprotectedinherited

Create a key from mask, chip, column and row indices.

Parameters
mask_selthe index of a mask starting from zero
chipthe index of a chip starting from zero
colthe index of a column starting from zero
rowthe index of a row starting from zero

The indices must be representable by the number of reserved bits.

Definition at line 89 of file ModuleKeyHelper.h.

89  {
90  return makeKeyPart<MASK_SEL_SHIFT,MASK_SEL_MASK>(mask_sel)
91  | makeKeyPart<CHIP_SHIFT,CHIP_MASK>(chip)
92  | makeKeyPart<COL_SHIFT,COL_MASK>(col)
93  | makeKeyPart<ROW_SHIFT,ROW_MASK>(row);
94  }

◆ makeKeyPart()

static constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::makeKeyPart ( [[maybe_unused] ] unsigned short  val)
inlinestaticconstexprprotectedinherited

Convenience method to create part of a key.

Template Parameters
SHIFTthe given value will be shifted by this ammount
MASKthe shifted value must not overflow this mask.
Parameters
valthe value to be stored in the key part

Definition at line 71 of file ModuleKeyHelper.h.

71  {
72  if constexpr(MASK==0) {
73  return T{};
74  }
75  else {
76  assert (((val << SHIFT) & MASK) == (val << SHIFT));
77  return (val << SHIFT);
78  }
79  }

◆ maskedKey() [1/2]

unsigned int InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::maskedKey ( [[maybe_unused] ] unsigned int  mask_idx,
unsigned int  chip,
unsigned int  col,
unsigned int  row = 0u 
) const
inlineinherited

Create a key for a group defect.

Parameters
mask_idxthe index of mask associated to this group defect
chipthe chip index of one cell (e.g. pixel or strip) of this group defect
columnthe column index of one cell (e.g. pixel or strip) of this group defect
rowthe row index of one cell (e.g. pixel or strip) of this group defect

The resulting key will be the key of the first cell (e.g. pixel or strip) of this group defect, and the mask index will be set accordingly.

Definition at line 160 of file ModuleKeyHelper.h.

160  {
161  if constexpr(N_MASKS>0) {
162  assert( mask_idx < m_masks.size());
163  return (m_masks[mask_idx] & makeKey(0u, chip, col, row)) | makeKey(mask_idx, 0u,0u,0u);
164  }
165  else {
166  return makeKey(0u, chip, col, row);
167  }
168  }

◆ maskedKey() [2/2]

unsigned int InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::maskedKey ( unsigned int  mask_idx,
unsigned int  key 
) const
inlineinherited

Turn a single cell (e.g.

pixel or strip) defect key into a group defect key.

Parameters
mask_idxthe index of mask associated to this group defect
keysingle pixel key

The resulting key will be the key of the first pixel of this group defect, and the mask index will be set accordingly.

Definition at line 177 of file ModuleKeyHelper.h.

177  {
178  if constexpr(N_MASKS>0) {
179  assert( mask_idx < m_masks.size());
180  return (m_masks[mask_idx] & key) | makeKey(mask_idx, 0u,0u,0u);
181  }
182  else {
183  return key;
184  }
185  }

◆ nCells()

unsigned int InDet::StripModuleHelper::nCells ( ) const
inline

Return the total number strips of this module.

Definition at line 76 of file StripModuleHelper.h.

76  {
77  return m_columns * m_rows;
78  }

◆ nElements()

unsigned int InDet::StripModuleHelper::nElements ( [[maybe_unused] ] unsigned int  mask_i) const
inline

return the maximum number of unique mask (or group) defects per module.

For strips there is a single mask which covers all strips.

Definition at line 92 of file StripModuleHelper.h.

92  {
93  assert( mask_i==0);
94  return nCells();
95  }

◆ nMasks()

static constexpr unsigned int InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::nMasks
inlinestaticconstexprinherited

Get the number of possible masks.

Definition at line 115 of file ModuleKeyHelper.h.

115 { return std::max(1u,N_MASKS);}

◆ nSensorColumns()

unsigned int InDet::StripModuleHelper::nSensorColumns ( ) const
inline

Number of offline columns aka.

upper bound of eta index

Definition at line 81 of file StripModuleHelper.h.

81  {
82  return m_columns;
83  }

◆ nSensorRows()

unsigned int InDet::StripModuleHelper::nSensorRows ( ) const
inline

Number of offline rows aka.

upper bound of phi index

Definition at line 86 of file StripModuleHelper.h.

86  {
87  return m_rows;
88  }

◆ offlineRange()

std::array<unsigned int,4> InDet::StripModuleHelper::offlineRange ( unsigned int  key) const
inline

Convenience function to return offline column and row ranges matching the defect-area of the given key (for histogramming.

Parameters
keypacked hardware coordinates addressing a single strip (or a 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 109 of file StripModuleHelper.h.

109  {
110  unsigned int mask_index = ( N_MASKS > 0 ? getMaskIdx(key) : 0u);
111  if (mask_index !=0) {
112  if (getRow(key) !=0) {
113  throw std::runtime_error("invalid key");
114  };
115 
116  unsigned int chip=getChip(key);
117  unsigned int row=getRow(key);
118  unsigned int row_end=row + rowsPerCircuit()-1;
119  unsigned int column=getColumn(key);
120  unsigned int column_end= column + columnsPerMask( mask_index);
121 
122  unsigned int chip_row = chip / circuitsPerRow();
123  unsigned int chip_column = chip % circuitsPerRow();
124 
125  column += chip_column * columnsPerCircuit();
126  column_end += chip_column * columnsPerCircuit();
127  if (chip_row>=1) {
128  column = columns() - column -1;
129  column_end = columns() - column_end -1;
130 
131  row = rowsPerCircuit() - row -1 + chip_row * rowsPerCircuit();
132  row_end = rowsPerCircuit() - row_end -1 + chip_row * rowsPerCircuit();
133  }
134  if (swapOfflineRowsColumns()) {
135  return std::array<unsigned int,4>{ std::min(column, column_end), std::max(column,column_end)+1,
136  std::min(row, row_end), std::max(row, row_end)+1 };
137  }
138  else {
139  return std::array<unsigned int,4>{ std::min(row, row_end), std::max(row, row_end)+1,
140  std::min(column, column_end), std::max(column,column_end)+1 };
141  }
142  }
143  else {
144  unsigned int chip=getChip(key);
145  unsigned int row=getRow(key);
146  unsigned int column=getColumn(key);
147 
148  unsigned int chip_row = chip / circuitsPerRow();
149  unsigned int chip_column = chip % circuitsPerRow();
150 
151  column += chip_column * columnsPerCircuit();
152  if (chip_row>=1) {
153  column = columns() - column -1;
154 
155  row = rowsPerCircuit() - row -1 + chip_row * rowsPerCircuit();
156  }
157  if (swapOfflineRowsColumns()) {
158  return std::array<unsigned int,4 >{ column, column + 1,
159  row, row +1 };
160  }
161  else {
162  return std::array<unsigned int,4>{ row, row + 1,
163  column, column +1 };
164  }
165  }
166  }

◆ operator bool()

InDet::StripModuleHelper::operator bool ( ) const
inline

Definition at line 41 of file StripModuleHelper.h.

41 { return m_rows>0; }

◆ rows()

unsigned int InDet::StripModuleHelper::rows ( ) const
inline

Definition at line 44 of file StripModuleHelper.h.

44 { return m_rows; }

◆ rowsPerCircuit()

unsigned int InDet::StripModuleHelper::rowsPerCircuit ( ) const
inline

Definition at line 46 of file StripModuleHelper.h.

46 { return m_rows; }

◆ swapOfflineRowsColumns()

static constexpr bool InDet::StripModuleHelper::swapOfflineRowsColumns ( )
inlinestaticconstexpr

Definition at line 168 of file StripModuleHelper.h.

168 { return false;}

Member Data Documentation

◆ CHIP_BITS

constexpr unsigned int InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::CHIP_BITS
staticconstexprinherited

Definition at line 50 of file ModuleKeyHelper.h.

◆ CHIP_MASK

constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::CHIP_MASK
staticconstexprinherited

Definition at line 59 of file ModuleKeyHelper.h.

◆ CHIP_SHIFT

constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::CHIP_SHIFT
staticconstexprinherited

Definition at line 55 of file ModuleKeyHelper.h.

◆ COL_BITS

constexpr unsigned int InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::COL_BITS
staticconstexprinherited

Definition at line 49 of file ModuleKeyHelper.h.

◆ COL_MASK

constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::COL_MASK
staticconstexprinherited

Definition at line 58 of file ModuleKeyHelper.h.

◆ COL_SHIFT

constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::COL_SHIFT
staticconstexprinherited

Definition at line 54 of file ModuleKeyHelper.h.

◆ m_columns

unsigned short InDet::StripModuleHelper::m_columns = 0
private

Definition at line 172 of file StripModuleHelper.h.

◆ m_masks

std::conditional< (N_MASKS>0), std::array<unsigned short , MASKS_SIZE>, Empty>::type InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::m_masks
protectedinherited

the masks for this helper.

Definition at line 207 of file ModuleKeyHelper.h.

◆ m_rows

unsigned short InDet::StripModuleHelper::m_rows = 0
private

Definition at line 171 of file StripModuleHelper.h.

◆ MASK_SEL_BITS

constexpr unsigned int InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::MASK_SEL_BITS
staticconstexprinherited

Definition at line 51 of file ModuleKeyHelper.h.

◆ MASK_SEL_MASK

constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::MASK_SEL_MASK
staticconstexprinherited

Definition at line 60 of file ModuleKeyHelper.h.

◆ MASK_SEL_SHIFT

constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::MASK_SEL_SHIFT
staticconstexprinherited

Definition at line 56 of file ModuleKeyHelper.h.

◆ MASKS_SIZE

constexpr unsigned int InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::MASKS_SIZE
staticconstexprinherited

Definition at line 61 of file ModuleKeyHelper.h.

◆ N_MASKS

constexpr unsigned int InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::N_MASKS
staticconstexprinherited

Definition at line 52 of file ModuleKeyHelper.h.

◆ ROW_BITS

constexpr unsigned int InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::ROW_BITS
staticconstexprinherited

Definition at line 48 of file ModuleKeyHelper.h.

◆ ROW_MASK

constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::ROW_MASK
staticconstexprinherited

Definition at line 57 of file ModuleKeyHelper.h.

◆ ROW_SHIFT

constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::ROW_SHIFT
staticconstexprinherited

Definition at line 53 of file ModuleKeyHelper.h.


The documentation for this class was generated from the following file:
InDet::StripModuleHelper::columnsPerCircuit
static constexpr unsigned int columnsPerCircuit()
Definition: StripModuleHelper.h:45
query_example.row
row
Definition: query_example.py:24
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0, 0, 0 >::getChip
static constexpr unsigned short getChip(unsigned short key)
Get the column index from a full key.
Definition: ModuleKeyHelper.h:107
InDet::StripModuleHelper::circuitsPerRow
static constexpr unsigned int circuitsPerRow()
Definition: StripModuleHelper.h:48
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0, 0, 0 >::ROW_SHIFT
static constexpr unsigned short ROW_SHIFT
Definition: ModuleKeyHelper.h:53
InDetDD::SCT_ModuleSideDesign
Definition: SCT_ModuleSideDesign.h:40
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
min
constexpr double min()
Definition: ap_fixedTest.cxx:26
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0, 0, 0 >::MASK_SEL_SHIFT
static constexpr unsigned short MASK_SEL_SHIFT
Definition: ModuleKeyHelper.h:56
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0, 0, 0 >::N_MASKS
static constexpr unsigned int N_MASKS
Definition: ModuleKeyHelper.h:52
DeMoUpdate.column
dictionary column
Definition: DeMoUpdate.py:1110
InDetDD::SCT_ModuleSideDesign::cells
int cells() const
number of readout stips within module side:
Definition: SCT_ModuleSideDesign.h:228
Trk::u
@ u
Enums for curvilinear frames.
Definition: ParamDefs.h:77
python.utils.AtlRunQueryLookup.mask
string mask
Definition: AtlRunQueryLookup.py:460
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0, 0, 0 >::CHIP_SHIFT
static constexpr unsigned short CHIP_SHIFT
Definition: ModuleKeyHelper.h:55
InDet::StripModuleHelper::nCells
unsigned int nCells() const
Return the total number strips of this module.
Definition: StripModuleHelper.h:76
InDet::StripModuleHelper::rowsPerCircuit
unsigned int rowsPerCircuit() const
Definition: StripModuleHelper.h:46
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0, 0, 0 >::getColumn
static constexpr unsigned short getColumn(unsigned short key)
Get the column index from a full key.
Definition: ModuleKeyHelper.h:99
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0, 0, 0 >::makeKey
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.
Definition: ModuleKeyHelper.h:89
InDet::StripModuleHelper::m_columns
unsigned short m_columns
Definition: StripModuleHelper.h:172
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0, 0, 0 >::CHIP_MASK
static constexpr unsigned short CHIP_MASK
Definition: ModuleKeyHelper.h:59
InDet::StripModuleHelper::circuitsPerColumn
static constexpr unsigned int circuitsPerColumn()
Definition: StripModuleHelper.h:47
InDet::StripModuleHelper::swapOfflineRowsColumns
static constexpr bool swapOfflineRowsColumns()
Definition: StripModuleHelper.h:168
InDet::StripModuleHelper::columnsPerMask
static constexpr unsigned int columnsPerMask([[maybe_unused]] unsigned int mask_idx)
Definition: StripModuleHelper.h:50
query_example.col
col
Definition: query_example.py:7
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0, 0, 0 >::getRow
static constexpr unsigned short getRow(unsigned short key)
Get the row index from a full key.
Definition: ModuleKeyHelper.h:103
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0, 0, 0 >::m_masks
std::conditional<(N_MASKS >0), std::array< unsigned short, MASKS_SIZE >, Empty >::type m_masks
the masks for this helper.
Definition: ModuleKeyHelper.h:207
InDet::StripModuleHelper::m_rows
unsigned short m_rows
Definition: StripModuleHelper.h:171
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0, 0, 0 >::MASK_SEL_MASK
static constexpr unsigned short MASK_SEL_MASK
Definition: ModuleKeyHelper.h:60
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
InDet::StripModuleHelper::columns
unsigned int columns() const
Definition: StripModuleHelper.h:43
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0, 0, 0 >::ROW_MASK
static constexpr unsigned short ROW_MASK
Definition: ModuleKeyHelper.h:57
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0, 0, 0 >::isOverlapping
bool isOverlapping(unsigned short key_ref, unsigned short key_test) const
Test whether a single cell (e.g.
Definition: ModuleKeyHelper.h:195
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0, 0, 0 >::getMaskIdx
static constexpr unsigned short getMaskIdx(unsigned short key)
Get the mask index from a full key.
Definition: ModuleKeyHelper.h:111
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0, 0, 0 >::getMask
unsigned short getMask(unsigned short key) const
Get the mask specified by the full key.
Definition: ModuleKeyHelper.h:134
RoiUtil::MASK
MASK
Definition: RoiSerialise.cxx:35
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0, 0, 0 >::COL_MASK
static constexpr unsigned short COL_MASK
Definition: ModuleKeyHelper.h:58
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0, 0, 0 >::COL_SHIFT
static constexpr unsigned short COL_SHIFT
Definition: ModuleKeyHelper.h:54
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37