CbmRoot
Loading...
Searching...
No Matches
CbmStsUnpackConfig Class Reference

#include <CbmStsUnpackConfig.h>

Inheritance diagram for CbmStsUnpackConfig:
[legend]
Collaboration diagram for CbmStsUnpackConfig:
[legend]

Classes

struct  FebChanMaskReco
 

Public Member Functions

 CbmStsUnpackConfig (std::string detGeoSetupTag, UInt_t runid=0)
 Create the Cbm Sts Unpack Task object.
 
virtual ~CbmStsUnpackConfig ()
 Destroy the Cbm Sts Unpack Task object.
 
 CbmStsUnpackConfig (const CbmStsUnpackConfig &)=delete
 Copy constructor - not implemented.
 
CbmStsUnpackConfigoperator= (const CbmStsUnpackConfig &)=delete
 Assignment operator - not implemented.
 
std::shared_ptr< CbmStsUnpackMonitorGetMonitor ()
 Get the potentially added monitor.
 
void InitAlgo ()
 Initialize the algorithm, should include all steps needing te parameter objects to be present. In this function most initialization steps of the unpacker algorithms happen.
 
void MaskNoisyChannel (UInt_t uFeb, UInt_t uChan, Bool_t bMasked=kTRUE)
 
void SetAsicTimeOffset (size_t asicid, double value)
 Set the Asic Time Offset.
 
void SetWalkMap (const std::map< uint32_t, CbmStsParModule > &mapIn)
 Set Time-Walk correction map.
 
void SetDuplicatesRejection (bool bIn=true, bool bDiffAdc=true)
 Enable/Disable the duplicate digis rejection, without or with same ADC checks.
 
void SetMinAdcCut (uint32_t value)
 Set the minimum adc cut value.
 
void SetMinAdcCut (uint32_t febid, uint32_t value)
 
void SetMonitor (std::shared_ptr< CbmStsUnpackMonitor > value)
 Add a monitor to the unpacker.
 
void SetFwBinning (bool useFwBinning)
 Enable/Disable firmware binning (switch only supported by legacy algo)
 

Protected Member Functions

virtual std::shared_ptr< CbmStsUnpackAlgoBasechooseAlgo ()
 Choose the derived unpacker algorithm to be used for the DAQ output to Digi translation. If algo was already set manually by the user this algorithm is used.
 

Protected Attributes

std::shared_ptr< CbmStsUnpackMonitorfMonitor = nullptr
 pointer to the monitor object
 
uint32_t fdAdcCut = 0
 Minimum adc cut to store a hit.
 
std::map< uint32_t, uint32_t > fdAdcCut_perFeb
 Minimum adc cut per Feb to store a hit.
 
std::vector< double > fvdTimeOffsetNsAsics = {}
 Vector with the Asic time offsets.
 
bool fbUseTimeWalkCorrection = false
 Enables time-walk correction.
 
std::map< uint32_t, CbmStsParModulefWalkMap = {}
 Time-Walk Parameters map.
 
bool fbRejectDuplicateDigis = false
 Enables the rejection of duplicate digis.
 
bool fbDupliWithoutAdc = true
 If rejecting duplicate digis, enables rejection even if ADC differs.
 
bool fbUseFwBinning = true
 Enables firmware binning (some implementations ignore this)
 
std::vector< FebChanMaskRecofvChanMasks = {}
 Temporary storage of user parameters.
 

Detailed Description

Definition at line 36 of file CbmStsUnpackConfig.h.

Constructor & Destructor Documentation

◆ CbmStsUnpackConfig() [1/2]

CbmStsUnpackConfig::CbmStsUnpackConfig ( std::string detGeoSetupTag,
UInt_t runid = 0 )

Create the Cbm Sts Unpack Task object.

Parameters
geoSetupTagGeometry setup tag for the given detector as used by CbmSetup objects
runidset if unpacker is rerun on a special run with special parameters
Remarks
We use the string instead of CbmSetup here, to not having to link against sim/steer...

Definition at line 18 of file CbmStsUnpackConfig.cxx.

◆ ~CbmStsUnpackConfig()

CbmStsUnpackConfig::~CbmStsUnpackConfig ( )
virtual

Destroy the Cbm Sts Unpack Task object.

Definition at line 23 of file CbmStsUnpackConfig.cxx.

References fWalkMap.

◆ CbmStsUnpackConfig() [2/2]

CbmStsUnpackConfig::CbmStsUnpackConfig ( const CbmStsUnpackConfig & )
delete

Copy constructor - not implemented.

Member Function Documentation

◆ chooseAlgo()

std::shared_ptr< CbmStsUnpackAlgoBase > CbmStsUnpackConfig::chooseAlgo ( )
protectedvirtual

Choose the derived unpacker algorithm to be used for the DAQ output to Digi translation. If algo was already set manually by the user this algorithm is used.

Returns
Bool_t initOk

Definition at line 68 of file CbmStsUnpackConfig.cxx.

◆ GetMonitor()

std::shared_ptr< CbmStsUnpackMonitor > CbmStsUnpackConfig::GetMonitor ( )
inline

Get the potentially added monitor.

Definition at line 68 of file CbmStsUnpackConfig.h.

References fMonitor.

◆ InitAlgo()

void CbmStsUnpackConfig::InitAlgo ( )

Initialize the algorithm, should include all steps needing te parameter objects to be present. In this function most initialization steps of the unpacker algorithms happen.

Definition at line 31 of file CbmStsUnpackConfig.cxx.

References fbDupliWithoutAdc, fbRejectDuplicateDigis, fbUseFwBinning, fdAdcCut, fdAdcCut_perFeb, fMonitor, fvChanMasks, fvdTimeOffsetNsAsics, and fWalkMap.

