Project
Loading...
Searching...
No Matches
o2::itsmft::ChipMappingITS Class Reference

#include <ChipMappingITS.h>

Classes

struct  Overlaps
 these public methods must be defined in the mapping class for raw data encoding/decoding More...
 

Public Member Functions

 ChipMappingITS ()
 
 ~ChipMappingITS ()=default
 
const std::vector< uint8_t > & getCableHWFirstChip (int s) const
 
uint16_t composeFEEId (uint16_t lr, uint16_t ruOnLr, uint16_t link) const
 decompose FEEid to layer, stave (ru) relative to layer, link, see documentation in the constructor
 
void expandFEEId (uint16_t feeID, uint16_t &lr, uint16_t &ruOnLr, uint16_t &link) const
 impose user defined FEEId -> ruSW (staveID) conversion, to be used only for forced decoding of corrupted data
 
void imposeFEEId2RUSW (uint16_t feeID, uint16_t ruSW)
 modify linkID field in FEEId
 
uint16_t modifyLinkInFEEId (uint16_t feeID, uint16_t linkID) const
 expand SW chip ID to SW (continuous) id's for layer, stave, substave etc.
 
void expandChipInfoSW (int idSW, int &lay, int &sta, int &ssta, int &mod, int &chipInMod) const
 expand SW chip ID to HW id's for layer, stave, substave, module, chipOnModule
 
void expandChipInfoHW (int idSW, int &lay, int &sta, int &ssta, int &mod, int &chipInMod) const
 convert global SW chip ID to name in HW conventions
 
std::string getChipNameHW (int idSW) const
 impose user defined FEEId -> ruSW (staveID) conversion, to be used only for forced decoding of corrupted data
 
void print () const
 
const ChipOnRUInfogetChipOnRUInfo (int staveType, int chOnRUSW) const
 extract information about the chip with SW ID
 
void getChipInfoSW (int chipSW, ChipInfo &chInfo) const
 get chipID on module from chip global SW ID, cable SW ID and stave (RU) info
 
uint16_t getLocalChipID (uint16_t globalID, int cableHW, const RUInfo &ruInfo) const
 
uint16_t getGlobalChipID (uint16_t chOnModuleHW, int cableHW, const RUInfo &ruInfo) const
 get chip global SW ID from Layer, abs Stave, module in Stave and chipID_on_module SW IDs
 
uint16_t getGlobalChipIDSW (int lay, int staSW, int modSW, int chipInModSW) const
 get SW id of the RU from RU HW id
 
uint8_t FEEId2RUSW (uint16_t hw) const
 get FEEId of the RU (software id of the RU), read via given link
 
uint16_t RUSW2FEEId (uint16_t sw, uint16_t linkID=0) const
 get layer of the RU (from the software id of the RU)
 
uint16_t RUSW2Layer (uint16_t sw) const
 get layer of the RU (from the software id of the RU)
 
uint16_t RUSW2RUType (uint16_t sw) const
 get info on sw RU
 
const RUInfogetRUInfoSW (int ruSW) const
 get info on sw RU
 
const RUInfogetRUInfoFEEId (int feeID) const
 get number of chips served by single cable on given RU type
 
uint8_t getGBTHeaderRUType (int ruType, int cableHW)
 convert HW cable ID to its position on the ActiveLanes word in the GBT.header for given RU type
 
uint8_t cableHW2Pos (uint8_t ruType, uint8_t hwid) const
 convert HW cable ID to SW ID for given RU type (see ChipOnRUInfo.cableSW explanation)
 
uint8_t cableHW2SW (uint8_t ruType, uint8_t hwid) const
 convert cable iterator ID to the position on the ActiveLanes word in the GBT.header for given RU type; MFT lanes position compatible
 
uint8_t cablePos (uint8_t ruType, uint8_t id) const
 get number of chips served by single cable on given RU type
 
int getNChipsPerCable (int ruType)
 get number cables on the RU served by a given RU type
 
