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

#include <ReadoutConfig.h>

Public Member Functions

 ReadoutConfig ()
 Default Constructor if no valid YAMl file available.
 
 ReadoutConfig (const ReadoutSetup &pars)
 Constructor with Object filled from YAML data.
 
int32_t GetSystemTimeOffset () const
 System time offset for BMon.
 
uint64_t GetFrameLength ()
 Frame length in ns.
 
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.
 
std::vector< uint8_t > MaskMap (uint16_t equipId, uint16_t elink)
 API: Mapping from component and elink to channel mask flags.
 

Private Member Functions

void Init (const ReadoutSetup &)
 Initialisation of readout map with hardcoded values.
 
void InitHardcoded ()
 Initialisation of readout map from hardcoded valus, backup if YAML missing.
 

Private Attributes

int32_t fTimeOffset = 0
 Variables.
 
uint64_t fulFrameLengthNs = 5000
 
std::map< uint16_t, std::vector< std::vector< uint32_t > > > fReadoutMap = {}
 
std::map< uint16_t, std::map< size_t, std::vector< uint8_t > > > fMaskMap = {}
 

Static Private Attributes

static constexpr uint16_t numComp = 2
 Constants used for hardcoded defaults.
 
static constexpr uint16_t numCrobPerComp = 1
 Number of CROBs possible per DPB.
 
static constexpr uint16_t numElinksPerCrob = 1
 Number of elinks in each CROB ?
 

Detailed Description

Definition at line 44 of file mvd/ReadoutConfig.h.

Constructor & Destructor Documentation

◆ ReadoutConfig() [1/2]

ReadoutConfig::ReadoutConfig ( )

Default Constructor if no valid YAMl file available.

Definition at line 20 of file mvd/ReadoutConfig.cxx.

References InitHardcoded().

◆ ReadoutConfig() [2/2]

ReadoutConfig::ReadoutConfig ( const ReadoutSetup & pars)

Constructor with Object filled from YAML data.

Definition at line 24 of file mvd/ReadoutConfig.cxx.

References Init().

Member Function Documentation

◆ GetEquipmentIds()

std::vector< uint16_t > ReadoutConfig::GetEquipmentIds ( )

Equipment in the configuration.

Returns
Vector of equipment IDs

Definition at line 28 of file mvd/ReadoutConfig.cxx.

References fReadoutMap.

◆ GetFrameLength()

uint64_t cbm::algo::mvd::ReadoutConfig::GetFrameLength ( )
inline

Frame length in ns.

Returns
Frame length in ns

Definition at line 61 of file mvd/ReadoutConfig.h.

References fulFrameLengthNs.

◆ GetNumElinks()

size_t ReadoutConfig::GetNumElinks ( uint16_t equipmentId)

Number of elinks of a component.

Parameters
EquipmentID
Returns
Number of elinks

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

References fReadoutMap.

◆ GetSystemTimeOffset()

int32_t cbm::algo::mvd::ReadoutConfig::GetSystemTimeOffset ( ) const
inline

System time offset for BMon.

Returns
Value of system time offset

Definition at line 56 of file mvd/ReadoutConfig.h.

References fTimeOffset.

◆ Init()

void ReadoutConfig::Init ( const ReadoutSetup & pars)
private

◆ InitHardcoded()

void ReadoutConfig::InitHardcoded ( )
private

Initialisation of readout map from hardcoded valus, backup if YAML missing.

Definition at line 94 of file mvd/ReadoutConfig.cxx.

References fReadoutMap, L_, numComp, numCrobPerComp, and numElinksPerCrob.

Referenced by ReadoutConfig().

◆ Map()

std::vector< uint32_t > 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 MVD addresses, indexed via channel number

Definition at line 48 of file mvd/ReadoutConfig.cxx.

References fReadoutMap.

◆ MaskMap()

std::vector< uint8_t > 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 62 of file mvd/ReadoutConfig.cxx.

References fMaskMap.

Member Data Documentation

◆ fMaskMap

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

Definition at line 113 of file mvd/ReadoutConfig.h.

Referenced by MaskMap().

◆ fReadoutMap

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

Definition at line 109 of file mvd/ReadoutConfig.h.

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

◆ fTimeOffset

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

Variables.

Definition at line 103 of file mvd/ReadoutConfig.h.

Referenced by GetSystemTimeOffset(), and Init().

◆ fulFrameLengthNs

uint64_t cbm::algo::mvd::ReadoutConfig::fulFrameLengthNs = 5000
private

Definition at line 105 of file mvd/ReadoutConfig.h.

Referenced by GetFrameLength(), and Init().

◆ numComp

uint16_t cbm::algo::mvd::ReadoutConfig::numComp = 2
staticconstexprprivate

Constants used for hardcoded defaults.

Total number of Mvd DPBs in system

Definition at line 96 of file mvd/ReadoutConfig.h.

Referenced by InitHardcoded().

◆ numCrobPerComp

uint16_t cbm::algo::mvd::ReadoutConfig::numCrobPerComp = 1
staticconstexprprivate

Number of CROBs possible per DPB.

Definition at line 97 of file mvd/ReadoutConfig.h.

Referenced by InitHardcoded().

◆ numElinksPerCrob

uint16_t cbm::algo::mvd::ReadoutConfig::numElinksPerCrob = 1
staticconstexprprivate

Number of elinks in each CROB ?

Definition at line 98 of file mvd/ReadoutConfig.h.

Referenced by InitHardcoded().


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