Project
Loading...
Searching...
No Matches
RUInfo.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
12#ifndef ALICEO2_RUINFO_H
13#define ALICEO2_RUINFO_H
14
15// \file RUInfo.h
16// \brief Transient structures for ITS and MFT HW -> SW mapping
17
18#include <Rtypes.h>
19#include <cstdint>
20#include <string>
21
22namespace o2
23{
24namespace itsmft
25{
26
27struct RUInfo {
29 const std::uint16_t DUMMY16 = 0xffff;
30 const std::uint8_t DUMMY8 = 0xff;
31 uint16_t idSW = DUMMY16; // software ID
32 uint16_t idHW = DUMMY16; // hardware ID
33 uint16_t firstChipIDSW = 0xffff; // SW ID of the 1st chip of the module served by this RU
34 uint8_t layer = DUMMY8; // layer
35 uint8_t ruType = DUMMY8; // RU type (=subbarel)
36 uint8_t nCables = DUMMY8; // by how many cables it is served
37};
38
41 const std::uint8_t DUMMY8 = 0xff;
42 std::uint8_t id = DUMMY8; // chip ID within the stave (RU)
43 std::uint8_t moduleSW = DUMMY8; // sequential ID of the chip's module on stave
44 std::uint8_t moduleHW = DUMMY8; // HW ID of the chip's module on stave
45 std::uint8_t chipOnModuleSW = DUMMY8; // sequential ID of the chip on the module
46 std::uint8_t chipOnModuleHW = DUMMY8; // sequential ID of the chip on the module
47 std::uint8_t cableSW = DUMMY8; // order in which data of the cable is queried at decoding (to have chips SW IDs sorted)
48 std::uint8_t cableHW = DUMMY8; // cable HW ID
49 std::uint8_t cableHWPos = DUMMY8; // position of the bit of this cable in the activeLanes
50 std::uint8_t chipOnCable = DUMMY8; // chip within the cable (0 = master)
51
52 std::string asString() const;
53 void print() const;
54};
55
56struct ChipInfo {
57 const std::uint16_t DUMMY16 = 0xffff;
58 const std::uint8_t DUMMY8 = 0xff;
59 const ChipOnRUInfo* chOnRU = nullptr; // pointer on chip detailed info within the stave
60
61 std::uint16_t user = DUMMY16; // reserved for the user ?
62 std::uint16_t id = DUMMY16;
63 std::uint16_t ru = DUMMY16; // RU sequential id
64 std::uint16_t ruType = DUMMY16; // RU (or subBarrel) type
65
66 std::string asString() const;
67 void print() const;
68};
69} // namespace itsmft
70} // namespace o2
71
72#endif
GLenum GLuint GLint GLint layer
Definition glcorearb.h:1310
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
const std::uint16_t DUMMY16
Definition RUInfo.h:57
const std::uint8_t DUMMY8
Definition RUInfo.h:58
std::uint16_t user
Definition RUInfo.h:61
void print() const
Definition RUInfo.cxx:36
const ChipOnRUInfo * chOnRU
Definition RUInfo.h:59
std::uint16_t ru
Definition RUInfo.h:63
std::string asString() const
Definition RUInfo.cxx:31
std::uint16_t ruType
Definition RUInfo.h:64
std::uint8_t moduleSW
Definition RUInfo.h:43
std::uint8_t cableHW
Definition RUInfo.h:48
std::uint8_t chipOnCable
Definition RUInfo.h:50
std::uint8_t chipOnModuleHW
Definition RUInfo.h:46
const std::uint8_t DUMMY8
< provides details on chip location and HW labeling within the RU (stave)
Definition RUInfo.h:41
std::uint8_t cableSW
Definition RUInfo.h:47
std::uint8_t chipOnModuleSW
Definition RUInfo.h:45
std::string asString() const
Definition RUInfo.cxx:20
std::uint8_t moduleHW
Definition RUInfo.h:44
std::uint8_t cableHWPos
Definition RUInfo.h:49
const std::uint16_t DUMMY16
< provides details of the RU (e.g.stave)
Definition RUInfo.h:29
uint16_t idSW
Definition RUInfo.h:31
uint16_t firstChipIDSW
Definition RUInfo.h:33
uint8_t nCables
Definition RUInfo.h:36
const std::uint8_t DUMMY8
Definition RUInfo.h:30
uint16_t idHW
Definition RUInfo.h:32
uint8_t ruType
Definition RUInfo.h:35