◆ MaskNoisyChannel()

void CbmStsUnpackConfig::MaskNoisyChannel ( UInt_t uFeb,
UInt_t uChan,
Bool_t bMasked = kTRUE )
inline

Definition at line 76 of file CbmStsUnpackConfig.h.

References fvChanMasks.

◆ operator=()

CbmStsUnpackConfig & CbmStsUnpackConfig::operator= ( const CbmStsUnpackConfig & )
delete

Assignment operator - not implemented.

◆ SetAsicTimeOffset()

void CbmStsUnpackConfig::SetAsicTimeOffset ( size_t asicid,
double value )
inline

Set the Asic Time Offset.

Parameters
asicidIdx of the ASIC with the given time offset
valuetime offset

Definition at line 88 of file CbmStsUnpackConfig.h.

References fvdTimeOffsetNsAsics.

◆ SetDuplicatesRejection()

void CbmStsUnpackConfig::SetDuplicatesRejection ( bool bIn = true,
bool bDiffAdc = true )
inline

Enable/Disable the duplicate digis rejection, without or with same ADC checks.

Definition at line 97 of file CbmStsUnpackConfig.h.

References fbDupliWithoutAdc, and fbRejectDuplicateDigis.

◆ SetFwBinning()

void CbmStsUnpackConfig::SetFwBinning ( bool useFwBinning)
inline

Enable/Disable firmware binning (switch only supported by legacy algo)

Definition at line 112 of file CbmStsUnpackConfig.h.

References fbUseFwBinning.

◆ SetMinAdcCut() [1/2]

void CbmStsUnpackConfig::SetMinAdcCut ( uint32_t febid,
uint32_t value )
inline

Definition at line 106 of file CbmStsUnpackConfig.h.

References fdAdcCut_perFeb.

◆ SetMinAdcCut() [2/2]

void CbmStsUnpackConfig::SetMinAdcCut ( uint32_t value)
inline

Set the minimum adc cut value.

Parameters
[in]value

Definition at line 104 of file CbmStsUnpackConfig.h.

References fdAdcCut.

◆ SetMonitor()

void CbmStsUnpackConfig::SetMonitor ( std::shared_ptr< CbmStsUnpackMonitor > value)
inline

Add a monitor to the unpacker.

Parameters
valueCbmStsUnpackMonitor

Definition at line 109 of file CbmStsUnpackConfig.h.

References fMonitor.

◆ SetWalkMap()

void CbmStsUnpackConfig::SetWalkMap ( const std::map< uint32_t, CbmStsParModule > & mapIn)
inline

Set Time-Walk correction map.

Definition at line 94 of file CbmStsUnpackConfig.h.

References fWalkMap.

Member Data Documentation

◆ fbDupliWithoutAdc

bool CbmStsUnpackConfig::fbDupliWithoutAdc = true
protected

If rejecting duplicate digis, enables rejection even if ADC differs.

Definition at line 144 of file CbmStsUnpackConfig.h.

Referenced by InitAlgo(), and SetDuplicatesRejection().

◆ fbRejectDuplicateDigis

bool CbmStsUnpackConfig::fbRejectDuplicateDigis = false
protected

Enables the rejection of duplicate digis.

Definition at line 141 of file CbmStsUnpackConfig.h.

Referenced by InitAlgo(), and SetDuplicatesRejection().

◆ fbUseFwBinning

bool CbmStsUnpackConfig::fbUseFwBinning = true
protected

Enables firmware binning (some implementations ignore this)

Definition at line 147 of file CbmStsUnpackConfig.h.

Referenced by InitAlgo(), and SetFwBinning().

◆ fbUseTimeWalkCorrection

bool CbmStsUnpackConfig::fbUseTimeWalkCorrection = false
protected

Enables time-walk correction.

Definition at line 135 of file CbmStsUnpackConfig.h.

◆ fdAdcCut

uint32_t CbmStsUnpackConfig::fdAdcCut = 0
protected

Minimum adc cut to store a hit.

Definition at line 126 of file CbmStsUnpackConfig.h.

Referenced by InitAlgo(), and SetMinAdcCut().

◆ fdAdcCut_perFeb

std::map<uint32_t, uint32_t> CbmStsUnpackConfig::fdAdcCut_perFeb
protected

Minimum adc cut per Feb to store a hit.

Definition at line 129 of file CbmStsUnpackConfig.h.

Referenced by InitAlgo(), and SetMinAdcCut().

◆ fMonitor

std::shared_ptr<CbmStsUnpackMonitor> CbmStsUnpackConfig::fMonitor = nullptr
protected

pointer to the monitor object

Definition at line 123 of file CbmStsUnpackConfig.h.

Referenced by GetMonitor(), InitAlgo(), and SetMonitor().

◆ fvChanMasks

std::vector<FebChanMaskReco> CbmStsUnpackConfig::fvChanMasks = {}
protected

Temporary storage of user parameters.

Definition at line 150 of file CbmStsUnpackConfig.h.

Referenced by InitAlgo(), and MaskNoisyChannel().

◆ fvdTimeOffsetNsAsics

std::vector<double> CbmStsUnpackConfig::fvdTimeOffsetNsAsics = {}
protected

Vector with the Asic time offsets.

Definition at line 132 of file CbmStsUnpackConfig.h.

Referenced by InitAlgo(), and SetAsicTimeOffset().

◆ fWalkMap

std::map<uint32_t, CbmStsParModule> CbmStsUnpackConfig::fWalkMap = {}
protected

Time-Walk Parameters map.

Definition at line 138 of file CbmStsUnpackConfig.h.

Referenced by InitAlgo(), SetWalkMap(), and ~CbmStsUnpackConfig().


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