Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Static Protected Member Functions | Protected Attributes | List of all members
InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS > Struct Template Reference

Helper class to create keys for defects described by chip, column and row indices, and a mask. More...

#include <ModuleKeyHelper.h>

Collaboration diagram for InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >:

Classes

struct  Empty
 

Public Types

using KEY_TYPE = T
 

Public Member Functions

 ModuleKeyHelper (std::array< T, N_MASKS > &&masks) requires(N_MASKS >0)
 Construct this key helper. More...
 
 ModuleKeyHelper ()=default
 
getMask (T 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 (T key_ref, T key_test) const
 Test whether a single cell (e.g. More...
 

Static Public Member Functions

static constexpr T getColumn (T key)
 Get the column index from a full key. More...
 
static constexpr T getRow (T key)
 Get the row index from a full key. More...
 
static constexpr T getChip (T key)
 Get the column index from a full key. More...
 
static constexpr T getMaskIdx (T 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 = T_ROW_BITS
 
static constexpr unsigned int COL_BITS = T_COL_BITS
 
static constexpr unsigned int CHIP_BITS = T_CHIP_BITS
 
static constexpr unsigned int MASK_SEL_BITS = T_MASK_SEL_BITS
 
static constexpr unsigned int N_MASKS = T_N_MASKS
 
static constexpr T ROW_SHIFT = 0u
 
static constexpr T COL_SHIFT = ROW_BITS
 
static constexpr T CHIP_SHIFT = ROW_BITS + COL_BITS
 
static constexpr T MASK_SEL_SHIFT = ROW_BITS + COL_BITS + CHIP_BITS
 
static constexpr T ROW_MASK = MaskUtils::createMask<0, ROW_BITS>()
 
static constexpr T COL_MASK = MaskUtils::createMask<ROW_BITS, ROW_BITS+COL_BITS>()
 
static constexpr T CHIP_MASK = MaskUtils::createMask<ROW_BITS+COL_BITS, ROW_BITS+COL_BITS+CHIP_BITS>()
 
static constexpr T MASK_SEL_MASK = MaskUtils::createMask<ROW_BITS+COL_BITS+CHIP_BITS,ROW_BITS+COL_BITS+CHIP_BITS+MASK_SEL_BITS>()
 
static constexpr unsigned int MASKS_SIZE =N_MASKS
 

Static Protected Member Functions

template<unsigned int SHIFT, T MASK>
static constexpr T makeKeyPart ([[maybe_unused]] T val)
 Convenience method to create part of a key. More...
 
static constexpr T 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< T, MASKS_SIZE >, Empty >::type m_masks
 the masks for this helper. More...
 

Detailed Description

template<typename T, unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
struct InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >

Helper class to create keys for defects described by chip, column and row indices, and a mask.

Template Parameters
T_ROW_BITSnumber of bits to store the row index of a defect.
T_COL_BITSnumber of bits to store the column index of a defect.
T_CHIP_BITSnumber of bits to store the chip index of a defect.
T_MASK_SEL_BITSnumber of bits to store the mask index of a group defect.
T_N_MASKStotal number of masks supported by this helper; must be representable by the number of @T_MASK_SEL_BITS

The key assumes a hierarchical ordering of the indices where the chip index ranks highest and the row index lowest. The mask is applied to the final key and can be used to represent a defect of adjacent pixels by a single key, provided it is possible to compute the first pixel of such a group from a key which addresses a single pixel by a simple mask i.e. single-pixel-key bit-wise-and mask = group-key where the group-key is the single pixel key of the first pixel in that group.

Definition at line 47 of file ModuleKeyHelper.h.

Member Typedef Documentation

◆ KEY_TYPE

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
using InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::KEY_TYPE = T

Definition at line 62 of file ModuleKeyHelper.h.

Constructor & Destructor Documentation

◆ ModuleKeyHelper() [1/2]

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::ModuleKeyHelper ( std::array< T, N_MASKS > &&  masks)
inline

Construct this key helper.

Parameters
masksthe possible masks available for this key helper.

The first mask should have all bits set which specify the row, column and chip index i.e. a mask for keys addressing individual cells e.g. pixel or strip. The other masks may have the lowest n-bits set to zero. Masks are expected to be in ascending order i.e. the number of trailing zero value bits is increasing.

Definition at line 125 of file ModuleKeyHelper.h.

125 : m_masks( masks) {}

◆ ModuleKeyHelper() [2/2]

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::ModuleKeyHelper ( )
default

Member Function Documentation

◆ getChip()

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
static constexpr T InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::getChip ( key)
inlinestaticconstexpr

Get the column index from a full key.

Definition at line 107 of file ModuleKeyHelper.h.

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

◆ getColumn()

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
static constexpr T InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::getColumn ( key)
inlinestaticconstexpr

Get the column index from a full key.

Definition at line 99 of file ModuleKeyHelper.h.

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

◆ getMask()

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
T InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::getMask ( key) const
inline

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()

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
static constexpr T InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::getMaskIdx ( key)
inlinestaticconstexpr

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()

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
static constexpr T InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::getRow ( key)
inlinestaticconstexpr

Get the row index from a full key.

Definition at line 103 of file ModuleKeyHelper.h.

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

◆ isOverlapping()

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
bool InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::isOverlapping ( key_ref,
key_test 
) const
inline

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()

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
static constexpr T InDet::ModuleKeyHelper< T, 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 
)
inlinestaticconstexprprotected

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()

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
template<unsigned int SHIFT, T MASK>
static constexpr T InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::makeKeyPart ( [[maybe_unused] ] T  val)
inlinestaticconstexprprotected

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]

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
unsigned int InDet::ModuleKeyHelper< T, 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
inline

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]

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
unsigned int InDet::ModuleKeyHelper< T, 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
inline

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  }

