ATLAS Offline Software
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Static Protected Member Functions | 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)
 
std::array< unsigned int, N_MASKSmasks () const
 
 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...
 
std::pair< unsigned int, unsigned int > offlineCoordinates (unsigned int key) const
 compute offline coordinates from "hardware" 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...
 
std::array< unsigned int, 4 > offlineRange (const std::pair< unsigned int, unsigned int > &range) const
 Convenience function to return offline column and row ranges matching the defect-area of the given key (for histogramming. More...
 

Static Public Member Functions

static constexpr unsigned int getStripMask ()
 
static constexpr unsigned int getChipMask ()
 
static constexpr unsigned int nMasks ()
 
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 makeKey (bool is_range, unsigned int chip, unsigned int col, unsigned int row=0u)
 Create a key from mask, chip, column and row indices. More...
 
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 getLimitRowMax ()
 Get the maximum row value. More...
 
static constexpr unsigned short getLimitColumnMax ()
 Get the maximum row value. More...
 
static constexpr unsigned short getChip (unsigned short key)
 Get the column index from a full key. More...
 
static constexpr unsigned short getDefectType (unsigned short key)
 Get an associated defect type. More...
 
static constexpr unsigned short getDefectTypeComponent (unsigned short key)
 Get key component of an associated defect type. More...
 
static constexpr unsigned short makeDefectTypeKey (unsigned int defect_type)
 Make the key component representing the an associated defect type. More...
 
static constexpr bool isRangeKey (unsigned short key)
 Test whether a key is a range key. More...
 
static constexpr unsigned short makeRangeKey (unsigned short key)
 Turn a key into a range key. More...
 
static constexpr unsigned short makeBaseKey (unsigned short key)
 Return the key with the range flag removed. More...
 
static constexpr std::pair< unsigned short, unsigned short > makeRangeForMask (unsigned short key, unsigned short mask)
 Return a key pair marking the beginning and the end of the range for the given mask and key. More...
 
static constexpr bool isMatchingDefect (unsigned short defect_key, unsigned short key)
 Convenience method to check whether the key matches the defect. More...
 

Static Public Attributes

static constexpr unsigned int N_MASKS = 1
 
static constexpr unsigned int ROW_BITS
 
static constexpr unsigned int COL_BITS
 
static constexpr unsigned int CHIP_BITS
 
static constexpr unsigned int RANGE_FLAG_BITS
 
static constexpr unsigned int TYPE_BITS
 
static constexpr unsigned short ROW_SHIFT
 
static constexpr unsigned short COL_SHIFT
 
static constexpr unsigned short CHIP_SHIFT
 
static constexpr unsigned short RANGE_FLAG_SHIFT
 
static constexpr unsigned short TYPE_SHIFT
 
static constexpr unsigned short ROW_MASK
 
static constexpr unsigned short COL_MASK
 
static constexpr unsigned short CHIP_MASK
 
static constexpr unsigned short RANGE_FLAG_MASK
 
static constexpr unsigned short TYPE_MASK
 

Static Protected Member Functions

static constexpr unsigned short makeKeyPart ([[maybe_unused]] unsigned short val)
 Convenience method to create part of a key. 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, 0u >::KEY_TYPE = unsigned short
inherited

Definition at line 57 of file ModuleKeyHelper.h.

Constructor & Destructor Documentation

◆ StripModuleHelper()

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

Definition at line 31 of file StripModuleHelper.h.

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

Member Function Documentation

◆ circuitsPerColumn()

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

Definition at line 53 of file StripModuleHelper.h.

53 { return 1u; }

◆ circuitsPerRow()

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

Definition at line 54 of file StripModuleHelper.h.

54 { return 1u; }

◆ columns()

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

Definition at line 49 of file StripModuleHelper.h.

49 { return m_columns; }

◆ columnsPerCircuit()

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

Definition at line 51 of file StripModuleHelper.h.

51 { return 1u; }

◆ columnsPerMask()

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

Definition at line 56 of file StripModuleHelper.h.

56 { return 1u;}

◆ getChip()

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

Get the column index from a full key.

Definition at line 110 of file ModuleKeyHelper.h.

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

◆ getChipMask()

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

Definition at line 28 of file StripModuleHelper.h.

28 { 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, 0u >::getColumn ( unsigned short  key)
inlinestaticconstexprinherited

Get the column index from a full key.

Definition at line 94 of file ModuleKeyHelper.h.

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

◆ getDefectType()

static constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::getDefectType ( unsigned short  key)
inlinestaticconstexprinherited

Get an associated defect type.

Definition at line 114 of file ModuleKeyHelper.h.

114  {
115  if constexpr(TYPE_BITS>0) {
116  return (key & TYPE_MASK) >> TYPE_SHIFT;
117  }
118  else {
119  return T{};
120  }
121  }

◆ getDefectTypeComponent()

static constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::getDefectTypeComponent ( unsigned short  key)
inlinestaticconstexprinherited

Get key component of an associated defect type.

Definition at line 125 of file ModuleKeyHelper.h.

125  {
126  if constexpr(TYPE_BITS>0) {
127  return key & TYPE_MASK;
128  }
129  else {
130  return T{};
131  }
132  }

◆ getLimitColumnMax()

static constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::getLimitColumnMax
inlinestaticconstexprinherited

Get the maximum row value.

Definition at line 106 of file ModuleKeyHelper.h.

106 { return COL_MASK; }

◆ getLimitRowMax()

static constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::getLimitRowMax
inlinestaticconstexprinherited

Get the maximum row value.

Definition at line 102 of file ModuleKeyHelper.h.

102 { return ROW_MASK; }

◆ getRow()

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

Get the row index from a full key.

Definition at line 98 of file ModuleKeyHelper.h.

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

◆ getStripMask()

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

Definition at line 26 of file StripModuleHelper.h.

26 { 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 63 of file StripModuleHelper.h.

63  {
64  unsigned int chip =0;
65  if (circuitsPerColumn()>1) {
66  chip += (row/rowsPerCircuit()) * circuitsPerRow();
67  row = row % rowsPerCircuit();
68  if (chip>0) {
69  row = rowsPerCircuit() - row -1;
70  column = columns() - column -1;
71  }
72  }
73  if (circuitsPerRow()>1) {
74  chip += column/columnsPerCircuit();
76  }
77  return makeKey(0u, chip, column, row);
78  }

◆ isMatchingDefect()

static constexpr bool InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::isMatchingDefect ( unsigned short  defect_key,
unsigned short  key 
)
inlinestaticconstexprinherited

Convenience method to check whether the key matches the defect.

Parameters
defect_keythe key of the defect returned by lower_bound of the emulated defects.
keythe key to test
Returns
true if key overlaps with the defect range or defect.

Definition at line 184 of file ModuleKeyHelper.h.

184  {
185  return (key == makeBaseKey(defect_key) || isRangeKey(defect_key));
186  }

◆ isRangeKey()

static constexpr bool InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::isRangeKey ( unsigned short  key)
inlinestaticconstexprinherited

Test whether a key is a range key.

Range keys mark the beginning of inclusive range.

Definition at line 150 of file ModuleKeyHelper.h.

150  {
151  if constexpr(TYPE_MASK) {
152  return ((key & RANGE_FLAG_MASK)>>RANGE_FLAG_SHIFT);
153  }
154  else {
155  return ((key>>RANGE_FLAG_SHIFT) );
156  }
157  }

◆ makeBaseKey()

static constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::makeBaseKey ( unsigned short  key)
inlinestaticconstexprinherited

Return the key with the range flag removed.

If the key is a range key return the key without the range flag otherwise return the the same key.

Definition at line 168 of file ModuleKeyHelper.h.

168 { return key & (~(RANGE_FLAG_MASK|TYPE_MASK)); }

◆ makeDefectTypeKey()

static constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::makeDefectTypeKey ( unsigned int  defect_type)
inlinestaticconstexprinherited

Make the key component representing the an associated defect type.

Definition at line 136 of file ModuleKeyHelper.h.

137  {
138  if constexpr(TYPE_BITS>0) {
139  assert( (((defect_type << TYPE_SHIFT ) & TYPE_MASK) >> TYPE_SHIFT) == defect_type);
140  return (defect_type << TYPE_SHIFT ) & TYPE_MASK;
141  }
142  else {
143  return T{};
144  }
145  }

◆ makeKey()

static constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::makeKey ( bool  is_range,
unsigned int  chip,
unsigned int  col,
unsigned int  row = 0u 
)
inlinestaticconstexprinherited

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

Parameters
is_rangeif true the key marks the beginning of an inclusive range
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 85 of file ModuleKeyHelper.h.

85  {
86  return static_cast<T>(is_range) << RANGE_FLAG_SHIFT
87  | makeKeyPart<CHIP_SHIFT,CHIP_MASK>(chip)
88  | makeKeyPart<COL_SHIFT,COL_MASK>(col)
89  | makeKeyPart<ROW_SHIFT,ROW_MASK>(row);
90  }

◆ makeKeyPart()

static constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::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 66 of file ModuleKeyHelper.h.

66  {
67  if constexpr(MASK==0) {
68  return T{};
69  }
70  else {
71  assert (((val << SHIFT) & MASK) == (val << SHIFT));
72  return (val << SHIFT);
73  }
74  }

◆ makeRangeForMask()

static constexpr std::pair<unsigned short , unsigned short > InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::makeRangeForMask ( unsigned short  key,
unsigned short  mask 
)
inlinestaticconstexprinherited

Return a key pair marking the beginning and the end of the range for the given mask and key.

Parameters
keya key which marks a point in the range
maska mask which defines the range @preturn a pair containing the start key and end key of the range

Definition at line 175 of file ModuleKeyHelper.h.

175  {
176  return std::make_pair( key & mask, (key | ((~mask) & (CHIP_MASK|COL_MASK|ROW_MASK))) );
177  }

◆ makeRangeKey()

static constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::makeRangeKey ( unsigned short  key)
inlinestaticconstexprinherited

Turn a key into a range key.

Such keys mark the beginning of an inclusive range.

Definition at line 162 of file ModuleKeyHelper.h.

162 { return key | RANGE_FLAG_MASK; }

◆ masks()

std::array<unsigned int, N_MASKS> InDet::StripModuleHelper::masks ( ) const
inline

Definition at line 41 of file StripModuleHelper.h.

41  {
42  return std::array<unsigned int,N_MASKS> {
44  };
45  }

◆ nCells()

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

Return the total number strips of this module.

Definition at line 112 of file StripModuleHelper.h.

112  {
113  return m_columns * m_rows;
114  }

◆ 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 128 of file StripModuleHelper.h.

128  {
129  assert( mask_i==0);
130  return nCells();
131  }

◆ nMasks()

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

Definition at line 40 of file StripModuleHelper.h.

40 { return N_MASKS; }

◆ nSensorColumns()

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

Number of offline columns aka.

upper bound of eta index

Definition at line 117 of file StripModuleHelper.h.

117  {
118  return m_columns;
119  }

◆ nSensorRows()

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

Number of offline rows aka.

upper bound of phi index

Definition at line 122 of file StripModuleHelper.h.

122  {
123  return m_rows;
124  }

◆ offlineCoordinates()

std::pair<unsigned int,unsigned int> InDet::StripModuleHelper::offlineCoordinates ( unsigned int  key) const
inline

compute offline coordinates from "hardware" coordinates

Parameters
keypacked hardware coordinates
Returns
offline row, column pair

Definition at line 83 of file StripModuleHelper.h.

83  {
84  unsigned int chip = getChip(key);
85  unsigned int column = getColumn(key);
86  unsigned int row = getRow(key);
87  // handle special values
88  // used for merging
89  // should not occur for strips
90  if (row == getLimitRowMax()) {
91  row=rowsPerCircuit()-1;
92  }
93  if (row == rowsPerCircuit()) {
94  column+=1u;
95  row=0u;
96  }
97 
99  if (chip>=circuitsPerRow()) {
100  column=columns() - column -1;
101  row=rowsPerCircuit() - row -1;
102  row+=rowsPerCircuit() * (chip/circuitsPerRow());
103  }
104  if (row>nSensorRows() || column>nSensorColumns()) {
105  throw std::runtime_error("Invvalid offline coordinates");
106  }
107  return std::make_pair(row,column);
108  }

◆ offlineRange()

std::array<unsigned int,4> InDet::StripModuleHelper::offlineRange ( const std::pair< unsigned int, unsigned int > &  range) 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 137 of file StripModuleHelper.h.

137  {
138  if (range.first != range.second) {
139  // if (getRow(range.first) !=0) {
140  // throw std::runtime_error("invalid key");
141  // };
142 
143  std::pair<unsigned int, unsigned int> start=offlineCoordinates(range.first);
144  std::pair<unsigned int, unsigned int> end=offlineCoordinates(range.second);
145  return std::array<unsigned int,4>{ std::min(start.first, end.first), std::max(start.first, end.first)+1,
146  std::min(start.second, end.second), std::max(start.second,end.second)+1};
147  }
148  else {
149  std::pair<unsigned int, unsigned int> start=offlineCoordinates(range.first);
150  return std::array<unsigned int,4>{ start.first, start.first+1,
151  start.second, start.second+1 };
152  }
153  }

◆ operator bool()

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

Definition at line 47 of file StripModuleHelper.h.

47 { return m_rows>0; }

◆ rows()

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

Definition at line 50 of file StripModuleHelper.h.

50 { return m_rows; }

◆ rowsPerCircuit()

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

Definition at line 52 of file StripModuleHelper.h.

52 { return m_rows; }

◆ swapOfflineRowsColumns()

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

Definition at line 155 of file StripModuleHelper.h.

155 { return false;}

Member Data Documentation

◆ CHIP_BITS

constexpr unsigned int InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::CHIP_BITS
staticconstexprinherited

Definition at line 44 of file ModuleKeyHelper.h.

◆ CHIP_MASK

constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::CHIP_MASK
staticconstexprinherited

Definition at line 54 of file ModuleKeyHelper.h.

◆ CHIP_SHIFT

constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::CHIP_SHIFT
staticconstexprinherited

Definition at line 49 of file ModuleKeyHelper.h.

◆ COL_BITS

constexpr unsigned int InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::COL_BITS
staticconstexprinherited

Definition at line 43 of file ModuleKeyHelper.h.

◆ COL_MASK

constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::COL_MASK
staticconstexprinherited

Definition at line 53 of file ModuleKeyHelper.h.

◆ COL_SHIFT

constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::COL_SHIFT
staticconstexprinherited

Definition at line 48 of file ModuleKeyHelper.h.

◆ m_columns

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

Definition at line 159 of file StripModuleHelper.h.

◆ m_rows

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

Definition at line 158 of file StripModuleHelper.h.

◆ N_MASKS

constexpr unsigned int InDet::StripModuleHelper::N_MASKS = 1
staticconstexpr

Definition at line 39 of file StripModuleHelper.h.

◆ RANGE_FLAG_BITS

constexpr unsigned int InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::RANGE_FLAG_BITS
staticconstexprinherited

Definition at line 45 of file ModuleKeyHelper.h.

◆ RANGE_FLAG_MASK

constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::RANGE_FLAG_MASK
staticconstexprinherited

Definition at line 55 of file ModuleKeyHelper.h.

◆ RANGE_FLAG_SHIFT

constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::RANGE_FLAG_SHIFT
staticconstexprinherited

Definition at line 50 of file ModuleKeyHelper.h.

◆ ROW_BITS

constexpr unsigned int InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::ROW_BITS
staticconstexprinherited

Definition at line 42 of file ModuleKeyHelper.h.

◆ ROW_MASK

constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::ROW_MASK
staticconstexprinherited

Definition at line 52 of file ModuleKeyHelper.h.

◆ ROW_SHIFT

constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::ROW_SHIFT
staticconstexprinherited

Definition at line 47 of file ModuleKeyHelper.h.

◆ TYPE_BITS

constexpr unsigned int InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::TYPE_BITS
staticconstexprinherited

Definition at line 46 of file ModuleKeyHelper.h.

◆ TYPE_MASK

constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::TYPE_MASK
staticconstexprinherited

Definition at line 56 of file ModuleKeyHelper.h.

◆ TYPE_SHIFT

constexpr unsigned short InDet::ModuleKeyHelper< unsigned short , T_ROW_BITS, T_COL_BITS, T_CHIP_BITS, 0u >::TYPE_SHIFT
staticconstexprinherited

Definition at line 51 of file ModuleKeyHelper.h.


The documentation for this class was generated from the following file:
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0 >::getColumn
static constexpr unsigned short getColumn(unsigned short key)
Get the column index from a full key.
Definition: ModuleKeyHelper.h:94
InDet::StripModuleHelper::columnsPerCircuit
static constexpr unsigned int columnsPerCircuit()
Definition: StripModuleHelper.h:51
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0 >::getRow
static constexpr unsigned short getRow(unsigned short key)
Get the row index from a full key.
Definition: ModuleKeyHelper.h:98
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0 >::CHIP_MASK
static constexpr unsigned short CHIP_MASK
Definition: ModuleKeyHelper.h:54
InDet::StripModuleHelper::offlineCoordinates
std::pair< unsigned int, unsigned int > offlineCoordinates(unsigned int key) const
compute offline coordinates from "hardware" coordinates
Definition: StripModuleHelper.h:83
InDet::StripModuleHelper::nSensorColumns
unsigned int nSensorColumns() const
Number of offline columns aka.
Definition: StripModuleHelper.h:117
InDet::StripModuleHelper::circuitsPerRow
static constexpr unsigned int circuitsPerRow()
Definition: StripModuleHelper.h:54
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
mergePhysValFiles.start
start
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:13
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0 >::RANGE_FLAG_MASK
static constexpr unsigned short RANGE_FLAG_MASK
Definition: ModuleKeyHelper.h:55
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0 >::TYPE_BITS
static constexpr unsigned int TYPE_BITS
Definition: ModuleKeyHelper.h:46
DeMoUpdate.column
dictionary column
Definition: DeMoUpdate.py:1110
keylayer_zslicemap.row
row
Definition: keylayer_zslicemap.py:155
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:459
InDet::StripModuleHelper::nCells
unsigned int nCells() const
Return the total number strips of this module.
Definition: StripModuleHelper.h:112
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:92
InDet::StripModuleHelper::rowsPerCircuit
unsigned int rowsPerCircuit() const
Definition: StripModuleHelper.h:52
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0 >::CHIP_SHIFT
static constexpr unsigned short CHIP_SHIFT
Definition: ModuleKeyHelper.h:49
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0 >::makeBaseKey
static constexpr unsigned short makeBaseKey(unsigned short key)
Return the key with the range flag removed.
Definition: ModuleKeyHelper.h:168
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0 >::COL_SHIFT
static constexpr unsigned short COL_SHIFT
Definition: ModuleKeyHelper.h:48
InDet::StripModuleHelper::m_columns
unsigned short m_columns
Definition: StripModuleHelper.h:159
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0 >::ROW_MASK
static constexpr unsigned short ROW_MASK
Definition: ModuleKeyHelper.h:52
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:194
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0 >::getChip
static constexpr unsigned short getChip(unsigned short key)
Get the column index from a full key.
Definition: ModuleKeyHelper.h:110
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0 >::TYPE_MASK
static constexpr unsigned short TYPE_MASK
Definition: ModuleKeyHelper.h:56
InDet::StripModuleHelper::circuitsPerColumn
static constexpr unsigned int circuitsPerColumn()
Definition: StripModuleHelper.h:53
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0 >::COL_MASK
static constexpr unsigned short COL_MASK
Definition: ModuleKeyHelper.h:53
InDet::StripModuleHelper::nSensorRows
unsigned int nSensorRows() const
Number of offline rows aka.
Definition: StripModuleHelper.h:122
InDet::StripModuleHelper::N_MASKS
static constexpr unsigned int N_MASKS
Definition: StripModuleHelper.h:39
InDet::StripModuleHelper::m_rows
unsigned short m_rows
Definition: StripModuleHelper.h:158
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0 >::ROW_SHIFT
static constexpr unsigned short ROW_SHIFT
Definition: ModuleKeyHelper.h:47
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0 >::makeKey
static constexpr unsigned short makeKey(bool is_range, unsigned int chip, unsigned int col, unsigned int row=0u)
Create a key from mask, chip, column and row indices.
Definition: ModuleKeyHelper.h:85
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0 >::TYPE_SHIFT
static constexpr unsigned short TYPE_SHIFT
Definition: ModuleKeyHelper.h:51
InDet::StripModuleHelper::columns
unsigned int columns() const
Definition: StripModuleHelper.h:49
InDet::StripModuleHelper::getStripMask
static constexpr unsigned int getStripMask()
Definition: StripModuleHelper.h:26
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0 >::RANGE_FLAG_SHIFT
static constexpr unsigned short RANGE_FLAG_SHIFT
Definition: ModuleKeyHelper.h:50
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0 >::getLimitRowMax
static constexpr unsigned short getLimitRowMax()
Get the maximum row value.
Definition: ModuleKeyHelper.h:102
InDet::ModuleKeyHelper< unsigned short, 12, 0, 0 >::isRangeKey
static constexpr bool isRangeKey(unsigned short key)
Test whether a key is a range key.
Definition: ModuleKeyHelper.h:150
RoiUtil::MASK
MASK
Definition: RoiSerialise.cxx:35
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37