15#ifndef CbmMuchUnpackConfig_H
16#define CbmMuchUnpackConfig_H
22#include "CbmRecoUnpackConfig.tmpl"
25#include <RtypesCore.h>
32class CbmMuchUnpackConfig :
public CbmRecoUnpackConfig<CbmMuchUnpackAlgo, CbmMuchDigi, CbmMuchDigi, CbmErrorMessage> {
127 virtual std::shared_ptr<CbmMuchUnpackAlgo>
chooseAlgo();
130 std::shared_ptr<CbmMuchUnpackMonitor>
fMonitor =
nullptr;
MUCH unpacker algorithms.
void SetParFileName(std::string sNewName)
Sets the name of the parameter file to be used.
CbmMuchUnpackConfig(const CbmMuchUnpackConfig &)=delete
Copy constructor - not implemented.
void MaskNoisyChannel(UInt_t uFeb, UInt_t uChan, Bool_t bMasked=kTRUE)
void SetMinAdcCut(uint32_t febid, uint32_t value)
void SetNoisyChannelFile(TString fileName)
std::map< uint32_t, uint32_t > fdAdcCut_perFeb
Minimum adc cut per Feb to store a hit.
virtual ~CbmMuchUnpackConfig()
Destroy the Cbm Sts Unpack Task object.
void InitAlgo()
Initialize the algorithm, should include all steps needing te parameter objects to be present....
void SetMonitor(std::shared_ptr< CbmMuchUnpackMonitor > value)
Add a monitor to the unpacker.
bool fbDupliWithoutAdc
If rejecting duplicate digis, enables rejection even if ADC differs.
CbmMuchUnpackConfig & operator=(const CbmMuchUnpackConfig &)=delete
Assignment operator - not implemented.
void SetAsicTimeOffset(size_t asicid, double value)
Set the Asic Time Offset.
void SetMinAdcCut(uint32_t value)
Set the minimum adc cut value.
bool fbRejectDuplicateDigis
Enables the rejection of duplicate digis.
uint32_t fdAdcCut
Minimum adc cut to store a hit.
std::shared_ptr< CbmMuchUnpackMonitor > fMonitor
pointer to the monitor object
virtual std::shared_ptr< CbmMuchUnpackAlgo > chooseAlgo()
Choose the derived unpacker algorithm to be used for the DAQ output to Digi translation....
std::vector< double > fvdTimeOffsetNsAsics
Vector with the Asic time offsets.
TString fInactiveChannelFileName
std::string fsParFileName
Parameter file name.
std::vector< FebChanMaskReco > fvChanMasks
Temporary storage of user parameters.
virtual std::pair< size_t, bool > ReadInactiveChannels()
Read Inactive Channel list based on CbmMuchAddress from a file.
std::shared_ptr< CbmMuchUnpackMonitor > GetMonitor()
Get the potentially added monitor.
CbmMuchUnpackConfig(std::string detGeoSetupTag, UInt_t runid=0)
Create the Cbm Sts Unpack Task object.
void SetDuplicatesRejection(bool bIn=true, bool bDiffAdc=true)
Enable/Disable the duplicate digis rejection, without or with same ADC checks.