◆ nMasks()

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
static constexpr unsigned int InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::nMasks ( )
inlinestaticconstexpr

Get the number of possible masks.

Definition at line 115 of file ModuleKeyHelper.h.

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

Member Data Documentation

◆ CHIP_BITS

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
constexpr unsigned int InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::CHIP_BITS = T_CHIP_BITS
staticconstexpr

Definition at line 50 of file ModuleKeyHelper.h.

◆ CHIP_MASK

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
constexpr T InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::CHIP_MASK = MaskUtils::createMask<ROW_BITS+COL_BITS, ROW_BITS+COL_BITS+CHIP_BITS>()
staticconstexpr

Definition at line 59 of file ModuleKeyHelper.h.

◆ CHIP_SHIFT

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
constexpr T InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::CHIP_SHIFT = ROW_BITS + COL_BITS
staticconstexpr

Definition at line 55 of file ModuleKeyHelper.h.

◆ COL_BITS

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
constexpr unsigned int InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::COL_BITS = T_COL_BITS
staticconstexpr

Definition at line 49 of file ModuleKeyHelper.h.

◆ COL_MASK

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
constexpr T InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::COL_MASK = MaskUtils::createMask<ROW_BITS, ROW_BITS+COL_BITS>()
staticconstexpr

Definition at line 58 of file ModuleKeyHelper.h.

◆ COL_SHIFT

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
constexpr T InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::COL_SHIFT = ROW_BITS
staticconstexpr

Definition at line 54 of file ModuleKeyHelper.h.

◆ m_masks

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
std::conditional< (N_MASKS>0), std::array<T, MASKS_SIZE>, Empty>::type InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::m_masks
protected

the masks for this helper.

Definition at line 207 of file ModuleKeyHelper.h.

◆ MASK_SEL_BITS

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
constexpr unsigned int InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::MASK_SEL_BITS = T_MASK_SEL_BITS
staticconstexpr

Definition at line 51 of file ModuleKeyHelper.h.

◆ MASK_SEL_MASK

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
constexpr T InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::MASK_SEL_MASK = MaskUtils::createMask<ROW_BITS+COL_BITS+CHIP_BITS,ROW_BITS+COL_BITS+CHIP_BITS+MASK_SEL_BITS>()
staticconstexpr

