4#ifndef ITkPixelCablingData_h
5#define ITkPixelCablingData_h
16#include "Identifier/Identifier.h"
21#include <unordered_map>
93 []([[maybe_unused]] uint16_t& col, uint16_t& row){row = 383 - row;},
94 []([[maybe_unused]] uint16_t& col, uint16_t& row){row = 383 - row; col += 400;},
95 []([[maybe_unused]] uint16_t& col, uint16_t& row){row = 767 - row;},
96 []([[maybe_unused]] uint16_t& col, uint16_t& row){row = 767 - row; col += 400;}
100 [](uint16_t& col, uint16_t& row){
101 row = 2 * (383 - row) + (col & 1);
106 [](uint16_t& col, uint16_t& row) {
111 []([[maybe_unused]] uint16_t& col, uint16_t& row){row = 383 - row;},
112 []([[maybe_unused]] uint16_t& col, uint16_t& row){row = 383 - row; col -= 400;},
113 []([[maybe_unused]] uint16_t& col, uint16_t& row){row = 767 - row;},
114 []([[maybe_unused]] uint16_t& col, uint16_t& row){row = 767 - row; col -= 400;}
118 [](uint16_t& col, uint16_t& row) {
119 const uint16_t parity = row & 1;
120 row = 383 - (row >> 1);
121 col = (col << 1) | parity;
125 [](uint16_t& col, uint16_t& row) {
171 std::size_t
size()
const;
Hold mappings of ranges to condition objects.
#define CONDCONT_DEF(...)
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
std::vector< uint32_t > m_sourceIDs
const std::unordered_map< uint32_t, ITkPixelOnlineId > & onlineIdMap() const
ITkPixelOnlineId onlineId(const Identifier &id) const
ITkPixelCabling::ModuleInfo< ITkPixelOnlineId > onlineModuleInfo(const Identifier &id) const
Identifier offlineId(const ITkPixelOnlineId &id) const
std::unordered_map< ITkPixelOnlineId, ITkPixelCabling::ModuleInfo< Identifier > > m_online2ModuleInfoMap
std::unordered_map< uint32_t, ITkPixelCabling::TransformType > m_module2TransformTypeMap
std::unordered_map< uint32_t, ITkPixelOnlineId > m_offlineDetectorResourceID2OnlineIdMap
ITkPixelCabling::TransformType transformType(const uint32_t &moduleID) const
static uint8_t chipID(const ITkPixelCabling::TransformType &t, const uint16_t &col, const uint16_t &row)
void addEntryOnOff(const ITkPixelOnlineId &idOn, const Identifier &idOff)
std::unordered_map< Identifier, ITkPixelOnlineId > m_offline2OnlineMap
std::unordered_map< Identifier, ITkPixelCabling::ModuleInfo< ITkPixelOnlineId > > m_offline2ModuleInfoMap
const std::vector< uint32_t > & sourceIDs() const
friend std::ostream & operator<<(std::ostream &os, const ITkPixelCablingData &cabling)
stream insertion for debugging
void forEachOffOn(Func &&f) const
void addTransformType(const uint32_t &moduleID, const ITkPixelCabling::TransformType &transform)
std::unordered_map< Identifier, ITkPixelCabling::ModuleType > m_offline2ModuleType
std::unordered_map< ITkPixelOnlineId, Identifier > m_online2OfflineMap
std::unordered_map< ITkPixelOnlineId, ITkPixelCabling::ModuleType > m_online2ModuleType
ITkPixelCabling::ModuleInfo< Identifier > offlineModuleInfo(const ITkPixelOnlineId &id) const
friend std::istream & operator>>(std::istream &is, ITkPixelCablingData &cabling)
stream extraction to read value from stream into ITkPixelCablingData
void addEntryOffOn(const Identifier &idOff, const ITkPixelOnlineId &idOn)
void addSourceID(const uint32_t &sourceID)
static void chipToModuleInverseTransform(const TransformType &transform, const uint8_t &chipID, uint16_t &col, uint16_t &row)
static constexpr TransformFn nominalQuadTable[4]
static constexpr TransformFn ibTransformFn
static constexpr TransformFn iecTransformFn
static constexpr TransformFn ibInverseTransformFn
static void chipToModuleTransform(const TransformType &transform, const uint8_t &chipID, uint16_t &col, uint16_t &row)
void(*)(uint16_t &, uint16_t &) TransformFn
static constexpr TransformFn iecInverseTransformFn
static constexpr TransformFn nominalQuadInverseTable[4]
void swap(ElementLinkVector< DOBJ > &lhs, ElementLinkVector< DOBJ > &rhs)