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

#include <ReadoutConfig.h>

Public Member Functions

 ReadoutConfig (const ReadoutSetup &pars)
 Constructor.
 
virtual ~ReadoutConfig ()
 Destructor.
 
i32 GetSystemTimeOffset () const
 System time offset for BMon.
 
std::vector< uint16_t > GetEquipmentIds ()
 Equipment in the configuration.
 
size_t GetNumElinks (uint16_t equipmentId)
 Number of elinks of a component.
 
std::vector< uint32_t > Map (uint16_t equipId, uint16_t elink)
 API: Mapping from component and elink to addresses per channel.
 
int32_t GetElinkTimeOffset (uint16_t equipId, uint16_t elink)
 API: Mapping from component and elink to time offset.
 

Private Member Functions

void Init (const ReadoutSetup &pars)
 Initialisation of readout map.
 
void BuildChannelsUidMap (const ReadoutSetup &pars)
 
void BuildChannelsUidMapBmon (uint32_t &uCh, uint32_t uGbtx, const ReadoutSetup &pars)
 
void BuildChannelsUidMapBmon_2022 (uint32_t &uCh, uint32_t uGbtx, const ReadoutSetup &pars)
 

Private Attributes

int32_t fTimeOffset = 0
 
std::map< uint16_t, std::vector< int32_t > > fTimeOffsetMap = {}
 
std::map< uint16_t, std::vector< std::vector< uint32_t > > > fReadoutMap = {}
 
std::vector< int32_t > fviRpcChUId = {}
 UID/address for each channel, build from type, side and module.
 

Detailed Description

Definition at line 70 of file bmon/ReadoutConfig.h.

Constructor & Destructor Documentation

◆ ReadoutConfig()

cbm::algo::bmon::ReadoutConfig::ReadoutConfig ( const ReadoutSetup & pars)

Constructor.

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

References Init().

◆ ~ReadoutConfig()

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

Destructor.

Definition at line 26 of file bmon/ReadoutConfig.cxx.

Member Function Documentation

◆ BuildChannelsUidMap()

void cbm::algo::bmon::ReadoutConfig::BuildChannelsUidMap ( const ReadoutSetup & pars)
private

◆ BuildChannelsUidMapBmon()

void cbm::algo::bmon::ReadoutConfig::BuildChannelsUidMapBmon ( uint32_t & uCh,
uint32_t uGbtx,
const ReadoutSetup & pars )
private

◆ BuildChannelsUidMapBmon_2022()

void cbm::algo::bmon::ReadoutConfig::BuildChannelsUidMapBmon_2022 ( uint32_t & uCh,
uint32_t uGbtx,
const ReadoutSetup & pars )
private

Mapping for the 2022 beamtime

1 channel per physical GET4, 2 links per physical GET4, 4 physical GET4s per GBTx, 1 GBTx per comp. 16 channels for one side, 16 for the other

Type hard-coded to allow different parameter values to separate 2022 Bmon and pre-2022 Bmon

Definition at line 244 of file bmon/ReadoutConfig.cxx.

References cbm::algo::bmon::ReadoutSetup::crobs, fviRpcChUId, CbmTofAddress::GetUniqueAddress(), L_, cbm::algo::bmon::ReadoutSetup::nChannelsPerAsic, and cbm::algo::bmon::ReadoutSetup::NElinksPerCrob().

Referenced by BuildChannelsUidMap().

◆ GetElinkTimeOffset()

int32_t cbm::algo::bmon::ReadoutConfig::GetElinkTimeOffset ( uint16_t equipId,
uint16_t elink )

API: Mapping from component and elink to time offset.

Parameters
equipIdEquipment identifier (component)
elinkElink number within component
Returns
Time Offset

Definition at line 66 of file bmon/ReadoutConfig.cxx.

References fTimeOffsetMap.

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

◆ GetEquipmentIds()

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

Equipment in the configuration.

Returns
Vector of equipment IDs

Definition at line 30 of file bmon/ReadoutConfig.cxx.

References fReadoutMap.

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

◆ GetNumElinks()

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

Number of elinks of a component.

Parameters
EquipmentID
Returns
Number of elinks

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

References fReadoutMap.

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

◆ GetSystemTimeOffset()

i32 cbm::algo::bmon::ReadoutConfig::GetSystemTimeOffset ( ) const
inline

System time offset for BMon.

Returns
Value of system time offset

Definition at line 82 of file bmon/ReadoutConfig.h.

References fTimeOffset.

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

◆ Init()

◆ Map()

std::vector< uint32_t > cbm::algo::bmon::ReadoutConfig::Map ( uint16_t equipId,
uint16_t elink )

API: Mapping from component and elink to addresses per channel.

Parameters
equipIdEquipment identifier (component)
elinkElink number within component
Returns
Vector of TOF addresses, indexed via channel number

Definition at line 51 of file bmon/ReadoutConfig.cxx.

References fReadoutMap.

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

Member Data Documentation

◆ fReadoutMap

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

Definition at line 119 of file bmon/ReadoutConfig.h.

Referenced by GetEquipmentIds(), GetNumElinks(), Init(), and Map().

◆ fTimeOffset

int32_t cbm::algo::bmon::ReadoutConfig::fTimeOffset = 0
private

Definition at line 111 of file bmon/ReadoutConfig.h.

Referenced by GetSystemTimeOffset(), and Init().

◆ fTimeOffsetMap

std::map<uint16_t, std::vector<int32_t> > cbm::algo::bmon::ReadoutConfig::fTimeOffsetMap = {}
private

Definition at line 115 of file bmon/ReadoutConfig.h.

Referenced by GetElinkTimeOffset(), and Init().

◆ fviRpcChUId

std::vector<int32_t> cbm::algo::bmon::ReadoutConfig::fviRpcChUId = {}
private

UID/address for each channel, build from type, side and module.

Definition at line 124 of file bmon/ReadoutConfig.h.

Referenced by BuildChannelsUidMap(), BuildChannelsUidMapBmon(), BuildChannelsUidMapBmon_2022(), and Init().


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