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

Provides the hardware-to-software address mapping for the CBM-RICH. More...

#include <ReadoutConfig.h>

Public Member Functions

 ReadoutConfig ()
 Constructor.
 
virtual ~ReadoutConfig ()
 Destructor.
 
std::vector< uint16_t > GetEquipmentIds ()
 Equipment in the configuration.
 
size_t GetNumElinks (uint16_t equipmentId)
 Number of elinks of a component.
 
size_t GetNumElinks ()
 Total number of elinks for RICH.
 
double Map (uint16_t equipmentId, uint32_t address, uint16_t chan)
 API: Mapping from component, address and channel to tot shift.
 
std::map< uint32_t, std::vector< double > > Map (uint16_t equipmentId)
 API: Returns map from address and channel to tot shift for component.
 
std::string PrintReadoutMap ()
 Debug output of readout map.
 

Private Member Functions

void Init ()
 Initialisation of readout map.
 

Private Attributes

std::map< uint16_t, std::map< uint32_t, std::vector< double > > > fReadoutMap = {}
 

Detailed Description

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

Author
Dominik Smith d.smi.nosp@m.th@g.nosp@m.si.de
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 trb address within component. This is to be translated to a tot shift value. The mapping of the address spaces is hard-coded in this class.

Definition at line 29 of file rich/ReadoutConfig.h.

Constructor & Destructor Documentation

◆ ReadoutConfig()

cbm::algo::rich::ReadoutConfig::ReadoutConfig ( )

Constructor.

Definition at line 17 of file rich/ReadoutConfig.cxx.

References Init().

◆ ~ReadoutConfig()

cbm::algo::rich::ReadoutConfig::~ReadoutConfig ( )
virtual

Destructor.

Definition at line 22 of file rich/ReadoutConfig.cxx.

Member Function Documentation

◆ GetEquipmentIds()

std::vector< uint16_t > cbm::algo::rich::ReadoutConfig::GetEquipmentIds ( )

Equipment in the configuration.

Returns
Vector of equipment IDs

Definition at line 27 of file rich/ReadoutConfig.cxx.

References fReadoutMap.

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

◆ GetNumElinks() [1/2]

size_t cbm::algo::rich::ReadoutConfig::GetNumElinks ( )

Total number of elinks for RICH.

Returns
Number of elinks

Definition at line 49 of file rich/ReadoutConfig.cxx.

References fReadoutMap.

◆ GetNumElinks() [2/2]

size_t cbm::algo::rich::ReadoutConfig::GetNumElinks ( uint16_t equipmentId)

Number of elinks of a component.

Parameters
EquipmentID
Returns
Number of elinks

Definition at line 38 of file rich/ReadoutConfig.cxx.

References fReadoutMap.

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

◆ Init()

void cbm::algo::rich::ReadoutConfig::Init ( )
private

Initialisation of readout map.

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

References fReadoutMap.

Referenced by ReadoutConfig().

◆ Map() [1/2]

std::map< uint32_t, std::vector< double > > cbm::algo::rich::ReadoutConfig::Map ( uint16_t equipmentId)

API: Returns map from address and channel to tot shift for component.

Parameters
equipIdEquipment identifier (component)
Returns
map: (address, channel) - > tot shift

Definition at line 346 of file rich/ReadoutConfig.cxx.

References fReadoutMap.

◆ Map() [2/2]

double cbm::algo::rich::ReadoutConfig::Map ( uint16_t equipmentId,
uint32_t address,
uint16_t chan )

API: Mapping from component, address and channel to tot shift.

Parameters
equipIdEquipment identifier (component)
addresstrb address within component
chanchannel within trb address
Returns
tot shift

Definition at line 328 of file rich/ReadoutConfig.cxx.

References fReadoutMap.

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

◆ PrintReadoutMap()

std::string cbm::algo::rich::ReadoutConfig::PrintReadoutMap ( )

Debug output of readout map.

Definition at line 359 of file rich/ReadoutConfig.cxx.

References fReadoutMap.

Member Data Documentation

◆ fReadoutMap

std::map<uint16_t, std::map<uint32_t, std::vector<double> > > cbm::algo::rich::ReadoutConfig::fReadoutMap = {}
private

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