18#ifndef CbmStsUnpackConfig_H
19#define CbmStsUnpackConfig_H
22#include "CbmRecoUnpackConfig.tmpl"
29#include <RtypesCore.h>
36class CbmStsUnpackConfig :
public CbmRecoUnpackConfig<CbmStsUnpackAlgoBase, CbmStsDigi, CbmStsDigi, CbmErrorMessage> {
120 virtual std::shared_ptr<CbmStsUnpackAlgoBase>
chooseAlgo();
123 std::shared_ptr<CbmStsUnpackMonitor>
fMonitor =
nullptr;
Baseclass for the STS unpacker algorithms.
virtual std::shared_ptr< CbmStsUnpackAlgoBase > chooseAlgo()
Choose the derived unpacker algorithm to be used for the DAQ output to Digi translation....
bool fbUseTimeWalkCorrection
Enables time-walk correction.
void MaskNoisyChannel(UInt_t uFeb, UInt_t uChan, Bool_t bMasked=kTRUE)
void SetAsicTimeOffset(size_t asicid, double value)
Set the Asic Time Offset.
CbmStsUnpackConfig & operator=(const CbmStsUnpackConfig &)=delete
Assignment operator - not implemented.
std::vector< double > fvdTimeOffsetNsAsics
Vector with the Asic time offsets.
std::shared_ptr< CbmStsUnpackMonitor > fMonitor
pointer to the monitor object
void SetFwBinning(bool useFwBinning)
Enable/Disable firmware binning (switch only supported by legacy algo)
std::map< uint32_t, uint32_t > fdAdcCut_perFeb
Minimum adc cut per Feb to store a hit.
bool fbUseFwBinning
Enables firmware binning (some implementations ignore this)
virtual ~CbmStsUnpackConfig()
Destroy the Cbm Sts Unpack Task object.
CbmStsUnpackConfig(const CbmStsUnpackConfig &)=delete
Copy constructor - not implemented.
void SetMinAdcCut(uint32_t value)
Set the minimum adc cut value.
void SetMinAdcCut(uint32_t febid, uint32_t value)
void InitAlgo()
Initialize the algorithm, should include all steps needing te parameter objects to be present....
void SetMonitor(std::shared_ptr< CbmStsUnpackMonitor > value)
Add a monitor to the unpacker.
uint32_t fdAdcCut
Minimum adc cut to store a hit.
CbmStsUnpackConfig(std::string detGeoSetupTag, UInt_t runid=0)
Create the Cbm Sts Unpack Task object.
std::shared_ptr< CbmStsUnpackMonitor > GetMonitor()
Get the potentially added monitor.
void SetDuplicatesRejection(bool bIn=true, bool bDiffAdc=true)
Enable/Disable the duplicate digis rejection, without or with same ADC checks.
std::vector< FebChanMaskReco > fvChanMasks
Temporary storage of user parameters.
void SetWalkMap(const std::map< uint32_t, CbmStsParModule > &mapIn)
Set Time-Walk correction map.
bool fbRejectDuplicateDigis
Enables the rejection of duplicate digis.
bool fbDupliWithoutAdc
If rejecting duplicate digis, enables rejection even if ADC differs.
std::map< uint32_t, CbmStsParModule > fWalkMap
Time-Walk Parameters map.