CbmRoot
|
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 = {} |
Provides the hardware-to-software address mapping for the CBM-RICH.
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.
cbm::algo::rich::ReadoutConfig::ReadoutConfig | ( | ) |
|
virtual |
Destructor.
Definition at line 22 of file rich/ReadoutConfig.cxx.
std::vector< uint16_t > cbm::algo::rich::ReadoutConfig::GetEquipmentIds | ( | ) |
Equipment in the configuration.
Definition at line 27 of file rich/ReadoutConfig.cxx.
References fReadoutMap.
Referenced by cbm::algo::rich::Unpack::Unpack().
size_t cbm::algo::rich::ReadoutConfig::GetNumElinks | ( | ) |
Total number of elinks for RICH.
Definition at line 49 of file rich/ReadoutConfig.cxx.
References fReadoutMap.
size_t cbm::algo::rich::ReadoutConfig::GetNumElinks | ( | uint16_t | equipmentId | ) |
Number of elinks of a component.
Equipment | ID |
Definition at line 38 of file rich/ReadoutConfig.cxx.
References fReadoutMap.
Referenced by cbm::algo::rich::Unpack::Unpack().
|
private |
Initialisation of readout map.
Definition at line 61 of file rich/ReadoutConfig.cxx.
References fReadoutMap.
Referenced by ReadoutConfig().
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.
equipId | Equipment identifier (component) |
Definition at line 346 of file rich/ReadoutConfig.cxx.
References fReadoutMap.
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.
equipId | Equipment identifier (component) |
address | trb address within component |
chan | channel within trb address |
Definition at line 328 of file rich/ReadoutConfig.cxx.
References fReadoutMap.
Referenced by cbm::algo::rich::Unpack::Unpack().
std::string cbm::algo::rich::ReadoutConfig::PrintReadoutMap | ( | ) |
Debug output of readout map.
Definition at line 359 of file rich/ReadoutConfig.cxx.
References fReadoutMap.
|
private |
Definition at line 81 of file rich/ReadoutConfig.h.
Referenced by GetEquipmentIds(), GetNumElinks(), GetNumElinks(), Init(), Map(), Map(), and PrintReadoutMap().