int getNCablesOnRUType (int ruType) const
 get pattern of lanes on the RU served by a given RU type
 
int getCablesOnRUType (int ruType) const
 get number of chips served by RU of given type (i.e. RU type for ITS)
 
int getNChipsOnRUType (int ruType) const
 get RU type from the sequential ID of the RU
 
int getRUType (int ruID) const
 convert HW id of chip in the module to SW ID (sequential ID on the module)
 
int chipModuleIDHW2SW (int ruType, int hwIDinMod) const
 convert SW id of chip in the module to HW ID
 
int chipModuleIDSW2HW (int ruType, int swIDinMod) const
 convert layer ID and RU sequential ID on Layer to absolute RU IDSW
 
int getRUIDSW (int lr, int ruOnLr) const
 
std::vector< OverlapsgetOverlapsInfo () const
 

Static Public Member Functions

static constexpr std::string_view getName ()
 
static constexpr o2::header::DataOrigin getOrigin ()
 
static constexpr o2::detectors::DetID::ID getDetID ()
 
static constexpr std::int16_t getRUDetectorField ()
 total number of RUs
 
static constexpr int getNRUs ()
 total number of chips
 
static constexpr int getNChips ()
 number of chips per barrel
 
static constexpr int getNChips (int b)
 number of staves on layer
 
static constexpr int getNStavesOnLr (int l)
 first staves of layer
 
static constexpr int getFirstStavesOnLr (int l)
 numbes of chips per layer
 
static constexpr int getNChipsPerLr (int l)
 compose FEEid for given stave (ru) relative to layer and link, see documentation in the constructor
 
static constexpr int getLayer (int chipSW)
 
static constexpr int getNModulesPerStave (int ruType)
 
static constexpr int getNChipsOnLayer (int lr)
 
static constexpr int getFirstChipsOnLayer (int lr)
 

Static Public Attributes

static constexpr int IB = 0
 
static constexpr int MB = 1
 
static constexpr int OB = 2
 
static constexpr int NSubB = 3
 
static constexpr int NLayers = 7
 
static constexpr int NLinks = 3
 

Detailed Description

Definition at line 35 of file ChipMappingITS.h.

Constructor & Destructor Documentation

◆ ChipMappingITS()

ChipMappingITS::ChipMappingITS ( )

Definition at line 42 of file ChipMappingITS.cxx.

◆ ~ChipMappingITS()

o2::itsmft::ChipMappingITS::~ChipMappingITS ( )
default

Member Function Documentation

◆ cableHW2Pos()

uint8_t o2::itsmft::ChipMappingITS::cableHW2Pos ( uint8_t  ruType,
uint8_t  hwid 
) const
inline

convert HW cable ID to SW ID for given RU type (see ChipOnRUInfo.cableSW explanation)

Definition at line 239 of file ChipMappingITS.h.

◆ cableHW2SW()

uint8_t o2::itsmft::ChipMappingITS::cableHW2SW ( uint8_t  ruType,
uint8_t  hwid 
) const
inline

convert cable iterator ID to the position on the ActiveLanes word in the GBT.header for given RU type; MFT lanes position compatible

Definition at line 242 of file ChipMappingITS.h.

◆ cablePos()

uint8_t o2::itsmft::ChipMappingITS::cablePos ( uint8_t  ruType,
uint8_t  id 
) const
inline

get number of chips served by single cable on given RU type

Definition at line 245 of file ChipMappingITS.h.

◆ chipModuleIDHW2SW()

int o2::itsmft::ChipMappingITS::chipModuleIDHW2SW ( int  ruType,
int  hwIDinMod 
) const
inline

convert SW id of chip in the module to HW ID

Definition at line 273 of file ChipMappingITS.h.

◆ chipModuleIDSW2HW()

int o2::itsmft::ChipMappingITS::chipModuleIDSW2HW ( int  ruType,
int  swIDinMod 
) const
inline

convert layer ID and RU sequential ID on Layer to absolute RU IDSW

Definition at line 279 of file ChipMappingITS.h.

