 |
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef INDET_STRIPMODULEHELPER_H
5 #define INDET_STRIPMODULEHELPER_H
26 static constexpr
unsigned int getStripMask() {
return MaskUtils::createMask<0,ROW_BITS+CHIP_BITS>(); }
28 static constexpr
unsigned int getChipMask() {
return MaskUtils::createMask<ROW_BITS,ROW_BITS+CHIP_BITS>(); }
34 if (stripModuleDesign) {
39 static constexpr
unsigned int N_MASKS = 1;
41 std::array<unsigned int, N_MASKS>
masks()
const {
42 return std::array<unsigned int,N_MASKS> {
56 static constexpr
unsigned int columnsPerMask([[maybe_unused]]
unsigned int mask_idx) {
return 1
u;}
105 throw std::runtime_error(
"Invvalid offline coordinates");
128 unsigned int nElements([[maybe_unused]]
unsigned int mask_i)
const {
137 std::array<unsigned int,4>
offlineRange(
const std::pair<unsigned int,unsigned int> &
range)
const {
140 throw std::runtime_error(
"invalid key");
150 return std::array<unsigned int,4>{
start.first,
start.first+1,
static constexpr unsigned short getColumn(unsigned short key)
Get the column index from a full key.
static constexpr unsigned int columnsPerCircuit()
static constexpr unsigned short getRow(unsigned short key)
Get the row index from a full key.
Helper class to convert between offline column, row and hardware chip, column, row coordinates.
std::pair< unsigned int, unsigned int > offlineCoordinates(unsigned int key) const
compute offline coordinates from "hardware" coordinates
unsigned int nSensorColumns() const
Number of offline columns aka.
static constexpr unsigned int circuitsPerRow()
std::array< unsigned int, N_MASKS > masks() const
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 ke...
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 getChip(unsigned short key)
Get the column index from a full key.
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)
unsigned int nSensorRows() const
Number of offline rows aka.
static constexpr unsigned int N_MASKS
static constexpr unsigned int nMasks()
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.
unsigned int columns() const
static constexpr unsigned int getStripMask()
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.
setBGCode setTAP setLVL2ErrorBits bool
static constexpr unsigned short getLimitRowMax()
Get the maximum row value.