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

#include <ReadoutConfig.h>

Public Member Functions

 ReadoutConfig (const ReadoutSetup &pars)
 Constructor.
 
 ~ReadoutConfig ()
 Destructor.
 
i32 GetSystemTimeOffset () const
 System time offset for TOF.
 
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 Types

using CROB = ReadoutSetup::CROB
 

Private Member Functions

void Init (const ReadoutSetup &pars)
 Initialisation of readout map.
 
int32_t ElinkIdxToGet4Idx (uint32_t elink, const ReadoutSetup &pars)
 Mapping to eLink to ASIC number within DPB. Mapping is the same for each DPB.
 
int32_t ElinkIdxToGet4IdxInner (uint32_t elink, const ReadoutSetup &pars)
 Mapping to eLink to ASIC number within DPB for 2024 inner TOF FEBs. Mapping is the same for each DPB.
 
int32_t Get4ChanToPadiChan (uint32_t channelInFee, const ReadoutSetup &pars)
 
void BuildChannelsUidMap (const ReadoutSetup &pars)
 
void BuildChannelsUidMapCbm (uint32_t &uCh, const CROB &crob)
 
void BuildChannelsUidMapStar (uint32_t &uCh, const CROB &crob)
 
void BuildChannelsUidMapCern (uint32_t &uCh, const CROB &crob)
 
void BuildChannelsUidMapCera (uint32_t &uCh, const CROB &crob)
 
void BuildChannelsUidMapStar2 (uint32_t &uCh, const CROB &crob)
 
void BuildChannelsUidMapStar2Inner (uint32_t &uCh, const CROB &crob)
 
void BuildChannelsUidMapBuc (uint32_t &uCh, const CROB &crob)
 

Private Attributes

int32_t fTimeOffset = 0
 
std::map< uint16_t, std::vector< uint64_t > > fTimeOffsetMap = {}
 
std::map< uint16_t, std::vector< std::vector< uint32_t > > > fReadoutMap = {}
 
std::vector< int32_t > fviRpcChUId = {}
 

Detailed Description

Definition at line 76 of file tof/ReadoutConfig.h.

Member Typedef Documentation

◆ CROB

Constructor & Destructor Documentation

◆ ReadoutConfig()

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

Constructor.

Definition at line 23 of file tof/ReadoutConfig.cxx.

References Init().

◆ ~ReadoutConfig()

cbm::algo::tof::ReadoutConfig::~ReadoutConfig ( )

Destructor.

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

Member Function Documentation

◆ BuildChannelsUidMap()

◆ BuildChannelsUidMapBuc()

void cbm::algo::tof::ReadoutConfig::BuildChannelsUidMapBuc ( uint32_t & uCh,
const CROB & crob )
private

◆ BuildChannelsUidMapCbm()

void cbm::algo::tof::ReadoutConfig::BuildChannelsUidMapCbm ( uint32_t & uCh,
const CROB & crob )
private

◆ BuildChannelsUidMapCera()

void cbm::algo::tof::ReadoutConfig::BuildChannelsUidMapCera ( uint32_t & uCh,
const CROB & crob )
private

Definition at line 411 of file tof/ReadoutConfig.cxx.

References fviRpcChUId, CbmTofAddress::GetUniqueAddress(), and L_.

Referenced by BuildChannelsUidMap().

◆ BuildChannelsUidMapCern()

void cbm::algo::tof::ReadoutConfig::BuildChannelsUidMapCern ( uint32_t & uCh,
const CROB & crob )
private

Definition at line 385 of file tof/ReadoutConfig.cxx.

References fviRpcChUId, CbmTofAddress::GetUniqueAddress(), and L_.

Referenced by BuildChannelsUidMap().

◆ BuildChannelsUidMapStar()

void cbm::algo::tof::ReadoutConfig::BuildChannelsUidMapStar ( uint32_t & uCh,
const CROB & crob )
private

◆ BuildChannelsUidMapStar2()

void cbm::algo::tof::ReadoutConfig::BuildChannelsUidMapStar2 ( uint32_t & uCh,
const CROB & crob )
private

◆ BuildChannelsUidMapStar2Inner()

void cbm::algo::tof::ReadoutConfig::BuildChannelsUidMapStar2Inner ( uint32_t & uCh,
const CROB & crob )
private

◆ ElinkIdxToGet4Idx()

int32_t cbm::algo::tof::ReadoutConfig::ElinkIdxToGet4Idx ( uint32_t elink,
const ReadoutSetup & pars )
private

Mapping to eLink to ASIC number within DPB. Mapping is the same for each DPB.

Definition at line 118 of file tof/ReadoutConfig.cxx.

References cbm::algo::tof::ReadoutSetup::elink2Asic, gdpbv100::kuChipIdMergedEpoch, cbm::algo::tof::ReadoutSetup::NElinksPerComponent(), and cbm::algo::tof::ReadoutSetup::NElinksPerCrob().

Referenced by Init().

◆ ElinkIdxToGet4IdxInner()

int32_t cbm::algo::tof::ReadoutConfig::ElinkIdxToGet4IdxInner ( uint32_t elink,
const ReadoutSetup & pars )
private

Mapping to eLink to ASIC number within DPB for 2024 inner TOF FEBs. Mapping is the same for each DPB.

Definition at line 132 of file tof/ReadoutConfig.cxx.

References cbm::algo::tof::ReadoutSetup::elink2AsicInner, gdpbv100::kuChipIdMergedEpoch, cbm::algo::tof::ReadoutSetup::NElinksPerComponent(), and cbm::algo::tof::ReadoutSetup::NElinksPerCrob().

Referenced by Init().

◆ Get4ChanToPadiChan()

int32_t cbm::algo::tof::ReadoutConfig::Get4ChanToPadiChan ( uint32_t channelInFee,
const ReadoutSetup & pars )
private

◆ GetElinkTimeOffset()

int32_t cbm::algo::tof::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 67 of file tof/ReadoutConfig.cxx.

References fTimeOffsetMap.

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

◆ GetEquipmentIds()

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

Equipment in the configuration.

Returns
Vector of equipment IDs

Definition at line 31 of file tof/ReadoutConfig.cxx.

References fReadoutMap.

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

◆ GetNumElinks()

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

Number of elinks of a component.

Parameters
EquipmentID
Returns
Number of elinks

Definition at line 41 of file tof/ReadoutConfig.cxx.

References fReadoutMap.

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

◆ GetSystemTimeOffset()

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

System time offset for TOF.

Returns
Value of system time offset

Definition at line 90 of file tof/ReadoutConfig.h.

References fTimeOffset.

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

◆ Init()

◆ Map()

std::vector< uint32_t > cbm::algo::tof::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 52 of file tof/ReadoutConfig.cxx.

References fReadoutMap.

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

Member Data Documentation

◆ fReadoutMap

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

Definition at line 127 of file tof/ReadoutConfig.h.

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

◆ fTimeOffset

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

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

Referenced by GetSystemTimeOffset(), and Init().

◆ fTimeOffsetMap

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

Definition at line 123 of file tof/ReadoutConfig.h.

Referenced by GetElinkTimeOffset(), and Init().

◆ fviRpcChUId


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