16#ifndef O2_MID_CRATEPARAMETERS_H
17#define O2_MID_CRATEPARAMETERS_H
28static constexpr unsigned int sNCratesPerSide = 8;
29static constexpr unsigned int sNCrates = 2 * sNCratesPerSide;
30static constexpr unsigned int sNGBTsPerCrate = 2;
31static constexpr unsigned int sNGBTsPerSide = sNGBTsPerCrate * sNCratesPerSide;
32static constexpr unsigned int sNGBTs = 2 * sNGBTsPerSide;
33static constexpr unsigned int sMaxNBoardsInLink = 8;
34static constexpr unsigned int sMaxNBoardsInCrate = sMaxNBoardsInLink * sNGBTsPerCrate;
35static constexpr unsigned int sNELinksPerGBT = 10;
38inline uint16_t
makeGBTUniqueId(uint8_t crateId, uint8_t gbtId) {
return sNGBTsPerCrate * crateId + gbtId; }
42inline uint8_t
getGBTIdInCrate(uint16_t gbtUniqueId) {
return gbtUniqueId % sNGBTsPerCrate; }
50inline bool isRightSide(uint8_t crateId) {
return (crateId / sNCratesPerSide) == 0; }
bool isRightSide(uint8_t crateId)
Tests if the crate is in the right side.
uint8_t getCrateIdFromGBTUniqueId(uint16_t gbtUniqueId)
Gets the crate ID from the GBT unique ID.
uint8_t getLocIdInCrate(uint16_t gbtUniqueId, int iloc)
uint8_t getGBTIdInCrate(uint16_t gbtUniqueId)
Gets the link ID in crate from the RO ID.
uint16_t makeGBTUniqueId(uint8_t crateId, uint8_t gbtId)
Builds the GBT unique ID from the crate ID and the GBT ID in the crate.
uint8_t getCrateId(bool isRightSide, uint8_t crateIdOneSide)
Gets the absolute crate ID.
uint8_t getGBTIdFromBoardInCrate(uint8_t locId)
Gets the link ID in crate from the board ID.
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...