CbmRoot
Loading...
Searching...
No Matches
cbm::algo::sts::ReadoutConfig Class Reference

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< u16GetEquipmentIds ()
 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 = {}
 

Detailed Description

Provides the hardware-to-software address mapping for the CBM-STS.

Author
Volker Friese v.fri.nosp@m.ese@.nosp@m.gsi.d.nosp@m.e
Since
3 March 2022

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.

Constructor & Destructor Documentation

◆ ReadoutConfig() [1/2]

cbm::algo::sts::ReadoutConfig::ReadoutConfig ( )
default

Empty mapping.

◆ ReadoutConfig() [2/2]

sts::ReadoutConfig::ReadoutConfig ( const ReadoutSetup & config,
const ChannelMaskSet & chanMaskSet )

Constructor.

Definition at line 40 of file sts/ReadoutConfig.cxx.

Member Function Documentation

◆ AdcCutMap()

uint32_t sts::ReadoutConfig::AdcCutMap ( uint16_t equipId,
uint16_t elink )

API: Mapping from component and elink to minimum adc cut.

Parameters
equipIdEquipment identifier (component)
elinkElink number within component
Returns
adc cut

Definition at line 184 of file sts/ReadoutConfig.cxx.

Referenced by cbm::algo::sts::Unpack::Unpack().

◆ GetEquipmentIds()

std::vector< u16 > sts::ReadoutConfig::GetEquipmentIds ( )

Equipment in the configuration.

Returns
Vector of equipment IDs

Definition at line 45 of file sts/ReadoutConfig.cxx.

Referenced by cbm::algo::sts::Unpack::Unpack().

◆ GetNumElinks() [1/2]

size_t sts::ReadoutConfig::GetNumElinks ( )

Total number of elinks for STS.

Returns
Number of elinks

Definition at line 61 of file sts/ReadoutConfig.cxx.

◆ GetNumElinks() [2/2]

size_t sts::ReadoutConfig::GetNumElinks ( u16 equipmentId)

Number of elinks of a component.

Parameters
EquipmentID
Returns
Number of elinks

Definition at line 53 of file sts/ReadoutConfig.cxx.

Referenced by cbm::algo::sts::Unpack::Unpack().

◆ Init()

void sts::ReadoutConfig::Init ( const ReadoutSetup & config,
const ChannelMaskSet & chanMaskSet )
private

◆ Map()

sts::ReadoutConfig::Entry sts::ReadoutConfig::Map ( u16 equipId,
u16 elink )

API: Mapping from component and elink to address / ASIC number + pulser flag.

Parameters
equipIdEquipment identifier (component)
elinkElink number within component
Returns
(module address, ASIC number within module)

Definition at line 158 of file sts/ReadoutConfig.cxx.

Referenced by cbm::algo::sts::Unpack::Unpack().

◆ MaskMap()

std::vector< bool > sts::ReadoutConfig::MaskMap ( uint16_t equipId,
uint16_t elink )

API: Mapping from component and elink to channel mask flags.

Parameters
equipIdEquipment identifier (component)
elinkElink number within component
Returns
(vector of mask flags for channels per asic)

Definition at line 170 of file sts/ReadoutConfig.cxx.

Referenced by cbm::algo::sts::Unpack::Unpack().

◆ PrintReadoutMap()

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.

Member Data Documentation

◆ fAdcCutMap

std::map<uint16_t, std::map<size_t, uint32_t> > cbm::algo::sts::ReadoutConfig::fAdcCutMap = {}
private

Definition at line 163 of file sts/ReadoutConfig.h.

◆ fMaskMap

std::map<uint16_t, std::map<size_t, std::vector<bool> > > cbm::algo::sts::ReadoutConfig::fMaskMap = {}
private

Definition at line 167 of file sts/ReadoutConfig.h.

◆ fReadoutConfig

std::map<u16, std::vector<Entry> > cbm::algo::sts::ReadoutConfig::fReadoutConfig = {}
private

Definition at line 159 of file sts/ReadoutConfig.h.


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