◆ composeFEEId()

uint16_t o2::itsmft::ChipMappingITS::composeFEEId ( uint16_t  lr,
uint16_t  ruOnLr,
uint16_t  link 
) const
inline

decompose FEEid to layer, stave (ru) relative to layer, link, see documentation in the constructor

Definition at line 78 of file ChipMappingITS.h.

◆ expandChipInfoHW()

void ChipMappingITS::expandChipInfoHW ( int  idSW,
int lay,
int sta,
int ssta,
int mod,
int chipInMod 
) const

convert global SW chip ID to name in HW conventions

Definition at line 213 of file ChipMappingITS.cxx.

◆ expandChipInfoSW()

void ChipMappingITS::expandChipInfoSW ( int  idSW,
int lay,
int sta,
int ssta,
int mod,
int chipInMod 
) const

expand SW chip ID to HW id's for layer, stave, substave, module, chipOnModule

Definition at line 199 of file ChipMappingITS.cxx.

◆ expandFEEId()

void o2::itsmft::ChipMappingITS::expandFEEId ( uint16_t  feeID,
uint16_t &  lr,
uint16_t &  ruOnLr,
uint16_t &  link 
) const
inline

impose user defined FEEId -> ruSW (staveID) conversion, to be used only for forced decoding of corrupted data

Definition at line 81 of file ChipMappingITS.h.

◆ FEEId2RUSW()

uint8_t o2::itsmft::ChipMappingITS::FEEId2RUSW ( uint16_t  hw) const
inline

get FEEId of the RU (software id of the RU), read via given link

Definition at line 206 of file ChipMappingITS.h.

◆ getCableHWFirstChip()

const std::vector< uint8_t > & o2::itsmft::ChipMappingITS::getCableHWFirstChip ( int  s) const
inline

Definition at line 55 of file ChipMappingITS.h.

◆ getCablesOnRUType()

int o2::itsmft::ChipMappingITS::getCablesOnRUType ( int  ruType) const
inline

get number of chips served by RU of given type (i.e. RU type for ITS)

Definition at line 254 of file ChipMappingITS.h.

◆ getChipInfoSW()

void o2::itsmft::ChipMappingITS::getChipInfoSW ( int  chipSW,
ChipInfo chInfo 
) const
inline

get chipID on module from chip global SW ID, cable SW ID and stave (RU) info

Definition at line 121 of file ChipMappingITS.h.

◆ getChipNameHW()

std::string ChipMappingITS::getChipNameHW ( int  idSW) const

impose user defined FEEId -> ruSW (staveID) conversion, to be used only for forced decoding of corrupted data

Definition at line 227 of file ChipMappingITS.cxx.

◆ getChipOnRUInfo()

const ChipOnRUInfo * o2::itsmft::ChipMappingITS::getChipOnRUInfo ( int  staveType,
int  chOnRUSW 
) const
inline

extract information about the chip with SW ID

< extract information about the chip properties on the stave of given type for the chip < with sequential ID SWID within the stave

Definition at line 115 of file ChipMappingITS.h.

◆ getDetID()

static constexpr o2::detectors::DetID::ID o2::itsmft::ChipMappingITS::getDetID ( )
inlinestaticconstexpr

Definition at line 53 of file ChipMappingITS.h.

◆ getFirstChipsOnLayer()

static constexpr int o2::itsmft::ChipMappingITS::getFirstChipsOnLayer ( int  lr)
inlinestaticconstexpr

Definition at line 309 of file ChipMappingITS.h.

◆ getFirstStavesOnLr()

static constexpr int o2::itsmft::ChipMappingITS::getFirstStavesOnLr ( int  l)
inlinestaticconstexpr

numbes of chips per layer

Definition at line 72 of file ChipMappingITS.h.

◆ getGBTHeaderRUType()

uint8_t o2::itsmft::ChipMappingITS::getGBTHeaderRUType ( int  ruType,
int  cableHW 
)
inline