Definition at line 60 of file ModuleKeyHelper.h.

◆ MASK_SEL_SHIFT

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
constexpr T InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::MASK_SEL_SHIFT = ROW_BITS + COL_BITS + CHIP_BITS
staticconstexpr

Definition at line 56 of file ModuleKeyHelper.h.

◆ MASKS_SIZE

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
constexpr unsigned int InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::MASKS_SIZE =N_MASKS
staticconstexpr

Definition at line 61 of file ModuleKeyHelper.h.

◆ N_MASKS

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
constexpr unsigned int InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::N_MASKS = T_N_MASKS
staticconstexpr

Definition at line 52 of file ModuleKeyHelper.h.

◆ ROW_BITS

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
constexpr unsigned int InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::ROW_BITS = T_ROW_BITS
staticconstexpr

Definition at line 48 of file ModuleKeyHelper.h.

◆ ROW_MASK

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
constexpr T InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::ROW_MASK = MaskUtils::createMask<0, ROW_BITS>()
staticconstexpr

Definition at line 57 of file ModuleKeyHelper.h.

◆ ROW_SHIFT

template<typename T , unsigned int T_ROW_BITS, unsigned int T_COL_BITS, unsigned int T_CHIP_BITS, unsigned int T_MASK_SEL_BITS, unsigned int T_N_MASKS = 3>
constexpr T InDet::ModuleKeyHelper< T, T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, T_MASK_SEL_BITS, T_N_MASKS >::ROW_SHIFT = 0u
staticconstexpr

Definition at line 53 of file ModuleKeyHelper.h.


The documentation for this struct was generated from the following file:
query_example.row
row
Definition: query_example.py:24
InDet::ModuleKeyHelper::ROW_SHIFT
static constexpr T ROW_SHIFT
Definition: ModuleKeyHelper.h:53
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
InDet::ModuleKeyHelper::MASK_SEL_SHIFT
static constexpr T MASK_SEL_SHIFT
Definition: ModuleKeyHelper.h:56
InDet::ModuleKeyHelper::N_MASKS
static constexpr unsigned int N_MASKS
Definition: ModuleKeyHelper.h:52
Trk::u
@ u
Enums for curvilinear frames.
Definition: ParamDefs.h:77
python.utils.AtlRunQueryLookup.mask
string mask
Definition: AtlRunQueryLookup.py:460
InDet::ModuleKeyHelper::CHIP_SHIFT
static constexpr T CHIP_SHIFT
Definition: ModuleKeyHelper.h:55
InDet::ModuleKeyHelper::makeKey
static constexpr T 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::ModuleKeyHelper::CHIP_MASK
static constexpr T CHIP_MASK
Definition: ModuleKeyHelper.h:59
query_example.col
col
Definition: query_example.py:7
InDet::ModuleKeyHelper::m_masks
std::conditional<(N_MASKS >0), std::array< T, MASKS_SIZE >, Empty >::type m_masks
the masks for this helper.
Definition: ModuleKeyHelper.h:207
InDet::ModuleKeyHelper::MASK_SEL_MASK
static constexpr T 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::ModuleKeyHelper::ROW_MASK
static constexpr T ROW_MASK
Definition: ModuleKeyHelper.h:57
InDet::ModuleKeyHelper::getMaskIdx
static constexpr T getMaskIdx(T key)
Get the mask index from a full key.
Definition: ModuleKeyHelper.h:111
InDet::ModuleKeyHelper::getMask
T getMask(T key) const
Get the mask specified by the full key.
Definition: ModuleKeyHelper.h:134
RoiUtil::MASK
MASK
Definition: RoiSerialise.cxx:35
InDet::ModuleKeyHelper::COL_MASK
static constexpr T COL_MASK
Definition: ModuleKeyHelper.h:58
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
InDet::ModuleKeyHelper::COL_SHIFT
static constexpr T COL_SHIFT
Definition: ModuleKeyHelper.h:54
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37