CbmRoot
|
Provides the hardware-to-software address mapping for the CBM-STS. More...
#include <ReadoutConfig.h>
Classes | |
struct | Entry |
Public Member Functions | |
ReadoutConfig ()=default | |
Empty mapping. | |
ReadoutConfig (const ReadoutSetup &, const ChannelMaskSet &) | |
Constructor. | |
std::vector< u16 > | GetEquipmentIds () |
Equipment in the configuration. | |
size_t | GetNumElinks (u16 equipmentId) |
Number of elinks of a component. | |
size_t | GetNumElinks () |
Total number of elinks for STS. | |
Entry | Map (u16 equipId, u16 elink) |
API: Mapping from component and elink to address / ASIC number + pulser flag. | |
std::vector< bool > | MaskMap (uint16_t equipId, uint16_t elink) |
API: Mapping from component and elink to channel mask flags. | |
uint32_t | AdcCutMap (uint16_t equipId, uint16_t elink) |
API: Mapping from component and elink to minimum adc cut. | |
std::string | PrintReadoutMap () |
Debug output of readout map. | |
Private Member Functions | |
void | Init (const ReadoutSetup &, const ChannelMaskSet &) |
Initialisation of readout map. | |
Private Attributes | |
std::map< u16, std::vector< Entry > > | fReadoutConfig = {} |
std::map< uint16_t, std::map< size_t, uint32_t > > | fAdcCutMap = {} |
std::map< uint16_t, std::map< size_t, std::vector< bool > > > | fMaskMap = {} |
Provides the hardware-to-software address mapping for the CBM-STS.
The hardware address as provided in the raw data stream is specified in terms of the equipment identifier (specific to one FLES component) and the elink number with in component. This is to be translated into the module address and the ASIC number within the module.
Definition at line 100 of file sts/ReadoutConfig.h.
|
default |
Empty mapping.
sts::ReadoutConfig::ReadoutConfig | ( | const ReadoutSetup & | config, |
const ChannelMaskSet & | chanMaskSet ) |
Constructor.
Definition at line 40 of file sts/ReadoutConfig.cxx.
uint32_t sts::ReadoutConfig::AdcCutMap | ( | uint16_t | equipId, |
uint16_t | elink ) |
API: Mapping from component and elink to minimum adc cut.
equipId | Equipment identifier (component) |
elink | Elink number within component |
Definition at line 184 of file sts/ReadoutConfig.cxx.
Referenced by cbm::algo::sts::Unpack::Unpack().
std::vector< u16 > sts::ReadoutConfig::GetEquipmentIds | ( | ) |
Equipment in the configuration.
Definition at line 45 of file sts/ReadoutConfig.cxx.
Referenced by cbm::algo::sts::Unpack::Unpack().
size_t sts::ReadoutConfig::GetNumElinks | ( | ) |
Total number of elinks for STS.
Definition at line 61 of file sts/ReadoutConfig.cxx.
size_t sts::ReadoutConfig::GetNumElinks | ( | u16 | equipmentId | ) |
Number of elinks of a component.
Equipment | ID |
Definition at line 53 of file sts/ReadoutConfig.cxx.
Referenced by cbm::algo::sts::Unpack::Unpack().
|
private |
Initialisation of readout map.
< Number of channels per ASIC
Definition at line 70 of file sts/ReadoutConfig.cxx.
References cbm::algo::sts::ReadoutSetup::components, cbm::algo::sts::ReadoutSetup::GetElinks(), cbm::algo::sts::ReadoutSetup::modules, cbm::algo::sts::ReadoutSetup::numAsicsPerFeb, and cbm::algo::sts::ChannelMaskSet::values.
sts::ReadoutConfig::Entry sts::ReadoutConfig::Map | ( | u16 | equipId, |
u16 | elink ) |
API: Mapping from component and elink to address / ASIC number + pulser flag.
equipId | Equipment identifier (component) |
elink | Elink number within component |
Definition at line 158 of file sts/ReadoutConfig.cxx.
Referenced by cbm::algo::sts::Unpack::Unpack().
std::vector< bool > sts::ReadoutConfig::MaskMap | ( | uint16_t | equipId, |
uint16_t | elink ) |
API: Mapping from component and elink to channel mask flags.
equipId | Equipment identifier (component) |
elink | Elink number within component |
Definition at line 170 of file sts/ReadoutConfig.cxx.
Referenced by cbm::algo::sts::Unpack::Unpack().
std::string sts::ReadoutConfig::PrintReadoutMap | ( | ) |
Debug output of readout map.
Definition at line 198 of file sts/ReadoutConfig.cxx.
References CbmStsAddress::GetElementId(), kStsHalfLadder, kStsLadder, kStsModule, and kStsUnit.
|
private |
Definition at line 163 of file sts/ReadoutConfig.h.
|
private |
Definition at line 167 of file sts/ReadoutConfig.h.
Definition at line 159 of file sts/ReadoutConfig.h.