convert HW cable ID to its position on the ActiveLanes word in the GBT.header for given RU type

Definition at line 236 of file ChipMappingITS.h.

◆ getGlobalChipID()

uint16_t o2::itsmft::ChipMappingITS::getGlobalChipID ( uint16_t  chOnModuleHW,
int  cableHW,
const RUInfo ruInfo 
) const
inline

get chip global SW ID from Layer, abs Stave, module in Stave and chipID_on_module SW IDs

Definition at line 172 of file ChipMappingITS.h.

◆ getGlobalChipIDSW()

uint16_t o2::itsmft::ChipMappingITS::getGlobalChipIDSW ( int  lay,
int  staSW,
int  modSW,
int  chipInModSW 
) const
inline

get SW id of the RU from RU HW id

Definition at line 196 of file ChipMappingITS.h.

◆ getLayer()

static constexpr int o2::itsmft::ChipMappingITS::getLayer ( int  chipSW)
inlinestaticconstexpr

Definition at line 297 of file ChipMappingITS.h.

◆ getLocalChipID()

uint16_t o2::itsmft::ChipMappingITS::getLocalChipID ( uint16_t  globalID,
int  cableHW,
const RUInfo ruInfo 
) const
inline

get chip global SW ID from chipID on module, cable SW ID and stave (RU) info

Definition at line 145 of file ChipMappingITS.h.

◆ getName()

static constexpr std::string_view o2::itsmft::ChipMappingITS::getName ( )
inlinestaticconstexpr

Definition at line 51 of file ChipMappingITS.h.

◆ getNCablesOnRUType()

int o2::itsmft::ChipMappingITS::getNCablesOnRUType ( int  ruType) const
inline

get pattern of lanes on the RU served by a given RU type

Definition at line 251 of file ChipMappingITS.h.

◆ getNChips() [1/2]

static constexpr int o2::itsmft::ChipMappingITS::getNChips ( )
inlinestaticconstexpr

number of chips per barrel

Definition at line 63 of file ChipMappingITS.h.

◆ getNChips() [2/2]

static constexpr int o2::itsmft::ChipMappingITS::getNChips ( int  b)
inlinestaticconstexpr

number of staves on layer

Definition at line 66 of file ChipMappingITS.h.

◆ getNChipsOnLayer()

static constexpr int o2::itsmft::ChipMappingITS::getNChipsOnLayer ( int  lr)
inlinestaticconstexpr

Definition at line 308 of file ChipMappingITS.h.

◆ getNChipsOnRUType()

int o2::itsmft::ChipMappingITS::getNChipsOnRUType ( int  ruType) const
inline

get RU type from the sequential ID of the RU

Definition at line 257 of file ChipMappingITS.h.

◆ getNChipsPerCable()

int o2::itsmft::ChipMappingITS::getNChipsPerCable ( int  ruType)
inline

get number cables on the RU served by a given RU type

Definition at line 248 of file ChipMappingITS.h.

◆ getNChipsPerLr()

static constexpr int o2::itsmft::ChipMappingITS::getNChipsPerLr ( int  l)
inlinestaticconstexpr

compose FEEid for given stave (ru) relative to layer and link, see documentation in the constructor

Definition at line 75 of file ChipMappingITS.h.

◆ getNModulesPerStave()

static constexpr int o2::itsmft::ChipMappingITS::getNModulesPerStave ( int  ruType)
inlinestaticconstexpr

Definition at line 307 of file ChipMappingITS.h.

◆ getNRUs()

static constexpr int o2::itsmft::ChipMappingITS::getNRUs ( )
inlinestaticconstexpr

total number of chips

Definition at line 60 of file ChipMappingITS.h.

◆ getNStavesOnLr()

static constexpr int o2::itsmft::ChipMappingITS::getNStavesOnLr ( int  l)
inlinestaticconstexpr

first staves of layer

Definition at line 69 of file ChipMappingITS.h.

◆ getOrigin()

static constexpr o2::header::DataOrigin o2::itsmft::ChipMappingITS::getOrigin ( )
inlinestaticconstexpr

Definition at line 52 of file ChipMappingITS.h.

◆ getOverlapsInfo()

std::vector< ChipMappingITS::Overlaps > ChipMappingITS::getOverlapsInfo ( ) const

Definition at line 258 of file ChipMappingITS.cxx.

◆ getRUDetectorField()

static constexpr std::int16_t o2::itsmft::ChipMappingITS::getRUDetectorField ( )
inlinestaticconstexpr

total number of RUs

Definition at line 57 of file ChipMappingITS.h.

◆ getRUIDSW()

int o2::itsmft::ChipMappingITS::getRUIDSW ( int  lr,
int  ruOnLr 
) const
inline

Definition at line 285 of file ChipMappingITS.h.

◆ getRUInfoFEEId()

const RUInfo * o2::itsmft::ChipMappingITS::getRUInfoFEEId ( int  feeID) const
inline

get number of chips served by single cable on given RU type

Definition at line 233 of file ChipMappingITS.h.

◆ getRUInfoSW()

const RUInfo * o2::itsmft::ChipMappingITS::getRUInfoSW ( int  ruSW) const
inline

get info on sw RU

Definition at line 230 of file ChipMappingITS.h.

◆ getRUType()

int o2::itsmft::ChipMappingITS::getRUType ( int  ruID) const
inline

convert HW id of chip in the module to SW ID (sequential ID on the module)

< get the RU type corresponding to RU with secuential number ruID

Definition at line 260 of file ChipMappingITS.h.

◆ imposeFEEId2RUSW()

void ChipMappingITS::imposeFEEId2RUSW ( uint16_t  feeID,
uint16_t  ruSW 
)

modify linkID field in FEEId

Definition at line 243 of file ChipMappingITS.cxx.

◆ modifyLinkInFEEId()

uint16_t o2::itsmft::ChipMappingITS::modifyLinkInFEEId ( uint16_t  feeID,
uint16_t  linkID 
) const
inline

expand SW chip ID to SW (continuous) id's for layer, stave, substave etc.

Definition at line 95 of file ChipMappingITS.h.

◆ print()

void ChipMappingITS::print ( ) const

Definition at line 184 of file ChipMappingITS.cxx.

◆ RUSW2FEEId()

uint16_t o2::itsmft::ChipMappingITS::RUSW2FEEId ( uint16_t  sw,
uint16_t  linkID = 0 
) const
inline

get layer of the RU (from the software id of the RU)

Definition at line 217 of file ChipMappingITS.h.

◆ RUSW2Layer()

uint16_t o2::itsmft::ChipMappingITS::RUSW2Layer ( uint16_t  sw) const
inline

get layer of the RU (from the software id of the RU)

Definition at line 224 of file ChipMappingITS.h.

◆ RUSW2RUType()

uint16_t o2::itsmft::ChipMappingITS::RUSW2RUType ( uint16_t  sw) const
inline

get info on sw RU

Definition at line 227 of file ChipMappingITS.h.

Member Data Documentation

◆ IB

constexpr int o2::itsmft::ChipMappingITS::IB = 0
staticconstexpr

Definition at line 314 of file ChipMappingITS.h.

◆ MB

constexpr int o2::itsmft::ChipMappingITS::MB = 1
static

Definition at line 314 of file ChipMappingITS.h.

◆ NLayers

constexpr int o2::itsmft::ChipMappingITS::NLayers = 7
static

Definition at line 314 of file ChipMappingITS.h.

◆ NLinks

constexpr int o2::itsmft::ChipMappingITS::NLinks = 3
static

Definition at line 314 of file ChipMappingITS.h.

◆ NSubB

constexpr int o2::itsmft::ChipMappingITS::NSubB = 3
static

Definition at line 314 of file ChipMappingITS.h.

◆ OB

constexpr int o2::itsmft::ChipMappingITS::OB = 2
static

Definition at line 314 of file ChipMappingITS.h.


The documentation for this class was generated from the following files: